3個開源TTS(一) - 安裝使用

openkk 12年前發布 | 3K 次閱讀 Fedora 21

    項目在身,要求分析幾款開源的TTS引擎(不需要是中文的),然后選擇一個為系統朗讀英文文本提供接口。先從eGuideDog的余音(Ekho)開 始,Ekho(余音)是一個把文字轉換成聲音的軟件。它目前支持粵語、普通話(國語)、詔安客語和韓語(試驗中),英文則通過Festival間接實現。 先是找到了它的英文實現方式,不過之前看到過這樣一篇文章《7個開源的TTS(文本轉語音)系統推薦》,因此從中選擇了3個。忘了提項目還要求C/C++ 為主設計的,因此初步篩選為(1)Festival (2)eSpeak (3)Flite 。目前情況是僅在安裝有debian 6的虛擬機上安裝使用了下3個軟件,進一步分析后續再補上。
   (1)Festival
    Festival提供了一個通用的框架,用于構建語音合成系統,該系統包含了各種模塊示例。它提供了完整的文本轉語音的API,可以通過shell、 C++靜態庫等多種方式調用,原生支持Mac OS,支持的語言包括英語和西班牙語;而且系統是使用c++編寫,底層調用Edinburgh Speech Tools;
首先閱讀它的手冊得知,下載需要的壓縮包(http://festvox.org/packed/festival/2.1/):
festival-2.1-release.tar.gz Festival語音合成系統源文件
speech_tools-2.1-release.tar.gz Edinburgh語音工具庫
festlex_CMU.tar.gz  festlex_POSLEX.tar.gz詞典
festvox_kallpc16k.tar.gz 語料庫
前兩個解壓后需要配置編譯,后三個解壓后自動解壓在festival文件夾中。首先編譯speech_tools,進入該文件夾,輸入

./configure    配置

make           編譯

其它如在Cygwin、vc下的編譯在INSTALL文件中有說明。
然后進入festival文件夾,按照INSTALL文件中的說明進行安裝,是可以看到詳細的安裝說明,以及需要文件夾festival speech_tools的。還是一般的./configure make即可,由于僅是在本地使用,沒有了Site initialization這一步,在安裝完成后運行bin/festival,如無錯誤提示出現:
Festival Speech Synthesis System 2.1:release November 2010
Copyright (C) University of Edinburgh, 1996-2010. All rights reserved.

clunits: Copyright (C) University of Edinburgh and CMU 1997-2010
clustergen_engine: Copyright (C) CMU 2005-2010
hts_engine: 
The HMM-based speech synthesis system (HTS)
hts_engine API version 1.04 (http://hts-engine.sourceforge.net/)
Copyright (C) 2001-2010  Nagoya Institute of Technology
              2001-2008  Tokyo Institute of Technology
All rights reserved.
For details type `(festival_warranty)'
festival>
可以輸入help或者(SayText "Hello World!")測試。如果出現Can't open /dev/dsp的錯誤,可以在~/.festivalrc文件寫入:
(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Command "aplay -q -c 1 -t raw -f s16 -r $SR $FILE")
   (2)eSpeak
    eSpeak是c語言寫的一個小型的、開放源碼的語音合成系統,支持多種語言。eSpeak使用共振峰合成方法,這可以使提供的語言文件非常小,但是缺點 是不如采用基于人錄音的語料庫的聲音平滑自然。該系統支持 Windows、Linux同時已被移植到其它平臺,如Solaris and Mac OSX,支持命令行、動態鏈接庫,支持Windows平臺上的SAPI5,所以能用于屏幕閱讀程序和其他支持Windows SAPI5接口的程序。eSpeak可以將文本轉換成音素代碼,因此它也可以用于另一個語音合成引擎的前端。它的安裝比較簡單,下載ZIP壓縮包 (http://espeak.sourceforge.net/download.html),在Windows上直接安裝即可。
   (3)Flite
    Flite是一個小型、快速的TTS系統,是festival的C版本,可用于嵌入式系統,支持WinCE、Palm OS 。下載壓縮包(http://www.speech.cs.cmu.edu/flite/download.html)./configure make即可,安裝使用參考文件夾下的README即可,如閱讀一段文本,并生成.wav文件

flite example

example.wav在example文件中有英文文本,輸出為example.wav。我這里使用有些問題,example.wav文件在 debian中無法播放,用Windows Media player也播不了,結果用QQ影音可以。還有就是直接運行flite讀文本出現oss_audio: failed to open audio device /dev/dsp的錯誤,而且即使是生成語音文件也會出現failed to open file "example" for reading的錯誤,具體情況還不知道。
參考文章:
【1】7個開源的TTS(文本轉語音)系統推薦 http://sd.csdn.net/a/20111228/309754.html
【2】archlinux Festival        https://wiki.archlinux.org/index.php/Festival

轉自:http://blog.csdn.net/w7849516230/article/details/7264681

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!