2012-02-28 10 views
6

私はSpeechRecognitionEngineで音声を認識するために使用されるGrammarBuildersとGrammerのプログラムを持っています。オーディオから認識するのではなく、入力されたコマンド(文字列)を認識するために同じ文法を使用できますか? commandGrammar.parse(commandString)のようなもの?音声認識のための簡単な文法

+0

+1本当に興味深い考えです。テキスト読み上げ、テキスト読み上げはどうですか? – Jason

+0

音声認識APIを使って真剣にプレイしてから約1年経ちました。私の印象と理解は時代遅れですが、音声認識の文法を許すことはできませんそれは特定の声を認識するのですか?あなたはテキストからそれを得ることはありません。 –

+0

いいえ、このインスタンスのポイントは、「30秒後にこれを行う」のようなロジックベースの入力を得ることです。音声アルゴリズムは現時点で問題なく処理できますが、誰かがそれを入力するとどうなりますか?これを行うにはかなり簡単な方法があるはずです。音声認識によってテキストに変換された後、解析されます。 –

答えて

3

SpeechRecognitionEngine.EmulateRecognizeは音声認識のために音声の代わりにテキスト入力を使用することができます。

私は意図された使用はわかりませんが、IMやSMSでテキスト入力と自動的にやりとりするチャットボットのようなものに使用される場合は、文法が非常に扱いにくく制限があると思います。私はテキストの応答を処理するためにArtificial Intelligence Markup Language (AIML)のようなものをお勧めします。それは学びやすく、非常に強力です。 ASRが必要とする簡潔な文法を使用する代わりに、この言語を使用すると、テキスト入力に非常に役立つワイルドカードを使用できます。 AIMLを使用してチャットボットの作成を簡略化するライブラリを提供するC#open source projectsもあります。

+0

テキスト入力に使用するSpeechRecognitionEngineメソッドを含めるように私の答えを編集しました。 –

+0

そのメソッドへのポインタをありがとう。私はNUnitを介して文法ファイルをテストするためにそれを使用しています。 –