来自wav文件的C#语音识别,我需要得到每个单词的时间 - lipsync

时间:2012-11-12 08:31:54

标签: c# speech-recognition wav timespan

我已经从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"之类的东西才能获得时机,如果没有其他方式来获得带有识别事件的单词,或者第二个选项就是玩wav文件如2秒,识别一个字或一半,然后完成。这完全是为了获得某种时机。

也许所有这些都是复杂的想法,因为我不知道C#。

1 个答案:

答案 0 :(得分:-1)

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

http://www.freakngenius.com/

如果你想制作自己的解决方案,那么一个想法可能就是在不同的点观察音频的音量。音量下降可能表示单词之间存在中断。