可以。在linux中,可以借助Ekho軟件來實現TTS(文字轉語音)功能;只需要下載并安裝好Ekho軟件,就可使用ekho命令來將文字轉為語音,語法“ekho ?“文字””。Ekho是一個免費、開源的中文語音合成軟件,支持Linux、windows和android平臺。
本教程操作環境:linux7.3系統、Ekho 8.6、Dell G3電腦。
linux系統實現TTS(文字轉語音)功能
在用戶交互軟件開發過程中,經常遇到語音提示需求。語音提示是比較直接的交互方式,能夠有效的提高用戶體驗。目前比較常見的解決方案有百度語音平臺、訊飛語音平臺,這些平臺一般都是通過API調用在線服務。優點是轉化的語音比較準確,真人發音,有多種語音包選擇,缺點是依附互聯網,斷網無法使用,需要收費,有使用數量限制。當然啦,可以選擇這些平臺的離線sdk開發,不同的平臺提供的sdk平臺不同,對于嵌入式arm平臺目前沒看到支持的。當然啦,對于提示語音比較少又比較固定的,那么直接采用先錄制好語音,使用的時候直接播發語音文件的方式也是簡單快捷的解決方案。
對于嵌入式arm平臺,采用linux系統,在無網絡語音提示不定的情況下只能采取TTS引擎來解決。多方查找最后發現一款開源的中文TTS軟件Ekho(余音)比較合適。
Ekho(余音)是一個免費、開源的中文語音合成軟件。它目前支持粵語、普通話(國語)、廣東臺山話、詔安客語、藏語、雅言(中國古代通用語)和韓語(試驗中),英語則通過eSpeak或Festival間接實現。Ekho支持Linux、Windows和Android平臺。
Ekho下載地址:http://www.eguidedog.net/cn/ekho_cn.php
3.1 下載Ekho
3.2 安裝Ekho
先安裝第三方依賴文件,注意,最新版的ekho是依賴espeak-ng庫而非espeak,后者已經停止維護。
sudo apt-get install espeak-ng libespeak-ng-dev libsndfile1-dev libpulse-dev libncurses5-dev libestools-dev festival-dev libvorbis-dev libmp3lame-dev libdotconf-dev texinfo pulseaudio libpulse-ocaml-dev
3.3 編譯安裝
tar xJvf ekho-xxx.tar.xz
cd ekho-xxx
./configure
make -j4
sudo make install
注意:其中xxx請替換為具體的文件路徑。
直接生成語音播放
ekho "你好呀"
如果能正常不能播放出聲音,那么可能系統的聲卡設置有問題,請查看。還有一種原因可能是pulseaudio服務沒有啟動
pulseaudio -start
再次執行ekho “你好呀!”,就能聽到一段機械的語音啦。
生成語音文件
ekho "你好。請繼續保持努力!" -o holdon.wav
最后設置開機自動啟動pulseaudio服務,這一步驟按需設置
pulseaudio --start --log-target=syslog
在/etc/rc.local 文件中加入pulseaudio –start –log-target=syslog,設置每次開機自動啟動。
相關推薦:《Linux視頻教程》