オーディオファイルを取得して解析し、そこからテキストを抽出できるビルドインライブラリまたはJavaまたはC#の外部ライブラリがあるかどうかを知りたいだけです。
申請する必要がありますが、どこから始めればいいのかわかりません。
オーディオファイルを取得して解析し、そこからテキストを抽出できるビルドインライブラリまたはJavaまたはC#の外部ライブラリがあるかどうかを知りたいだけです。
申請する必要がありますが、どこから始めればいいのかわかりません。
オプションのいくつかを次に示します。
これは、C#とSystem.Speechを使用した完全な例です。
コードは2つの主要な部分に分けることができます:
SpeechRecognizedイベントとSpeechHypothesizedイベントを処理するSpeechRecognitionEngineオブジェクト(およびその必須要素)を構成します。
ステップ1:SpeechRecognitionEngineを構成する
_speechRecognitionEngine = new SpeechRecognitionEngine();
_speechRecognitionEngine.SetInputToDefaultAudioDevice();
_dictationGrammar = new DictationGrammar();
_speechRecognitionEngine.LoadGrammar(_dictationGrammar);
_speechRecognitionEngine.RecognizeAsync(RecognizeMode.Multiple);
この時点で、オブジェクトはマイクからの音声の転写を開始する準備ができています。ただし、実際に結果にアクセスするには、いくつかのイベントを処理する必要があります。
ステップ2:SpeechRecognitionEngineイベントの処理
_speechRecognitionEngine.SpeechRecognized-= new EventHandler(SpeechRecognized); _speechRecognitionEngine.SpeechHypothesized-= new EventHandler(SpeechHypothesizing);
_speechRecognitionEngine.SpeechRecognized + = new EventHandler(SpeechRecognized); _speechRecognitionEngine.SpeechHypothesized + = new EventHandler(SpeechHypothesizing);
private void SpeechHypothesizing(object sender、SpeechHypothesizedEventArgs e){///エンジン文字列からのリアルタイム結果realTimeResults = e.Result.Text; }
private void SpeechRecognized(object sender、SpeechRecognizedEventArgs e){///エンジン文字列からの最終回答finalAnswer = e.Result.Text; }
それでおしまい。マイクの代わりに録音済みの.wavファイルを使用する場合は、
_speechRecognitionEngine.SetInputToWaveFile(pathToTargetWavFile);
それ以外の
_speechRecognitionEngine.SetInputToDefaultAudioDevice();
これらのクラスにはさまざまなオプションがあり、さらに詳しく調べる価値があります。
SoX(サウンド処理プログラムのスイスアーミーナイフ)を使用して、オーディオファイルをサウンドの周波数/音量に対応する数値のテキストファイルに変換できます。
以前のプロジェクトで実行しましたが、正確なコマンドオプションがわかりません。
プロジェクトへのリンクは次のとおりです:http ://sox.sourceforge.net/Main/HomePage
MicrosoftSpeechAPIを確認してください。彼らはあなたがあなたの目的のために使うことができるSDKを提供すると思います。
Javaの場合、Sunからの解決策があるようです:javax.speech.recognition