我已经从 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 秒那样播放 wav 文件并识别一个或一半单词然后完成. 一切都是为了获得某种时机。
也许所有这些都是复杂的想法,因为我不懂 C#。