微軟語音引擎 TTS 最基本使用
阿新 • • 發佈:2018-12-29
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 13pVoice->Release(); //釋放token 14 pVoice = NULL; 15 } 16 }
上面函式是在MFC 中使用 TTS 的例項。使用它可以做很多事,譬如語音播報、語音識別等,值得挖掘很深。