



全文預覽已結(jié)束
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
利用微軟Speech SDK 5.1開發(fā)語音識別系統(tǒng)主要步驟 微軟語音識別分兩種模式:文本識別模式和命令識別模式.此兩種模式的主要區(qū)別,主要在于識別過程中使用的匹配字典不同.前者使用的是通用字典,特點是內(nèi)容多,覆蓋的詞匯量大,字典由sdk提供.適用于沒有預定目標的隨機聽寫之類的應用.同時因為詞匯量大直接導致識別的精度降低,識別速度較慢.后者的字典需要 開發(fā)者自己編寫,就是你們所說的xml文件.xml文件作為一種數(shù)據(jù)存儲的方式,有一定的格式,定義了sdk需要確定的一些標簽,和用以匹配的詞匯.這種方式由開發(fā)者定義詞匯的數(shù)量,大大降低匹配過程中需要檢索的詞匯量,提高了識別速度.同時因為侯選項極少,所以一般不會識別錯誤.其缺點也是明顯的:詞匯量小,只有預先輸入字典的詞匯可以被識別出來,所以一般用來作為常用命令的識別,方便用戶操作,代替菜單命令等. 利用微軟Speech SDK 5.1在MFC中進行語音識別開發(fā)時的主要步驟,以Speech API 5.1+VC6為例: 注意:要在工程設(shè)置(project settings)添加sapi.lib文件和一些頭文件。1、初始化COM端口 一般在CWinApp的子類中,調(diào)用CoInitializeEx函數(shù)進行COM初始化,代碼如下: :CoInitializeEx(NULL,COINIT_APARTMENTTHREADED); / 初始化COM 2、創(chuàng)建識別引擎 微軟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 設(shè)置語音輸入。如下: CComPtr cpAudioToken; /定義一個token 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);/設(shè)置識別引擎輸入源 3、創(chuàng)建識別上下文接口 調(diào)用 ISpRecognizer:CreateRecoContext 創(chuàng)建識別上下文接口(ISpRecoContext),如下: hr = m_cpRecoEngine-CreateRecoContext( &m_cpRecoCtxt ); 4、設(shè)置識別消息 調(diào)用 SetNotifyWindowMessage 告訴Windows哪個是我們的識別消息,需要進行處理。如下: hr = m_cpRecoCtxt-SetNotifyWindowMessage(m_hWnd, WM_RECOEVENT, 0, 0); SetNotifyWindowMessage 定義在 ISpNotifySource 中。 5、設(shè)置我們感興趣的事件 其中最重要的事件是”SPEI_RECOGNITION“。參照 SPEVENTENUM。代碼如下: const ULONGLONG ullInterest = SPFEI(SPEI_SOUND_START) | SPFEI(SPEI_SOUND_END) | SPFEI(SPEI_RECOGNITION) ; hr = m_cpRecoCtxt-SetInterest(ullInterest, ullInterest); 6、創(chuàng)建語法規(guī)則 語法規(guī)則是識別的靈魂,必須要設(shè)置。分為兩種,一種是聽說式(dictation),一種是命令式(command and control-C&C)。首先 利用ISpRecoContext:CreateGrammar 創(chuàng)建語法對象,然后加載不同的語法規(guī)則,如下: /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 加載語法,例如從CmdCtrl.xml中加載: WCHAR wszXMLFile20=L; MultiByteToWideChar(CP_ACP, 0, (LPCSTR)CmdCtrl.xml , -1, wszXMLFile, 256);/ANSI轉(zhuǎn)UNINCODE hr = m_cpCmdGrammar-LoadCmdFromFile(wszXMLFile,SPLO_DYNAMIC); 注意:C&C時,語法文件使用xml格式,參見Speech SDK 5.1 中的 Designing Grammar Rules。簡單例子: 你 我 他 LANGI*=804代表簡體中文,在.中增加命令。 7、在開始識別時,激活語法進行識別 hr = m_cpDictationGrammar-SetDictationState( SPRS_ACTIVE );/dictation hr = m_cpCmdGrammar-SetRuleState( NULL,NULL,SPRS_ACTIVE );/C&C 8、獲取識別消息,進行處理 截獲識別消息(WM_RECOEVENT),然后處理。識別的結(jié)果放在CSpEvent的ISpRecoResult 中。如下: USES_CONVERSION; CSpEvent event; switch (event.eEventId) case SPEI_RECOGNITION: /識別出了語音輸入 m_bGotReco = TRUE; static const WCHAR wszUnrecognized = L; CSpDynamicString dstrText; /取得識別結(jié)果 if (FAILED(event.RecoResult()-GetText(SP_GETWHOLEPHRASE, SP_GETWHOLEPHRASE, TRUE ,&dstrText, NULL) dstrText = wszUnrecognized; BSTR SRo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 上海市楊浦區(qū)2024-2025學年初三第一次強化訓練物理試題含解析
- 2025年哲學本科畢業(yè)生考試試卷及答案
- 2025年室內(nèi)設(shè)計師考試試題及答案
- 2025年語文名著閱讀理解能力測試試卷及答案
- 四川省成都市重點中學2025屆第二學期高三年級期末質(zhì)量調(diào)查化學試題試卷含解析
- 冀州市2024-2025學年數(shù)學三下期末經(jīng)典試題含解析
- 吉林省吉林市豐滿區(qū)第五十五中學2025年高三第二次(5月)檢查數(shù)學試題含解析
- 2024下一代協(xié)議棧 5.0白皮書
- 美團酒店智能定價系統(tǒng)開發(fā)與市場調(diào)研合作協(xié)議
- 網(wǎng)店并購后運營權(quán)過渡及服務保障合同
- 2025屆山東省濟南市歷下區(qū)中考二模生物試題含解析
- 《建筑CAD 》課程標準
- 《抖音競品分析》課件
- 培訓課件女性健康與中醫(yī)養(yǎng)生(可直接使用)
- 印染行業(yè)安全培訓
- 公益慈善資金使用承諾書
- 2024年中考二輪專題復習道德與法治主觀題答題技巧(小論文)之演講稿
- 國有資產(chǎn)投資管理公司組建方案(3篇)
- 新版標準化機電專業(yè)管理體系解讀課件
- 大學生心理健康教育(石家莊工程職業(yè)學院)知到智慧樹答案
- 第五課 在和睦家庭中成長 說課稿-2024-2025學年高中政治統(tǒng)編版選擇性必修二法律與生活
評論
0/150
提交評論