利用.framework 4 提供system.speech的类库,写个简单的speech-to-text

本文档介绍了如何利用SpeechRecognitionEngine在.NET Framework 4中实现speech-to-text功能。首先,初始化语音识别引擎并配置区域设置、输入类型等。接着,设置语音输入源,如从.wav文件获取。然后,不深入研究语法规范,采用默认设置。最后,注册事件监听器以实现实时和识别后的内容处理。提供了使用VS2012的源代码示例和音频文件链接。
摘要由CSDN通过智能技术生成

利用microsoft help view,可以得到相关的简单示例,在这里,就简单梳理下,speech-to-text的过程操作。

第一步,实例化一个语音识别引擎SpeechRecognitionEngine,进行相关的属性配置,比如有区域设置、语音输入类型、语法规范,等等

1.区域配置,其实,可以在初始化引擎对象时,默认就行;也就可以这样制定初始化new SpeechRecognitionEngine(new CultureInfo("en-US"))。

通过help view示例,可查询到引擎的默认属性。

RecognizerInfo info = sre1.RecognizerInfo;
            string AudioFormats = "";
            foreach (SpeechAudioFormatInfo fmt in info.SupportedAudioFormats)
            {
                AudioFormats += String.Format("       {0}\n", fmt.EncodingFormat.ToString());
            }
            string AdditionalInfo = "";
            foreach (string key in info.AdditionalInfo.Keys)
            {
                AdditionalInfo += String.Format("      {0}: {1}\n", key, info.AdditionalInfo[key]);
            }
            Console.WriteLine(String.Format(
                               "Name:                 {0 }\n" +
                               "Description:          {1} \n" +
                               "SupportedAudioFormats:\n" +
                               "{2} " +
                               "Culture:              {3} \n" +
                               "AdditionalInfo:       \n" +
                               " {4}\n",
                               info.Name.ToString(),
                               info.Description.ToString(),
                               AudioFormats,
                               info.Culture.ToString(),
                               AdditionalInfo));

2.语音输入类型

提供有SetInputToAudioStream(),SetInputToDefaultAudioDevice(),SetInputToNull(),SetInputToWaveFile(),SetInputToWaveStream()五种方法,详见help文档

这里使用了通过win7的录音笔,录制的音频wma,再通过格式转化为wav。

3.语法规范

没有深究,help文档也有详细说明,直接就按默认的。

第二步,设置事件响应。在本示例中,设置了两个事件,即实时读取识别内容和识别后在读取。注意:分别测试两个事件较好。

sre1.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(SpeechRecognized);              //sre1为语音引擎实例化的对象
sre1.SpeechHypothesized += new EventHandler<SpeechHypothesizedEventArgs>(SpeehchHypothesizing);

                  //响应事件后,打印识别内容。

static void SpeechHypothesizing(object sender, SpeechHypothesizedEventArgs e)
        {
            Console.WriteLine(e.Result.Text);
        }

 

原文是:本书的产品设计应用神经生物学、认知科学、以及学习理论,这使得这本书能够将这些知识深深地印在你的脑海里,不容易被遗忘。

下面是用vs2012写的源代码和音频文件。

 http://download.csdn.net/detail/jixiang1234567/6294101

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值