1

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 を優先する方法についてアイデアを教えてください。:)

4

1 に答える 1

2

SRGS 準拠の文法を使用する場合、重みを使用して基本的に優先度レベルを割り当てることができます。Grammarオブジェクトは、 W3C SRGS 仕様に準拠する xml 形式の文法をサポートしています。

于 2012-06-27T15:41:15.307 に答える