對(duì)于那些不能文字朗讀的設(shè)備,有個(gè)小工具可以實(shí)現(xiàn)文字說話的轉(zhuǎn)換器。用各種語言寫一些東西,espeak就可以朗讀給你。
系統(tǒng)應(yīng)該默認(rèn)安裝了Espeak,如果你的系統(tǒng)沒有安裝,你可以使用下列命令來安裝:
代碼如下:
# apt-get install espeak (Debian)
# yum install espeak (CentOS)
# dnf install espeak (Fedora 22 及其以后)
你可以讓espeak接受標(biāo)準(zhǔn)輸入的交互輸入并及時(shí)轉(zhuǎn)換成語音朗讀出來。如下:
代碼如下:
$ espeak [按回車鍵]
更詳細(xì)的輸出你可以這樣做:
代碼如下:
$ espeak --stdout | aplay [按回車鍵][再次回車]
espeak設(shè)置靈活,也可以朗讀文本文件。你可以這樣設(shè)置:
代碼如下:
$ espeak --stdout /path/to/text/file/file_name.txt | aplay [Hit Enter]
espeak可以設(shè)置朗讀速度。默認(rèn)速度是160詞每分鐘。使用-s參數(shù)來設(shè)置。
設(shè)置每分鐘30詞的語速:
代碼如下:
$ espeak -s 30 -f /path/to/text/file/file_name.txt | aplay
設(shè)置每分鐘200詞的語速:
代碼如下:
$ espeak -s 200 -f /path/to/text/file/file_name.txt | aplay
你可以使用各種語言,讓espeak如上面說的以你選擇的語言朗讀。使用下列命令來獲得語言列表:
代碼如下:
$ espeak --voices
下面再來分享一段C語言程序中調(diào)用espeak的示例:
C/C++ Code復(fù)制內(nèi)容到剪貼板
#include // 包括espeak的頭文件
#include
#include
int main(int argc, char **argv)
{
char word[] = "吃葡萄不吐葡萄皮";
espeak_Initialize(AUDIO_OUTPUT_PLAYBACK, 0, NULL, 0); // 初始化
espeak_SetVoiceByName("zh+f2"); // 設(shè)置音源為中文女聲
espeak_Synth(word, strlen(word) + 1, 0, POS_CHARACTER, 0,
espeakCHARS_UTF8, NULL, NULL); // 發(fā)音