跳转到主要内容

【转录实时音频流】使用OpenAI Whisper近乎实时地转录实时音频流,用于关键字监控

在这篇文章中,我演示了如何使用Python中的OpenAI Whisper近乎实时地转录实时音频流。我们这样做是为了监视流中的特定关键字。此外,转录后的文本会记录时间戳以供进一步使用。通过对转录的文本进行模糊匹配,我们可以找到对关键词的提及。然后,我们通过信号信使向包含口语段落相关部分的团体或个人触发一条信息。

背景

这是一个在周末建立的快速POC:为了赢得比赛,我想监控当地电台是否提到了一些关键词。这需要迅速完成,这产生了一个简单的解决方案。此外,它必须尽可能节约资源,以最大限度地降低基础设施成本。虽然它并不是以稳定性为主要关注点来构建的,但它实际上在几周内表现完美,没有任何停机时间。因此,目标实现了!

所有代码在此回购中都可用。在下文中,我将介绍解决方案的总体结构,并解释代码的一些相关部分。

概述

该解决方案由三部分组成:

save_stream.py从实时音频流中以30秒为单位连续保存.mp3文件

transcript.py使用OpenAI Whisper永久转录每个音频块。然后,它使用模糊匹配来监控口语中的关键词。在比赛中,它调用msg_group_via_signal.sh