文字轉語音

前幾在這裡發現了一個好用的文字轉語音

它有打包好的檔案可以給ubuntu10.04 (32bit)直接下載使用、備用載點

由於我是要裝在 64bit 的系統底下,所以得自行編譯了,在此記下編譯的過程

先下載 64bit 原始碼檔備用載點

先安裝編譯時所需要的套件包

指令:
舊版:
aptitude install asterisk-dev libespeak-dev libsndfile1-dev libsamplerate0 libsamplerate0-dev build-essential

新版:
aptitude install libsndfile1-dev libpulse-dev libncurses5-dev libestools2.1-dev festival-dev libvorbis-dev libmp3lame-dev libdotconf-dev texinfo

然後就照原網站上的方法編譯、安裝

tar xjvf ekho-6.2.6.tar.xz
cd ekho-6.2.6
./configure
make CXXFLAGS="-D_x86_64"
sudo make install

然後下此指令
ekho 近水樓台先得月
這樣就可以發音了

若要它用粵語的話,請下此指令
ekho –voice=Cantonese 近水樓台先得月

它也可以辨識標點符號,並做停頓
ekho 您好,請回撥電話,12345678,謝謝

若我們臨時要幫 asterisk 加一個語音檔的話,可以這麼做

自製語音檔,指令:
ekho -s -10 -o test.wav ,您好,請回撥電話,0233333333,0233333333,謝謝,謝謝
說明: asterisk 在撥放語音檔時常常會頭尾自動截斷一些,故我們在做語音檔時,須在頭尾加長一些。

這樣所做出來的音檔格式,asterisk 還不能直接使用,所以我們還得轉換成 asterisk能使用的格式,請下指令:
sox test.wav test.gsm
其它的有關於 sox 指令更詳細的應用,sox介紹sox轉檔參數介紹

然後將 test.gsm 此檔放至此資料夾 /usr/share/asterisk/sounds/

asterisk 裡 extensions.conf 語音檔設定範例
exten => 1201,1,Answer()
exten => 1201,2,Playback(/usr/share/asterisk/sounds/test)
exten => 1201,3,Hangup
說明:Playback 後面接的是要撥放的音檔,可指定路徑,不指定路徑的話,就是用預設的路徑 /usr/share/asterisk/sounds/ 需特別注意的是要撥放的音檔不能寫上副檔名,否則會出錯無法撥放。

本篇發表於 linux, voip。將永久鏈結加入書籤。

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *