1

Microsoft C# API 提供 SpeechRecognitionEngine 来识别音频流。测试识别的一种方法是调用方法SpeechRecognizer.EmulateRecognize

根据文档:

recognizers ignore case and character width when applying 
grammar rules to the input phrase

我想知道是否有办法处理更模糊的字符串,因为即使对于拼写错误的文本,信心也很低!远离现实生活...

  • 有了音频,我可以满怀信心地说 Hello、Helo、Hello
  • 使用 Text 引擎非常严格

编辑:出于什么目的?

我的语音引擎工作正常,但我也想从文本输入中触发它。

假设您在手机上使用 HTML5 SpeechRecognition。我想将识别的文本发送到引擎以获得与语音相同的行为

4

3 回答 3

1

好的,我找到了答案!我应该更好地阅读文档!

SpeechRecognizer.EmulateRecognize

真的很简单并测试给定的字符串但是

SpeechRecognizer.SimulateRecognize

将尝试构建输入短语的“理想化”音频表示(基于引擎的词典和声学模型)

所以效果很好!

于 2013-09-12T22:16:10.727 回答
0

当您向识别器发送音频时,SR 引擎会做很多工作来创建一组音素(通过声学建模),然后创建一组字符串(通过音素建模)。在这个过程中,大部分的歧义都被消除了。EmulateRecognize不生成通过 SR 引擎处理的音频;它跳过所有建模,只进行字符串匹配。

没有办法解决这个不涉及大量工作的问题(例如,实现一个与 SAPI 兼容的 SR 引擎,它只做EmulateRecognize

于 2013-09-05T23:26:34.563 回答
0

在 SpeechSynthesizer.Speak() 中输入您的字符串并将其用作 SpeechRecognitionEngine 的输入?

于 2013-09-12T11:33:13.750 回答