私は C# と Microsoft Speech プラットフォームの両方に比較的慣れていませんが、無料のディクテーションを書き起こす必要があるサーバー アプリケーションに取り組んでいます。MS Speech Platform SDK は完璧に見え、GrammarBuilder で AppendDictation() メソッドを参照しない限り、サーバー上で動作します。
Microsoft Speech Platform SDK 11 を使用しており、文法を定義するとアプリケーションは正常に動作しますが、AppendDictation() を追加すると、次のエラーが発生します。
Cannot find grammar referenced by this grammar.
ドキュメントのこのサンプルでさえ失敗するようです:
GrammarBuilder startStop = new GrammarBuilder();
GrammarBuilder dictation = new GrammarBuilder();
dictation.AppendDictation();
startStop.Append(new SemanticResultKey("StartDictation", new SemanticResultValue("Start Dictation",true)));
startStop.Append(new SemanticResultKey("DictationInput", dictation));
startStop.Append(new SemanticResultKey("StopDictation", new SemanticResultValue("Stop Dictation", false)));
Grammar grammar=new Grammar(startStop);
grammar.Enabled=true;
grammar.Name=" Free-Text Dictation ";
_recognizer.LoadGrammar(grammar);
奇妙なことに、LoadGrammar を LoadGrammarAsync に変更すると、文法が読み込まれます (または、少なくともイベント ハンドラーが呼び出されます) が、認識エンジンは次のエラーで失敗します。
Error: At least one grammar must be loaded before doing a recognition.
プラットフォームのサーバー バージョンがディクテーションをサポートしていないことを読みましたが、機能しない方法で出荷されるのは奇妙に思えます。サーバーでディクテーション文法を動作させることに成功した人はいますか? 私は何を間違っていますか?
どうもありがとう