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 的實例。使用它可以做很多事,譬如語音播報、語音識別等,值得挖掘很深。