API de REST de texto para fala para vários motores TTS.
Você pode enviar um texto para ser convertido em áudio, usando diferentes motores TTS e efeitos sonoros. Em seguida, você o ouvirá no seu dispositivo de áudio local ou receberá o arquivo de áudio resultante.
Primeiro, você deve instalar os motores TTS suportados:
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 Você também precisa instalar o NodeJS e o NPM e, em seguida, basta executar npm install e npm start . A API agora deve estar em execução em http://localhost:3000 .
Ou você pode apenas usar a imagem Pedroetb/TTS-API Docker , que já possui todas as dependências configuradas.
O único requisito é instalar o Docker . Então, você pode correr:
docker run --rm -d --name tts-api --device /dev/snd -p 3000:3000 pedroetb/tts-api A API estará em execução e acessível em http://localhost:3000 .
Como alternativa, você pode implantá -lo em um cluster de enxame do Docker usando docker compose (já incluído no Docker se estiver usando a versão moderna) e docker swarm (crie o swarm cluster primeiro):
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 O serviço está preparado para ser reverso generoso com o Traefik e acessível no domínio tts.${TRAEFIK_DOMAIN} . Como executar o Traefik não é descrito aqui, verifique seu site oficial.
O proxy precisa de uma pequena ajuda do Caddy , porque o Docker Swarm não é compatível com a configuração de dispositivos (necessários para usar recursos de som) e o Traefik não pode trabalhar com contêineres do Docker e serviços de enxame de Docker de uma só vez. Dessa forma, apenas o serviço de caddy é exposto usando o contêiner Traefik e tts-api é acessível apenas através da proxy reversa fornecida pelo Caddy (a mesma maneira que o Traefik é reverso para o Caddy ).
Ambos, o Docker Container e o Service, podem estar em execução em diferentes hosts, porque podem se comunicar através de uma rede de sobreposição do Docker. Execute o contêiner tts-api Docker no host que possui alto-falantes, para que você possa ouvir o discurso.
Não se esqueça de editar variável de ambiente TRAEFIK_DOMAIN antes de implantar.
Ao executar, a API receberá solicitações de postagem em http://localhost:3000 . Você pode usar seu cliente REST favorito para enviar uma solicitação ou usar o formulário interno.
Ambos os modos (reproduzindo ou baixando áudio) estão disponíveis usando diferentes códigos de voz, selecione um de acordo com suas necessidades.
Vá para http://localhost:3000 com o navegador, preencha o formulário com dados e envie -os. Apenas isso.
Você pode enviar uma solicitação de postagem para http://localhost:3000 seguindo este esquema:
application/json{ "voice": "google_speech", "textToSpeech": "hello world", "language": "en", "speed": "1" } Por exemplo, usando 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 ' O Discurso do Google é uma ferramenta simples de linha de comando multiplataform para ler o texto usando a API do Google Translate TTS (texto para fala).
Você precisa estar online para se comunicar com os servidores do Google.
Saiba mais em https://github.com/desbma/googlespeech
O Google Text-to-Speal (GTTS) é uma biblioteca Python e uma ferramenta CLI para interagir com a API de texto em fala do Google Translate.
Você precisa estar online para se comunicar com os servidores do Google.
Saiba mais em https://github.com/pndurette/gtts
O Festival é um Workbench de síntese de fala multilíngue de software livre que é executado em várias plataformas, oferecendo texto da caixa preta para a fala, bem como uma arquitetura aberta para pesquisa na síntese de fala.
Funciona offline.
Saiba mais em http://www.cstr.ed.ac.uk/projects/festival/ e http://festvox.org/festival/
O Espeak é um sintetizador de fala de software de código aberto compacto para inglês e outros idiomas, para Linux e Windows.
Funciona offline.
Saiba mais em http://espeak.sourceforge.net/
Este projeto é divulgado sob a licença do MIT.