我一直致力于提高我的代码的性能,该代码使用Windows语音API专门用于一些必不可少的命令,例如打开文件,向上滚动,向下滚动等。
虽然大多数命令似乎都被很好地识别但是当有类似发音的字符如B,D,G,P时,代码表现不佳。经过一些严格的搜索,我发现可能我们可以将语义添加到语法构建器中,如下所示,即我们可能会提供许多模糊的B语义相同的语义值,D类似,但它可能不是一个好主意。另一种方法可以是声学训练,方法是使用切换进出训练模式的ISpRecognizer2::SetTrainingState
打开训练模式。
Choices digits = new Choices();
GrammarBuilder digitValues = new GrammarBuilder();
SemanticResultValue temp = new SemanticResultValue("B", B);
digits.Add(temp);
digitValues.Append(temp);
temp = new SemanticResultValue("Bee", B);
digits.Add(temp);
digitValues.Append(temp);
temp = new SemanticResultValue("Ba", B);
digits.Add(temp);
digitValues.Append(temp);
请提出一些解决方案,以便解决类似发声词之间的歧义。另请建议完整实施声学模型的培训。感谢。