模糊仿真识别Windows语音识别

时间:2013-09-04 20:48:02

标签: c# speech-recognition fuzzy-search

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

根据文件:

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

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

  • 有了Audio,我可以很自信地说Hello,Helo,Helllo
  • 使用Text,引擎非常严格

编辑:为了什么目的?

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

让我们说你的手机并使用HTML5 SpeechRecognition。我想将识别的文本发送到引擎以获得与语音相同的行为

3 个答案:

答案 0 :(得分:1)

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

SpeechRecognizer.EmulateRecognize

非常简单并且测试给定的字符串,但

SpeechRecognizer.SimulateRecognize

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

所以效果很好!

答案 1 :(得分:0)

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

没有办法解决这个问题,不涉及大量工作(例如,实现仅 <{1}}的SAPI兼容SR引擎。

答案 2 :(得分:0)

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