我需要开发语音识别应用程序,将电话录制的音频转换为文本,我使用的是Microsoft语音API 5.1。
我不应该使用任何选择,所以我使用的是听写语法课。我没有达到100%的准确率。
请帮助我达到100%的准确性,如果有任何第三方工具可用,意味着它也是受欢迎的。
开发环境:windows xp,.Net Framework 3.5,C#。
这里是我的代码:
class Program
{
static void Main(string[] args)
{
SpeechRecognitionEngine recognizer =new SpeechRecognitionEngine()
// Create and load a dictation grammar.
recognizer.LoadGrammar(new DictationGrammar());
recognizer.MaxAlternates = 5;
// Add a handler for the speech recognized event.
recognizer.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
//Configure input to the speech recognizer.
recognizer.SetInputToWaveFile("Record_210114090634.wav");
// Start asynchronous, continuous speech recognition.
recognizer.RecognizeAsync(RecognizeMode.Multiple);
}
static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
Console.WriteLine(e.Result.Text);
}
}
答案 0 :(得分:1)
无论您做什么,SAPI 5.1中的听写识别引擎都无法识别电话质量(8 KHz 8位)音频。对于任何合理的错误率,它需要22KHz的16位音频。
即使这样,SAPI 5.1听写引擎也需要依赖于说话者的培训,即使对于不重音的美国英语也是如此。
即使是最新的SAPI 5.4 SR引擎也需要22KHz的16位音频,尽管它们可以更好地工作而无需训练无重音的声音。 (重音的声音仍然需要训练。)