我有一些使用整数的wav文件。我需要检测这些单个整数并转换为字符串。你可以从下载mp3文件: here
使用Microsoft SpeechRecognitionEngine
,我几乎无法从任何wav文件中检测到整数。
这是SRE设置:
sre.SetInputToWaveFile("D:\\Speeches\\Best3.wav");
sre.BabbleTimeout = new TimeSpan(Int32.MaxValue);
sre.InitialSilenceTimeout = new TimeSpan(Int32.MaxValue);
sre.EndSilenceTimeout = new TimeSpan(100000000);
sre.EndSilenceTimeoutAmbiguous = new TimeSpan(100000000);
答案 0 :(得分:0)
我认为你的一些超时值是极端的,但我能够得到各种wav
文件来解析这样的代码:
using System;
using System.Speech.Recognition;
namespace SR
{
class Program
{
static void Main(string[] args)
{
using (var sre = new SpeechRecognitionEngine())
{
sre.SetInputToWaveFile(@"D:\test.wav");
sre.LoadGrammar(new DictationGrammar());
sre.BabbleTimeout = new TimeSpan(Int32.MaxValue);
sre.InitialSilenceTimeout = new TimeSpan(Int32.MaxValue);
sre.EndSilenceTimeout = new TimeSpan(100000000);
sre.EndSilenceTimeoutAmbiguous = new TimeSpan(100000000);
var result = sre.Recognize();
Console.WriteLine(result.Text);
}
Console.ReadLine();
}
}
}
您需要致电LoadGrammar()
。可能有比DictationGrammar
更好的选择,但它适用于我的样本。
您还需要检查result
null
,因为如果识别失败,将会是这样。