全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于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年银行信贷人员招聘面试题库及参考答案
- 2025年养老产业管理师招聘面试题库及参考答案
- 消防安全考试题库及答案
- 税务业务答辩题库及答案
- 2025年配件工程师招聘面试参考题库及答案
- 中国会计文化题库及答案
- 2025年外联专员招聘面试参考题库及答案
- 地铁消防知识题库及答案
- 广慧会计培训题库及答案
- 光伏储能可行性研究报告
- 基坑施工冬季施工技术及管理方案
- 儿童故事狼和小羊
- 《工程勘察设计收费标准》(2002年修订本)
- 大学生职业生涯发展报告
- 热力发电厂课程设计说明书
- 斑点叉尾鮰鱼种培育技术
- 南方科技大学自述信800字范文六篇
- “双减”背景下小学语文个性化作业设计策略
- 工厂化学品管理知识培训
- 期货基础知识(期货入门)
评论
0/150
提交评论