Python中的实时离线语音识别

Python中的实时离线语音识别,python,real-time,speech-recognition,Python,Real Time,Speech Recognition,我已经在Python语音识别方面工作了一个多月了,制作了一个类似JARVIS的助手。我用过谷歌语音API和Pocketsphinx的语音识别模块,也直接用过Pocketsphinx,没有其他模块。虽然识别是准确的,但由于这些软件包处理语音所花费的时间太长,我一直在努力工作。它们的工作方式似乎是从一个静默点记录到另一个静默点,然后将记录传递到STT引擎。在录制过程中,无法录制其他声音以进行识别,如果我试图连续发出多个复杂命令,这可能是一个问题 当我查看谷歌助手语音识别、Alexa语音识别或Mac

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

当我查看谷歌助手语音识别、Alexa语音识别或Mac OS High Sierra离线识别时,我看到在录音过程中没有任何停顿地说出单词时,单词被识别出来。我见过这叫做实时识别、流式识别和逐字识别。有没有办法在Python中做到这一点,最好是离线而不使用客户端


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

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

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

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


您对此有任何更新吗?也许你找到了答案,我正在寻找资源或现有的解决方案来写类似的东西。提前感谢可能。。。使用并行进程@kolboc有进展吗?