


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于Microsoft Speech SDK实现用户孤立词识别的过程如下:1、初始化COM端口:在CWinApp的子类中,调用CoInitializeEx函数进行COM初始化::CoInitializeEx(NULL,COINIT_APARTMENTTHREADED);2、创建识别引擎:微软Speech SDK 5.1 支持两种模式的:共享(Share)和独享(InProc)。一般情况下可以使用共享型,大的服务型程序使用InProc。如下: hr = m_cpRecognizer.CoCreateInstance(CLSID_SpSharedRecognizer);/Share hr = m_cpRecognizer.CoCreateInstance(CLSID_SpInprocRecognizer);/InProc 如果是Share型,直接到步骤3;如果是InProc型,必须使用 ISpRecognizer:SetInput 设置输入:CComPtr cpAudioToken; hr = SpGetDefaultTokenFromCategoryId(SPCAT_AUDIOIN, &cpAudioToken); if (SUCCEEDED(hr) hr = m_cpRecognizer-SetInput(cpAudioToken, TRUE); 或者:CComPtr cpAudio; hr = SpCreateDefaultObjectFromCategoryId(SPCAT_AUDIOIN, &cpAudio);hr = m_cpRecoEngine-SetInput(cpAudio, TRUE);3、创建识别上下文接口:调用 ISpRecognizer:CreateRecoContext 创建识别上下文接口:hr = m_cpRecoEngine-CreateRecoContext( &m_cpRecoCtxt ); 4、设置识别消息:调用 SetNotifyWindowMessage 告诉Windows哪个是我们的识别消息,需要进行处理: hr = m_cpRecoCtxt-SetNotifyWindowMessage(m_hWnd, WM_RECOEVENT, 0, 0); 5、设置事件:最重要的事件是“SPEI_RECOGNITION”:const ULONGLONG ullInterest = SPFEI(SPEI_SOUND_START) | SPFEI(SPEI_SOUND_END) | SPFEI(SPEI_RECOGNITION) ; hr = m_cpRecoCtxt-SetInterest(ullInterest, ullInterest); 6、创建语法规则:语法规则分为两种,一种是听说式(dictation),一种是命令式(command and control-C&C)。首先 利用ISpRecoContext:CreateGrammar 创建语法对象,然后加载不同的语法规则: /dictation hr = m_cpRecoCtxt-CreateGrammar( GIDDICTATION, &m_cpDictationGrammar ); if (SUCCEEDED(hr) hr = m_cpDictationGrammar-LoadDictation(NULL, SPLO_STATIC); /C&C hr = m_cpRecoCtxt-CreateGrammar( GIDCMDCTRL, &m_cpCmdGrammar); 然后用ISpRecoGrammar:LoadCmdxxx 加载语法: WCHAR wszXMLFile20=L; MultiByteToWideChar(CP_ACP, 0, (LPCSTR)CmdCtrl.xml , -1, wszXMLFile, 256); hr = m_cpCmdGrammar-LoadCmdFromFile(wszXMLFile,SPLO_DYNAMIC); 7、激活语法进行识别:hr = m_cpDictationGrammar-SetDictationState( SPRS_ACTIVE );/dictation hr = m_cpCmdGrammar-SetRuleState( NULL,NULL,SPRS_ACTIVE );/C&C 8、获取识别消息,进行处理:截获识别消息(WM_RECOEVENT),然后处理。识别的结果放在CSpEvent的ISpRecoResult 中: USES_CONVERSION; CSpEvent event; switch (event.eEventId) case SPEI_RECOGNITION: m_bGotReco = TRUE; static const WCHAR wszUnrecognized = L; CSpDynamicString dstrText; if (FAILED(event.RecoResult()-GetText(SP_GETWHOLEPHRASE, SP_GETWHOLEPHRASE, TRUE ,&dstrText, NULL) dstrText = wszUnrecognized; BSTR SRout; dstrText.CopyToBSTR(&SRout); CString Recstring; Recstring.Empty();
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年市场营销师综合知识模拟测试及答案
- 钨酸铵溶液制备工内部技能考核试卷及答案
- 2025年L-乳酸项目申请报告
- 2025年棱镜透镜项目提案报告模板
- 爱国拥军基金管理办法
- 特价文具库存管理办法
- 特殊项目贷款管理办法
- 独立值班护士管理办法
- 猪肉市场流通管理办法
- 环保产品控制管理办法
- 2025上海科技馆事业单位工作人员招聘10人笔试备考题库及答案解析
- 【初二】【八年级】【道法】2025【秋】上学期开学第一课【统编版】(课件)
- 《红楼梦》重点情节按回目梳理修改版汇总
- GB/T 5162-2021金属粉末振实密度的测定
- GB/T 2820.4-2009往复式内燃机驱动的交流发电机组第4部分:控制装置和开关装置
- GB/T 12755-2008建筑用压型钢板
- GB 1886.45-2016食品安全国家标准食品添加剂氯化钙
- 26个英文字母(课堂PPT)
- 无脊椎动物类群三腔肠动物门
- 生活离不开规则观课报告
- 硫化氢考试题库
评论
0/150
提交评论