1. 程式人生 > >微軟語音引擎 TTS 最基本使用

微軟語音引擎 TTS 最基本使用

TTS(TextToSpeak)

需求:需要藉助程式實現 文字合成語音/語音識別。

TTS 介紹就不說了,這裡介紹非常詳細 >>> TTS詳細介紹  +  SAPI(微軟的TTS語音合成和識別介面,可在程式中直接呼叫)

下面介紹一下,怎麼來使用它

1. 下載安裝TTS引擎

到微軟的官方網站上去下載一下

下載地址>>>微軟官方 TTS http://www.microsoft.com/download/en/details.aspx?id=10121

進入下載頁面,可以先點選Details 看一下下詳細資訊,點選Download

 

下載完成後,安裝 SDK51 和 SDK51LangPack 。

2. 可以在程式裡用了(使用前先引入一下 sapi.lib 庫

標頭檔案:

1 #include <sapi.h>
2 #include <sphelper.h>
3 #pragma comment(lib, "sapi.lib")//TTS引擎

函式:

 1 //封裝SAPI 功能:傳入字串,合成語音並讀出。
 2 void Speak(CString str)
 3 {
 4     ISpVoice * pVoice = NULL; 
 5     //獲取ISpVoice介面: 
6 HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice, (void **)&pVoice); 7 if(SUCCEEDED(hr)) //如果建立成功 8 { 9 pVoice->SetVolume(100);//設定音量 10 pVoice->SetRate(0);//[-10, 10] 11 hr = pVoice->Speak(CStringToBSTR(str), 0, NULL); //讀出 12 13
pVoice->Release(); //釋放token 14 pVoice = NULL; 15 } 16 }

上面函式是在MFC 中使用 TTS 的例項。使用它可以做很多事,譬如語音播報、語音識別等,值得挖掘很深。