Microsoft C#API提供SpeechRecognitionEngine来识别音频流。测试识别的一种方法是调用方法 SpeechRecognizer.EmulateRecognize
根据文件:
recognizers ignore case and character width when applying
grammar rules to the input phrase
我想知道是否有办法处理更多模糊字符串,因为即使是拼写错误的文字,信心也很低!远离现实......
编辑:为了什么目的?
我的语音引擎工作正常,但我也希望从文本输入中触发它。
让我们说你的手机并使用HTML5 SpeechRecognition。我想将识别的文本发送到引擎以获得与语音相同的行为
答案 0 :(得分:1)
好的,我找到了答案! 我应该更好地阅读文档!
SpeechRecognizer.EmulateRecognize
非常简单并且测试给定的字符串,但
SpeechRecognizer.SimulateRecognize
将尝试构建输入短语的“理想化”音频表示(基于引擎的词典和声学模型)
所以效果很好!
答案 1 :(得分:0)
当您将音频发送到识别器时,SR引擎会做很多工作来创建一组音素(通过声学建模),然后创建一组字符串(通过音素建模)。在此过程中,大部分歧义都被消除了。 EmulateRecognize
不会生成通过SR引擎处理的音频;它会跳过所有建模并只进行字符串匹配。
没有办法解决这个问题,不涉及大量工作(例如,实现仅 <{1}}的SAPI兼容SR引擎。
答案 2 :(得分:0)
在SpeechSynthesizer.Speak()中输入您的字符串并将其用作SpeechRecognitionEngine的输入?