Linux中文朗讀軟件--espeak

 

一、  介紹

1.          用途:可識別多語言的朗讀軟件

2.          特點:

1)         能讀中文:相對英文,更適合朗讀中文

2)         可以在程序中被調用——提供c++接口及庫

3)         支持詞的識別和

4)         安裝簡單,安裝文件少,依賴庫少,移植方便

a)          源碼32981

b)         espeak_1.36.orig.tar.gz,只有1M多,源碼及數據(多語言規則)

5)         相對比較平滑

6)         能處理多音字

二、  平臺

1.          windowslinux系統版本支持

2.          ubuntu 8.04系統自帶espeak

三、  試試中文發音
$ espeak -vzh “hello world”
$ espeak -vzh “
你好

四、  編譯

1.          下載espeak-1.36-orig.tar.gz

2.          安裝
$ tar xvzf espeak-1.36-orig.tar.gz
$ cd espeak-1.36
$ cd src
$ make
$ make install

3.          注意:
它需要portaudio庫的支持,如ubuntu 8.04中自帶這個庫,但庫名不同,可做個鏈接
ln -s /usr/lib/libportaudio.so.0 /usr/libportaudio.so

4.          編譯後主要產生三個文件
espeak
是可執行文件,它依賴libespeak.so.1.1.36
speak
是不依賴庫的可執行文件
libspeak.so.1.1.36
是動態庫,一方面對espeak做支持,也可被C程序調用

五、  安裝結構

1.          

2.          可執行程序

3.          數據

1)         字與讀音對應(一級漢字)

2)         

3)         多音字

六、  c程序調用試例

1.          代碼
#include <espeak/speak_lib.h>  // 
包括espeak的頭文件
#include <string.h>
#include <unistd.h>

int main(int argc, char **argv)
{
    char word[] = "
吃葡萄不吐葡萄皮";
    espeak_Initialize(AUDIO_OUTPUT_PLAYBACK, 0, NULL, 0);    
// 
初始化
    espeak_SetVoiceByName("zh+f2");    
// 設置音源爲中文女聲
    espeak_Synth(word, strlen(word) + 1, 0, POS_CHARACTER, 0,
                    espeakCHARS_UTF8, NULL, NULL);        
// 發音
    sleep(3);     
// 等一段時間,否則程序會立即退出,聽不到發音
    espeak_Terminate();  
// 回收資源
}

2.          編譯
$ g++ test1.c -o test1 -lespeak

七、  開發指南
http://e-guidedog.sourceforge.net/doc_espeak.php

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章