音声認識-SpeechRecognitionEngine

通常なら、音声認識エンジン(SpeechRecognizer?)は、SAPISVR.EXE という別のプロセスでインスタンス化されているものを、複数のアプリケーションで共有して利用することにより、リソースの消費を節約しています。
ただし、様々な問題(個人的な見解)もあると思います。

  • エンジンの起動が遅い
  • 細かな設定をしたい
  • 明示的に認識の開始・終了を制御したい
    このような場合に利用するのが、SpeechRecognitionEngine?クラスです。
    SpeechRecognitionEngine?クラスを利用することにより、「入力を音声(マイクからの声)ではなく、音声ファイル(WAV)から行う」など、SpeechRecognizer?では行えなった事ができるようになります。

まとめてみると bookmark

  • Vistaが利用している音声認識(音声認識バー)を利用せずに、自分で認識の開始・終了などの制御をしなければならない
  • 認識エンジンの起動が早い
  • SpeechRecognizer?より様々なオプションが利用できる。
  • 明示的に認識の開始・終了を制御できる
  • リソースを消費する
  • 標準のUIを利用できない

このような感じです。個人的には、SpeechRecognitionEngine?を利用します。なぜなら、SpeechRecognizer?は音声認識の状況を、UI(SpeechUI)に表示する為、わずらわしいので・・・