连续语音识别Android - 没有差距

Ron*_*ici 11 android speech-recognition speech recognizer-intent

我有一个实现的活动RecognitionListener.为了使它连续,每次onEndOfSpeech()我再次启动监听器:

speech.startListening(recognizerIntent);
Run Code Online (Sandbox Code Playgroud)

但是,它需要一些时间(大约半秒钟),直到它开始,所以有这个半秒的差距,没有什么是听.因此,我想念那个时差中所说的话.

另一方面,当我使用谷歌的语音输入时,指示消息而不是键盘 - 这个时间差距不存在.意义 - 有一个解决方案.

它是什么?

谢谢

Nan*_*tey 5

我建议使用CMUSphinx连续识别语音。要使用Google语音识别API实现连续语音识别,您可能必须诉诸于后台服务中的循环,这会占用过多资源并消耗设备电池。

另一方面,Pocketsphinx的确很棒。它的速度足够快,可以在锁定屏幕后发现关键短语并识别语音命令,而无需用户触摸其设备。它可以离线完成所有这一切。您可以尝试演示

如果您真的想使用Google的api,请参阅此


Rob*_*ree 2

尝试查看其他几个 api......

语音演示:这里有源代码,在这里进行讨论,并在 CLI 上操作

你可以使用全双工谷歌API(其速率上限为每天50)

或者,如果您喜欢这个总体想法,请查看此处讨论的 ibm 沃森

IMO-它更复杂但没有上限。