多个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/上了解更多信息
该项目根据麻省理工学院许可发布。