ユーザーがマイクに向かって話すと、音素のライブ フィードを出力する必要がある小さなアプリケーションを作成しています。私の場合、精度よりも認識出力の速度が最優先事項です。C# の使用が優先されますが、別の言語やライブラリ (CMUSphinx など) を使用してより高速に処理できる場合は、切り替えます。
System.Speech.Recognition
とを併用DictationGrammar("grammar:dictation#pronunciation")
することで、マイクに向かって話すと音素を出力するシンプルで効果的な音素認識エンジンを作成できました。これは一般的に非常に正確です (SpeechRecognitionEngine.SpeechHypothesized
イベントにサブスクライブすると、ライブ出力を見ることができます)。問題は、ユーザーの発声と出力の間に最小で約 0.5 秒の遅延があり、プロジェクトでうまく機能しないことです。特に精度が高いことを考えると、一般的にこれはかなり高速であることはわかっていますが、精度が大幅に低下したとしても、もっと速いものが本当に必要です. SpeechRecognitionEngine
仮説をより速く吐き出すために、ウィンドウから精度を捨てるように構成する方法はありますか? を使用して公開された設定をいくつか見つけましSpeechRecognitionEngine.UpdateRecognizerSetting
たが、音素認識の出力にはほとんど影響がないようです。
私はまた、CMUSphinx という有望な音声認識プロジェクトも調査しました。Sphinx4 は Java のテストをコンパイルしてセットアップするのは簡単でしたが、音素をライブで出力するように構成する方法がわかりませんでした。単語認識は比較的遅かったです。ここでは、彼らの別のプロジェクトである pocketphinx を使用した音素認識に関するいくつかのメモを見つけました。ダウンロードしてコンパイルすることもできましたが、テストを正常に実行できませんでした。CMUSphinx や Pocketsphinx を音素で使っている人はいますか? 高速のライブ出力が可能ですか? それとも、さらに多くの代替手段がありますか?私は本当に非常に基本的なものを探していますが、高速です。
編集:音素を認識するポケットスフィンクスを取得できましたが、プロジェクトで使用するには遅すぎました