在前一章,自然語言問答系統的構造中將整個分為7大模組。這裡講解語音識別與發聲模組。
在現有的技術中,windows平台能比較快速上手的應該就是微軟的sapi了。
sapi中提供的兩個主要介面是:
1.sr(speech recognition),能直接將語音頻號轉化成文字;
2.tts(text-to-speech),能直接將文字讀出來。(當然,你需要有語音包)
部分測試**如下:
//語音識別的初始化函式
//主要是建立識別器、上下文環境等
hresult initializespeech()
ccomptrcpaudiotoken;
hr = spgetdefaulttokenfromcategoryid(spcat_audioin, &cpaudiotoken); //建立預設的音訊輸入物件
if (succeeded(hr))
hr=cpreconizer->createrecocontext(&cprecoctxt);
/**/
//hr = cprecoctxt.cocreateinstance(clsid_spsharedrecocontext);
if(succeeded(hr))
cpvoice->setvolume(100);
cpvoice->setrate(3);
return (cprecoctxt && cpvoice &&
succeeded(hr=loadgrammarfile())&&
succeeded(hr = cpgrammar->setrulestate(null, null, sprs_active)) &&
succeeded(hr = cprecoctxt->setinterest(spfei(spei_recognition), spfei(spei_recognition))) &&
succeeded(hr = cprecoctxt->setnotifywin32event()) &&
succeeded(hr = cprecoctxt->setaudiooptions(spao_retain_audio, null, null)));
} return hr;
}
//在離線模式下
//在xml進行匹配找到相應的字串
void processspeech()
::cotaskmemfree(pphrase);} }
break;
} cprecoctxt->getevents(1,&curevent,&fetched);
} return;
}
利用微軟的SAPI進行語音合成
利用微軟的sapi進行語音合成 簡介微軟提供了乙個很好的工具用於語音識別與合成,所用的就是微軟的 speech api。在這裡我來介紹sapi的各項功能。如何使用 為了合成語音,我們需要引用system.speech.synthesis 命名空間。這個主類是speechsynthesizer。你可以...
c 用微軟SAPI進行實時語音識別
vs2015,c include include include include include include sphelper.h include using namespace std inline hresult blockforresult isprecocontext precoctxt...
如何利用nginx處理DDOS進行系統優化詳解
防禦ddos是乙個系統工程,攻擊花樣多,防禦的成本高瓶頸多,防禦起來即被動又無奈,下面這篇文章主要給大家介紹了關於如何利用nginx處理ddos進行系統優化的相關資料,文中通過示例 介紹的非常詳細,需要的朋友可以參考下 前言眾所周知ddos很常見,甚至被稱為黑客圈子的准入技能 ddos又很兇猛,搞起...