語音系統前端 利用SAPI進行聲音識別與發聲

2021-06-26 14:00:36 字數 1360 閱讀 2311

在前一章,自然語言問答系統的構造中將整個分為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又很兇猛,搞起...