当前位置: 首页 > 知识库问答 >
问题:

Python中的实时脱机语音识别

孙震博
2023-03-14

我已经在Python语音识别方面工作了一个多月,制作了一个类似JARVIS的助手。我将语音识别模块与Google语音API和Pocketsphinx一起使用,并且直接使用了Pocketsphinx,没有使用其他模块。虽然识别是准确的,但我很难处理这些软件包处理语音所需的大量时间。它们的工作方式似乎是从一个静默点记录到另一个静默点,然后将记录传递到STT引擎。在录制过程中,无法录制其他声音以进行识别,如果我试图连续发出多个复杂命令,这可能是一个问题。

当查看Google Assistant voice recognition、Alexa的voice recognition或Mac OS High Sierra的offline recognition时,我看到我说话的时候,单词被识别出来,录音中没有任何停顿。我见过这叫做实时识别、流式识别和逐字识别。有没有什么方法可以在Python中做到这一点,最好是离线而不使用客户端

我尝试(未成功)通过更改SpeechRecognition识别器的暂停阈值、说话阈值和非说话阈值来实现这一点,但这只会导致音频出现奇怪的分段,每次识别后仍需要一秒钟才能再次录制。

共有1个答案

庾兴发
2023-03-14

Pocketsphinx可以处理流,请参见此处

通过麦克风识别Python pocketsphinx

Kaldi也可以处理流(比Pocketsphenx更精确)

https://github.com/alphacep/kaldi-websocket-python/blob/master/test_local.py

Google语音API也可以处理流,请参见此处:

音频流Python上的Google流语音识别

 类似资料:
  • 有人能帮我吗? 我正在开发一个通过RecognizerIntent进行语音识别的应用程序。 哪一个Android版本正式带来了API对应用程序的离线识别?有什么声明吗 据我所知,如果语音识别将通过在线服务或离线词典完成,开发人员无法选择。我说得对吗?或者是否有任何记录在案的API可以脱机设置 谢谢

  • Java中是否有任何方法可以检测Android设备是否安装了脱机语音识别语言,以及它是否不会提示用户下载该语言? 我知道您可以要求语音对文本以选择脱机语音对文本,但您如何知道设备是否安装了该语言? 这个问题不是关于如何使用脱机语音,这是可行的。问题是“如何从Java应用程序代码中检测和下载/安装脱机语音语言”。i、 e.让应用程序检测他们是否安装了离线德语,如果没有,则提示用户下载/安装。

  • 我对谷歌离线语音识别进行了研究。但它在google nexus 5(操作系统:-4.4)中运行良好,但如果我在三星galaxy s5(操作系统:-5.0)中实现,则会出现相同的版本,它无法识别,并显示以下错误: 8-ERROR_RECOGNIZER_BUSY。 下面是我的代码。通过保留此链接作为参考,我进行了更改http://www.truiton.com/2014/06/android-spee

  • 本文向大家介绍python语音识别实践之百度语音API,包括了python语音识别实践之百度语音API的使用技巧和注意事项,需要的朋友参考一下 百度语音对上传的语音要求目前必须是单声道,16K采样率,采样深度可以是16位或者8位的PCM编码。其他编码输出的语音识别不出来。 语音的处理技巧: 录制为MP3的语音(通常采样率为44100),要分两步才能正确处理。第一步:使用诸如GoldWave的软件,

  • A.我正在努力实现的目标。 允许在网络浏览器内进行实时语音识别的网络应用程序(像这样)。 B.我目前正在考虑使用的技术来实现A。 JavaScript 节点。js WebRTC 微软语音API或Pocketsphinx。js或其他东西(不能使用Web语音API) C.非常基本的工作流程 Web浏览器建立到节点服务器的连接(服务器充当信令服务器,还提供静态文件) D.问题 将节点。js是否适合实现C

  • 我正在开发一个用于实时翻译的Python应用程序。我需要实时识别语音:当用户说话时,它会自动将这段音频发送到谷歌语音API并返回文本。因此,我希望在说话时立即显示已识别的文本。 我发现了流式语音识别,但似乎我仍然需要先录制完整的语音,然后将其发送到服务器。此外,没有关于如何在Python中使用它的示例 是否可以使用Google Speech API执行此操作?