【问题标题】:How to give priority levels to grammars in SAPI?如何为 SAPI 中的语法赋予优先级?
【发布时间】:2012-06-27 15:16:11
【问题描述】:

我正在使用 SAPI 创建一个语音识别应用程序。我需要能够为我使用的不同语法赋予不同的优先级。 (听写语法和我定义的其他语法)我需要识别器在我定义的语法中进行搜索,并且仅当语音输入与我定义的语法中的任何单词都不匹配时才查看听写语法。 现在我有这样的代码:

Grammar myGram;
Choices myEditor = new Choices();
myEditor.Add("public");
//adding other choices
myGram = new Grammar(new GrammarBuilder(myEditor));
SpeechRecognitionEngine recognizer = new SpeechRecognitionEngine();
recognizer.LoadGrammar(myGram);
Grammar dictation = new DictationGrammar();
dictation.Name = "Dictation Grammar";
recognizer.LoadGrammar(dictation);
recognizer.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(
               SpeechRecognizedHandler);
recognizer.SetInputToDefaultAudioDevice();
recognizer.RecognizeAsync(RecognizeMode.Multiple);

请告诉我如何将 myGram 优先于听写语法。 :)

【问题讨论】:

    标签: c# .net speech-recognition speech sapi


    【解决方案1】:

    如果您使用符合 SRGS 的语法,您可以使用 weights 基本上分配优先级。 Grammar 对象确实支持符合 W3C SRGS specification 的 xml 格式语法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-12
      • 2012-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-24
      • 1970-01-01
      相关资源
      最近更新 更多