speechsdk语音识别系统

speechsdk语音识别系统

ID:8980045

大小:16.89 KB

页数:4页

时间:2018-04-13

speechsdk语音识别系统_第1页
speechsdk语音识别系统_第2页
speechsdk语音识别系统_第3页
speechsdk语音识别系统_第4页
资源描述:

《speechsdk语音识别系统》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、SpeechSDK5.1微软语音识别分两种模式:文本识别模式和命令识别模式.此两种模式的主要区别,主要在于识别过程中使用的匹配字典不同.前者使用的是通用字典,特点是内容多,覆盖的词汇量大,字典由sdk提供.适用于没有预定目标的随机听写之类的应用.同时因为词汇量大直接导致识别的精度降低,识别速度较慢.后者的字典需要开发者自己编写,就是你们所说的xml文件.xml文件作为一种数据存储的方式,有一定的格式,定义了sdk需要确定的一些标签,和用以匹配的词汇.这种方式由开发者定义词汇的数量,大大降低匹配过程中需要检索的词汇量,提高了识别速度.同时因为侯选项极少,所以一般不会识别错误.其缺点也是明

2、显的:词汇量小,只有预先输入字典的词汇可以被识别出来,所以一般用来作为常用命令的识别,方便用户操作,代替菜单命令等.利用微软SpeechSDK5.1在MFC中进行语音识别开发时的主要步骤,以SpeechAPI5.1+VC6为例:1、初始化COM端口一般在CWinApp的子类中,调用CoInitializeEx函数进行COM初始化,代码如下:::CoInitializeEx(NULL,COINIT_APARTMENTTHREADED);//初始化COM注意:调用这个函数时,要在工程设置(projectsettings)->C/C++标签,Category中选Preprocessor,在P

3、reprocessordefinitions:下的文本框中加上“,_WIN32_DCOM”。否则编译不能通过。2、创建识别引擎微软SpeechSDK5.1支持两种模式的:共享(Share)和独享(InProc)。一般情况下可以使用共享型,大的服务型程序使用InProc。如下:hr=m_cpRecognizer.CoCreateInstance(CLSID_SpSharedRecognizer);//Sharehr=m_cpRecognizer.CoCreateInstance(CLSID_SpInprocRecognizer);//InProc如果是Share型,可直接进到步骤3;如果

4、是InProc型,必须使用ISpRecognizer::SetInput设置语音输入。如下:CComPtrcpAudioToken;  //定义一个tokenhr=SpGetDefaultTokenFromCategoryId(SPCAT_AUDIOIN,&cpAudioToken);//建立默认的音频输入对象if(SUCCEEDED(hr)){hr=m_cpRecognizer->SetInput(cpAudioToken,TRUE);}或者:CComPtrcpAudio;  //定义一个音频对象hr=SpCreateDefault

5、ObjectFromCategoryId(SPCAT_AUDIOIN,&cpAudio);//建立默认的音频输入对象hr=m_cpRecoEngine->SetInput(cpAudio,TRUE);//设置识别引擎输入源3、创建识别上下文接口调用ISpRecognizer::CreateRecoContext创建识别上下文接口(ISpRecoContext),如下:hr=m_cpRecoEngine->CreateRecoContext(&m_cpRecoCtxt);4、设置识别消息调用SetNotifyWindowMessage告诉Windows哪个是我们的识别消息,需要进行处理。

6、如下:hr=m_cpRecoCtxt->SetNotifyWindowMessage(m_hWnd,WM_RECOEVENT,0,0);SetNotifyWindowMessage定义在ISpNotifySource中。5、设置我们感兴趣的事件其中最重要的事件是”SPEI_RECOGNITION“。参照SPEVENTENUM。代码如下:constULONGLONGullInterest=SPFEI(SPEI_SOUND_START)

7、SPFEI(SPEI_SOUND_END)

8、SPFEI(SPEI_RECOGNITION);hr=m_cpRecoCtxt->SetInterest(ul

9、lInterest,ullInterest);6、创建语法规则语法规则是识别的灵魂,必须要设置。分为两种,一种是听说式(dictation),一种是命令式(commandandcontrol---C&C)。首先利用ISpRecoContext::CreateGrammar创建语法对象,然后加载不同的语法规则,如下://dictationhr=m_cpRecoCtxt->CreateGrammar(GIDDICTATION,&m_cpDictat

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。