音声認識-SpeechRecognitionEngine
通常なら、音声認識エンジン(SpeechRecognizer?)は、SAPISVR.EXE という別のプロセスでインスタンス化されているものを、複数のアプリケーションで共有して利用することにより、リソースの消費を節約しています。
ただし、様々な問題(個人的な見解)もあると思います。
- エンジンの起動が遅い
- 細かな設定をしたい
- 明示的に認識の開始・終了を制御したい
このような場合に利用するのが、SpeechRecognitionEngine?クラスです。
SpeechRecognitionEngine?クラスを利用することにより、「入力を音声(マイクからの声)ではなく、音声ファイル(WAV)から行う」など、SpeechRecognizer?では行えなった事ができるようになります。
まとめてみると bookmark
- Vistaが利用している音声認識(音声認識バー)を利用せずに、自分で認識の開始・終了などの制御をしなければならない
- 認識エンジンの起動が早い
- SpeechRecognizer?より様々なオプションが利用できる。
- 明示的に認識の開始・終了を制御できる
- リソースを消費する
- 標準のUIを利用できない
このような感じです。個人的には、SpeechRecognitionEngine?を利用します。なぜなら、SpeechRecognizer?は音声認識の状況を、UI(SpeechUI)に表示する為、わずらわしいので・・・