SpeechRecognitionEngine sre = new SpeechRecognitionEngine();
Choices clist = new Choices();
// just assume I have added words in clist not shown here
Grammar gr = new Grammar(new GrammarBuilder(clist));
sre.RequestRecognizerUpdate();
sre.LoadGrammar(gr);
sre.SpeechRecognized += sre_SpeechRecognized;
sre.SetInputToDefaultAudioDevice();
sre.RecognizeAsync(RecognizeMode.Multiple);
void sre_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
//This only outputs words present in grammar
Console.WriteLine(e.Result.Text);
}
简而言之,为什么我们需要语音识别语法。如果需要语法,重点是什么。如果识别器必须匹配语法中存在的字符串,为什么我们只能输出语音识别器在没有语法的情况下识别的内容?
谢谢,并在我错的地方纠正我。
答案 0 :(得分:3)
我们使用语法来区分押韵词或者词的发音方式。你好和黄色示例。 link的样本有一个很好的解释。你好涉及问候语法,黄色涉及颜色语法。 提高了识别的效率/准确性。
如果语法规则或语法内部的分组很聪明, 开发人员可以在系统进入时启用和禁用方案 一个特定的国家。它可以提供上下文,在某些情况下,更好 系统正在监听的单词的准确性。
您还可以参考MSDN链接以了解Purpose of Grammars上的详细信息。
它有助于代码提供限制词汇,自定义词汇,过滤识别结果和识别规则等功能