私はすでにwavファイルから音声認識のソリューションを構築し、リップシンクアプリケーション用に単語を分割しています。音声認識システムに必要なのは、単語とwavファイル内のタイミングです。すべての単語のタイミングを取得する必要があります。文字 (文字) でさえ、どのようなタイプのタイミングでも機能します。SpeechRecognizedEventArgs
" " 試したイベント " " では実行できませんSpeechDetected
。検出の開始が返されます。機能する可能性があります。私は試した:
static void recognizer_SpeechDetected(object sender, SpeechDetectedEventArgs e)
{
Console.WriteLine(" Speech detected at AudioPosition = {0}", e.AudioPosition);
// TimeSpan interval = new TimeSpan(0, 0, 01);
// Console.WriteLine(interval.ToString())
}
オーディオが開始するまでに数ミリ秒かかります。
認識されたイベント内のAudioPositionは、wavファイルの完全な時間を提供します。
私が考えていること"foreach"
は、単語で認識されたイベントでそれを取得する他の方法がない場合、タイミングを取得するためにループのようなものが必要か、または2番目のオプションは2秒のようなwavファイルを再生し、単語または半分を認識してから完了することです. ある種のタイミングを得ることがすべてです。
おそらく、これらはすべて複雑なアイデアであり、C# を知らないからです。