API Text to Speech Rest pour plusieurs moteurs TTS.
Vous pouvez envoyer un texte pour être converti en audio, en utilisant différents moteurs TTS et effets sonores. Ensuite, vous l'écoutez sur votre périphérique audio local ou recevez le fichier audio résultant.
Tout d'abord, vous devez installer les moteurs TTS pris en charge:
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 Vous devez également installer NodeJS et NPM , puis exécutez simplement npm install et npm start . L'API devrait maintenant fonctionner sur http://localhost:3000 .
Ou vous pouvez simplement utiliser l'image Docker PedroetB / TTS-API, qui a déjà toutes les dépendances configurées.
La seule exigence est d'installer Docker . Ensuite, vous pouvez courir:
docker run --rm -d --name tts-api --device /dev/snd -p 3000:3000 pedroetb/tts-api L'API sera en cours d'exécution et accessible sur http://localhost:3000 .
Alternativement, vous pouvez le déployer dans un cluster Docker Swarm à l'aide docker compose (déjà inclus dans Docker IF Utilisation de la version moderne) et docker swarm (Créer un cluster Swarm en premier):
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 Le service est prêt à être proxénétique avec Trafik et accessible au domaine tts.${TRAEFIK_DOMAIN} . Comment gérer Trafik n'est pas décrit ici, vérifiez son site officiel.
Le proxy a besoin d'un peu d'aide de Caddy , car Docker Swarm n'est pas compatible avec la configuration des appareils (requis pour utiliser les capacités sonores) et Trafik ne peut pas fonctionner avec Docker Contaters et Docker Swarm Services à la fois. De cette façon, seul le service CADDDY est exposé à l'aide de Trafik et tts-api Le conteneur n'est accessible que par le proxy inversé fourni par Caddy (la même manière que Trafik est inversé à Caddy ).
Le conteneur et le service Docker peuvent être exécutés sur différents hôtes, car ils sont en mesure de communiquer via un réseau de superposition Docker. Exécutez le conteneur Docker tts-api sur l'hôte qui a des conférenciers, afin que vous puissiez écouter le discours.
N'oubliez pas de modifier la variable d'environnement TRAEFIK_DOMAIN avant le déploiement.
Lors de l'exécution, l'API recevra des demandes de poste sur http://localhost:3000 . Vous pouvez utiliser votre client REST préféré pour envoyer une demande ou utiliser le formulaire intégré.
Les deux modes (lecture ou téléchargement audio) sont disponibles à l'aide de différents codes vocaux, en sélectionnez un en fonction de vos besoins.
Allez sur http://localhost:3000 avec votre navigateur, remplissez le formulaire de données et soumettez-le. Juste ça.
Vous pouvez envoyer une demande de poste à http://localhost:3000 suivant ce schéma:
application/json{ "voice": "google_speech", "textToSpeech": "hello world", "language": "en", "speed": "1" } Par exemple, en utilisant 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 Spe:
Vous devez être en ligne pour communiquer avec les serveurs Google.
En savoir plus sur https://github.com/desbma/googlespeech
Google Text-to-Speech (GTTS) est une bibliothèque Python et un outil CLI pour s'interfacer avec l'API text-voca-vocation de Google.
Vous devez être en ligne pour communiquer avec les serveurs Google.
En savoir plus sur https://github.com/pndurette/gtts
Festival est un logiciel libre multi-lingual Speech Synthesis Workbench qui fonctionne sur plusieurs plate-formes offrant du texte de la boîte noire à la parole, ainsi qu'une architecture ouverte pour la recherche en synthèse de la parole.
Cela fonctionne hors ligne.
En savoir plus sur http://www.cstr.ed.ac.uk/projects/festival/ et http://festvox.org/festival/
ESPEK est un synthétiseur de discours de logiciel open source compact pour l'anglais et d'autres langues, pour Linux et Windows.
Cela fonctionne hors ligne.
En savoir plus sur http://espeak.sourceforge.net/
Ce projet est publié sous la licence du MIT.