Soc*_*Bit 4 speech-recognition speech-to-text asp.net-mvc-2
我正在构建一个用于录制语音消息的Web应用程序,并且正在寻找将语音消息转换为文本的最佳选项.有没有人对使用什么进行转换有一些建议?System.Speech会工作吗?
System.Speech是一个以客户为中心的API.Vista和Windows 7包括System.Speech的语音引擎.您可以将此用于转录,因为Microsoft提供的客户端语音引擎包含听写语法.
Microsoft提供的服务器语音引擎不包含听写语法,因此它们更难以用于转录.用于服务器识别的.NET命名空间是Microsoft.Speech,10.2版本的完整SDK可从http://www.microsoft.com/downloads/en/details.aspx?FamilyID=1b1604d3-4f66-4241-9a21-获取. 90a294a5c9a4.语音引擎是免费下载的.
为了开始使用.NET语音,几年前在http://msdn.microsoft.com/en-us/magazine/cc163663.aspx上发表了一篇非常好的文章.这可能是迄今为止我发现的最好的介绍性文章.它有点过时了,但非常好.(测试结束后,AppendResultKeyValue方法被删除了.)
这是一个快速示例,它显示了一个最简单的.NET窗体应用程序,可以使用我能想到的听写语法.这应该适用于Windows Vista或Windows 7.我创建了一个表单.在它上面放了一个按钮,使按钮变大.添加了对System.Speech和行的引用:
using System.Speech.Recognition;
Run Code Online (Sandbox Code Playgroud)
然后我将以下事件处理程序添加到button1:
private void button1_Click(object sender, EventArgs e)
{
SpeechRecognitionEngine recognizer = new SpeechRecognitionEngine();
Grammar dictationGrammar = new DictationGrammar();
recognizer.LoadGrammar(dictationGrammar);
try
{
button1.Text = "Speak Now";
recognizer.SetInputToDefaultAudioDevice();
RecognitionResult result = recognizer.Recognize();
button1.Text = result.Text;
}
catch (InvalidOperationException exception)
{
button1.Text = String.Format("Could not recognize input from default aduio device. Is a microphone or sound card available?\r\n{0} - {1}.", exception.Source, exception.Message);
}
finally
{
recognizer.UnloadAllGrammars();
}
}
Run Code Online (Sandbox Code Playgroud)
可以在System.Speech.Recognition和Microsoft.Speech.Recognition之间找到更多信息来比较微软发布的各种语音引擎和API .
| 归档时间: |
|
| 查看次数: |
7892 次 |
| 最近记录: |