模糊模拟识别在 Windows 语音识别上

本文关键字:语音识别 Windows 模拟 识别 模糊 | 更新日期: 2023-09-27 18:30:23

Microsoft C# API 提供了一个 SpeechRecognitionEngine 来识别音频流。测试识别的一种方法是调用方法语音识别器。

根据文档:

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

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

  • 有了音频,我可以自信地说你好,海洛,海洛
  • 使用文本,引擎非常严格

编辑:出于什么目的?

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

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

模糊模拟识别在 Windows 语音识别上

好的,

我找到了答案!我最好阅读文档!

SpeechRecognizer.EmulateRecognize

非常简单,可以测试给定的字符串,但是

SpeechRecognizer.SimulateRecognize

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

所以它工作得很好!

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

没有办法在不涉及大量工作的情况下解决此问题(例如,实现执行EmulateRecognize的 SAP 兼容 SR 引擎)。

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