linux可以tts嗎

2023-03-09 22:00:54

可以。在linux中,可以藉助Ekho軟體來實現TTS(文字轉語音)功能;只需要下載並安裝好Ekho軟體,就可使用ekho命令來將文字轉為語音,語法「ekho "文字"」。Ekho是一個免費、開源的中文語音合成軟體,支援Linux、Windows和Android平臺。

本教學操作環境:linux7.3系統、Ekho 8.6、Dell G3電腦。

linux系統實現TTS(文字轉語音)功能

1、需求背景

在使用者互動軟體開發過程中,經常遇到語音提示需求。語音提示是比較直接的互動方式,能夠有效的提高使用者體驗。目前比較常見的解決方案有百度語音平臺、訊飛語音平臺,這些平臺一般都是通過API呼叫線上服務。優點是轉化的語音比較準確,真人發音,有多種語音包選擇,缺點是依附網際網路,斷網無法使用,需要收費,有使用數量限制。當然啦,可以選擇這些平臺的離線sdk開發,不同的平臺提供的sdk平臺不同,對於嵌入式arm平臺目前沒看到支援的。當然啦,對於提示語音比較少又比較固定的,那麼直接採用先錄製好語音,使用的時候直接播發語音檔案的方式也是簡單快捷的解決方案。

對於嵌入式arm平臺,採用linux系統,在無網路語音提示不定的情況下只能採取TTS引擎來解決。多方查詢最後發現一款開源的中文TTS軟體Ekho(餘音)比較合適。

2、Ekho簡介

Ekho(餘音)是一個免費、開源的中文語音合成軟體。它目前支援粵語、普通話(國語)、廣東臺山話、詔安客語、藏語、雅言(中國古代通用語)和韓語(試驗中),英語則通過eSpeak或Festival間接實現。Ekho支援Linux、Windows和Android平臺。

Ekho下載地址:http://www.eguidedog.net/cn/ekho_cn.php

3、Ekho安裝

3.1 下載Ekho

1.png

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請替換為具體的檔案路徑。

4、測試Ekho效果

直接生成語音播放

ekho  "你好呀"
登入後複製

如果能正常不能播放出聲音,那麼可能系統的音效卡設定有問題,請檢視。還有一種原因可能是pulseaudio服務沒有啟動

pulseaudio -start
登入後複製

再次執行ekho 「你好呀!」,就能聽到一段機械的語音啦。

生成語音檔案

ekho "你好。請繼續保持努力!" -o holdon.wav
登入後複製

最後設定開機自動啟動pulseaudio服務,這一步驟按需設定

pulseaudio --start --log-target=syslog
登入後複製

在/etc/rc.local 檔案中加入pulseaudio --start --log-target=syslog,設定每次開機自動啟動。

相關推薦:《Linux視訊教學

以上就是linux可以tts嗎的詳細內容,更多請關注TW511.COM其它相關文章!