多個TTS發動機的文字轉換為語音REST API。
您可以使用不同的TTS引擎和聲音效果發送文本以轉換為音頻。然後,您將在本地音頻設備上收聽或接收結果音頻文件。
首先,您應該安裝受支持的TTS引擎:
apt install python3 sox libsox-fmt-mp3
pip install google_speechapt install python3 sox libsox-fmt-mp3
pip install gTTSapt install festival festvox-ellpc11kapt install espeak您還需要安裝nodejs和npm ,然後只需運行npm install和npm start 。現在,API應在http://localhost:3000上運行。
或者,您可以只使用Pedroetb/tts-api docker映像,該圖像已經配置了所有依賴關係。
唯一的要求是安裝Docker 。然後,您可以運行:
docker run --rm -d --name tts-api --device /dev/snd -p 3000:3000 pedroetb/tts-api API將在http://localhost:3000上運行和訪問。
另外,您可以使用Docker docker compose (如果使用現代版本,已經包含在Docker中)和docker swarm (首先創建Swarm Cluster):
cd deploy
# Deploy Caddy service
env $( grep -v ' ^[#| ] ' .env | xargs )
TRAEFIK_DOMAIN=change.me
docker stack deploy
-c compose.caddy.yaml
tts-api
# Run TTS-API container
docker compose
-f compose.tts-api.yaml
-p tts-api
up -d該服務準備與Traefik相反,並在tts.${TRAEFIK_DOMAIN}域。這裡沒有描述如何運行Traefik ,請查看其官方網站。
代理需要Caddy的一點幫助,因為Docker Swarm與設備配置不兼容(需要使用聲音功能),而Traefik無法一次與Docker容器和Docker Swarm Sergn服務一起使用。這樣,只有使用Traefik和tts-api容器才能通過CADDY提供的反向訪問(相同的Traefik向CADDY逆轉)來訪問Caddy Service。
Docker容器和服務都可以在不同的主機上運行,因為它們能夠通過Docker Overlay網絡進行通信。在主機上運行tts-api Docker容器,其中有揚聲器,因此您可以收聽演講。
在部署之前,不要忘記編輯TRAEFIK_DOMAIN環境變量。
運行時,API將在http://localhost:3000接收到發布請求。您可以使用自己喜歡的REST客戶端發送請求,也可以使用內置表單。
兩種模式(播放或下載音頻)均可使用不同的語音代碼,根據您的需求選擇一種。
請訪問http://localhost:3000使用瀏覽器,用數據填充表格並提交。就是這樣。
您可以將POST請求發送到http://localhost:3000之後的計劃:
application/json{ "voice": "google_speech", "textToSpeech": "hello world", "language": "en", "speed": "1" }例如,使用curl :
# Play audio
curl http://localhost:3000
-d ' { "voice": "google_speech", "textToSpeech": "hello world", "language": "en", "speed": "1" } '
-H ' Content-Type: application/json '
# Download audio file
curl http://localhost:3000
-d ' { "voice": "gtts_file", "textToSpeech": "hello world", "language": "en", "speed": "1" } '
-H ' Content-Type: application/json '
-o ' output.mp3 ' Google語音是一種簡單的多平台命令行工具,可使用Google Translate TTS(文本到語音)API讀取文本。
您需要在線與Google服務器通信。
在https://github.com/desbma/googlespeech上了解更多信息
Google Tote-toe-Speech(GTTS)是一個Python庫和CLI工具,可與Google Translate的文本到語音API進行交互。
您需要在線與Google服務器通信。
在https://github.com/pndurette/gtts上了解更多信息
Festival是一個免費的軟件多語言語音綜合工作台,在多平台上運行,將黑匣子文本提供給語音,以及用於語音綜合研究的開放式體系結構。
它離線工作。
在http://www.cstr.ac.ac.uk/projects/festival/和http://festvox.org/festival/上了解更多信息。
ESPEAK是針對Linux和Windows的英語和其他語言的緊湊開源軟件語音合成器。
它離線工作。
在http://espeak.sourceforge.net/上了解更多信息
該項目根據麻省理工學院許可發布。