微软语音识别速度
Posted
技术标签:
【中文标题】微软语音识别速度【英文标题】:Microsoft Speech Recognition Speed 【发布时间】:2011-08-14 19:06:18 【问题描述】:我正在使用 Microsoft 的语音识别器开发一个小型练习应用程序。对于我正在做的事情,我似乎无法让它足够快地识别单个单词。我希望能够正常说话,系统将从我所说的内容中获取“关键字”并生成一个字符串。目前我正在使用 5 个单词的自定义语法。红、蓝、黄、绿、橙。例如,如果我说红色蓝色黄色。引擎将抓住“红色”,其余的进入虚空。
我尝试过使用以下方法:
sr.RecognizeAsync(RecognizeMode.Single)
然后在 Audiostate 更改为“已停止”后将其重置回单模式。这还不够快,无法捕捉下一个单词。想法?
【问题讨论】:
【参考方案1】:你试过PauseRecognizerOnRecognition。我看起来这个函数会在处理之前的音频时缓冲你的音频输入。
从上面的 MSDN 链接:
当 PauseRecognizerOnRecognition 为 true 时,在执行 SpeechRecognized 处理程序,语音识别服务暂停并 在新音频输入到达时对其进行缓冲。一旦 SpeechRecognized 事件 处理程序退出,语音识别服务恢复识别和 开始处理来自其输入缓冲区的信息。
【讨论】:
结合 RecognizerAudioPosition 我能够得到我正在寻找的结果。非常感谢! 你能展示一下你是如何做到这一点的吗?我也遇到了同样的问题。 @PhloxMidas 我只是为他指出了正确的方向,他自己解决了其余的问题,但不幸的是,自从他提出这个问题以来,他一直没有参与。我指给他的函数将缓冲输入并根据他使用 RecognizerAudioPosition 设置他正在读取的缓冲区中的位置的评论来判断。 我的问题是 PauseRecognizerOnRecognition 仅适用于 SpeechRecognizer 而不是我正在使用的 SpeechRecognitionEngine。此外,没有办法设置 RecognizerAudioPosition 所以我不知道他是如何使用它的。如果我找到答案,我会处理并发布答案。以上是关于微软语音识别速度的主要内容,如果未能解决你的问题,请参考以下文章