2

我已经从 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#。

4

1 回答 1

-1

如果您不想自己编写整个代码,该公司提供的产品符合您的描述:

http://www.freakngenius.com/

如果您确实想制定自己的解决方案,那么一个想法可能是查看不同点的音频音量。音量的下降可能表示单词之间的中断。

于 2013-09-06T20:18:22.607 回答