我一直在努力提高我的代码的性能,使用Windows语音API专门用于一些不可或缺的命令,例如打开文件,向上滚动,向下滚动等。
虽然大部分命令似乎都能被很好地识别,但是当有像B,D,G,P这样的发音相似的字符时,代码performance不佳 。经过一番严格的search之后,我发现我们可以把语义添加到语法构build器中,也就是说,我们可以给B提供许多含义相同的语义值,对于D也是类似的,但这可能不是一个好主意。 另一种方法可以是通过使用ISpRecognizer2::SetTrainingState
打开训练模式来进行声训练 ,该训练模式ISpRecognizer2::SetTrainingState
或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);
请build议一些解决scheme,以便类似的发音词之间的歧义可以解决。 也请build议声学模型的培训的完整实施。 谢谢。