Qu'est-ce que gTTS ?
gTTS est une bibliothèque Python open source et un outil en ligne de commande qui convertit du texte en audio MP3 parlé, en utilisant le point de terminaison text-to-speech de Google Translate. Vous pouvez écrire le résultat dans un fichier, un objet de type fichier pour traiter l’audio, ou directement dans stdout. Créé par Pierre Nicolas Durette, distribué sous licence MIT, c’est l’un des packages TTS les plus téléchargés sur PyPI, avec environ 175 000 téléchargements hebdomadaires au moment d’écrire ces lignes. Si vous avez déjà voulu transformer une chaîne de caractères en MP3 en trois lignes de Python, gTTS a sûrement été votre premier résultat.
Mais il est important de noter que gTTS n’est pas Google Cloud Text-to-Speech. Il utilise le même backend non documenté qui fait fonctionner le bouton « Écouter » dans Google Translate. Cette distinction influence tout ce qui suit : ce en quoi gTTS est bon, là où il échoue, et quand il vaut mieux se tourner vers autre chose.

Quand utiliser gTTS ?
Utilisez gTTS si vous avez besoin d’un prototypage gratuit et rapide : une commande pour générer des fichiers MP3 à partir de texte ; pour des démos multilingues, un projet perso, un exemple en classe ou un script d’accessibilité qui lit à voix haute une exportation Google Docs. N’utilisez pas gTTS si vous avez besoin d’une fiabilité en production, d’un SLA documenté, de clonage vocal, de contrôle SSML, de voix neuronales ou expressives, de streaming audio ou d’une licence commerciale claire.
Comment fonctionne gTTS ?
gTTS ne synthétise pas la voix localement. Il construit une requête vers le backend qui alimente la fonction « Écouter » de Google Translate, télécharge le MP3 généré, et vous renvoie les octets. Il faut donc une connexion Internet active, car il n’y a pas de mode hors ligne. L’audio vient des serveurs Google, pas du vôtre. Le point de terminaison n’est pas officiel. gTTS n’est pas affilié à Google ni Google Cloud, et toute modification amont peut le casser à tout moment.
Installation
bash
pip install gTTS
gTTS requiert Python 3.7 ou une version plus récente et fonctionne sur macOS, Windows et Linux. La version PyPI actuelle est 2.5.4 (novembre 2024). Sur Debian et dérivés, dont Raspberry Pi OS, attention à la casse : le package pip est gTTS, alors que le package apt est python3-gtts. Si l’installation via pip échoue avec une erreur « externally-managed-environment » sur un OS récent, installez dans un environnement virtuel.
Utilisation basique
L’exemple minimal :
python
from gtts import gTTS
tts = gTTS("Hello, world.")tts.save("hello.mp3")
Depuis la ligne de commande :
bash
gtts-cli "hello" --output hello.mp3
Langues et accents
python
tts = gTTS("Bonjour le monde", lang="fr")tts.save("bonjour.mp3")
gTTS propose aussi des variantes régionales via le paramètre tld — par exemple
tld="co.uk" pour l’anglais britannique ou tld="ca" pour le français canadien, en passant par différents domaines Google Translate.
Mode lent
python
tts = gTTS("Read this slowly.", lang="en", slow=True)tts.save("slow.mp3")
C’est à peu près tout pour les contrôles de la voix. Pas de paramètre de pitch, pas de réglage autre que slow=True, pas de sélection de voix, pas de SSML.
Streamer vers un buffer au lieu du disque
python
from io import BytesIOfrom gtts import gTTS
buf = BytesIO()gTTS("Stream me").write_to_fp(buf)buf.seek(0)# now feed buf into pydub, ffmpeg, a web response, etc.
Prétraitement et texte long
Un des points forts techniques de gTTS est son tokeniseur. Il découpe l’entrée, même très longue, en segments que le backend accepte (environ 100 caractères max), préserve l’intonation entre les parties et gère abréviations, décimaux et ponctuation. Vous pouvez aussi ajouter des pré-processeurs pour corriger des prononciations récurrentes — par exemple, transcrire des noms de produits ou sigles en phonétique.
Quels sont les avantages de gTTS ?
gTTS (Google Text-to-Speech) est apprécié des développeurs car il est léger, simple à utiliser et s’intègre bien dans un workflow Python. Il peut générer des fichiers audio MP3, enregistrer la sortie dans des fichiers, objets de type fichier ou stdout, offrant une bonne flexibilité pour l’automatisation. Avec une prise en charge d’environ 60 langues et variantes d’accents via les paramètres de langue et de domaine, il offre une couverture multilingue pour les petites applis. Son interface en ligne de commande (gtts-cli) fonctionne bien dans les scripts shell, et les tokeniseurs/pré-processeurs personnalisables permettent de gérer abréviations, chiffres et corrections de texte. Son API Python minimaliste facilite l’ajout de fonctions vocales dans les notebooks Jupyter, apps Flask, bots Discord, etc., sans grosse courbe d’apprentissage.
Quels sont les inconvénients de gTTS ?
Malgré sa simplicité, gTTS présente des limites notables face aux plateformes voix IA modernes. Les voix reposent sur le rendu vocal standard de Google Translate : elles sont correctes, mais manquent d’intonation naturelle, d’émotion et de réalisme qu’offrent les nouveaux systèmes TTS neuronaux. Il n’est pas possible de choisir différents styles dans une langue, ni de profiter de commandes avancées comme le support SSML, le réglage de la hauteur ou du débit précis. gTTS nécessite aussi de télécharger tout le MP3 avant lecture, sans streaming en temps réel, ce qui ajoute de la latence pour des usages interactifs. Enfin, comme chaque requête dépend d’internet et d’un appel réseau, gTTS n’est pas utilisable hors ligne, ce qui le rend peu adapté là où la fiabilité ou une faible latence sont cruciales.
Quelles sont les limites de gTTS pour les développeurs ?
1. Limitation de débit sur un endpoint non documenté
C’est le principal piège au-delà d’un simple « hello world ». gTTS ne publie pas de quota car le service en amont non plus. En pratique, une seule IP peut envoyer plusieurs dizaines de milliers de caractères par heure avant d’obtenir des erreurs HTTP 429, et la limite varie selon le trafic. Si votre application génère de l’audio pour de nombreux utilisateurs, vous atteindrez ces limites sans garantie de SLA.
2. L’endpoint peut changer sans prévenir
Comme gTTS cible une route interne à Google Translate plutôt qu’une API publique avec version, Google peut casser le fonctionnement du jour au lendemain en changeant signatures de requête ou réponses. Le mainteneur publie un correctif, vous
pip install -U gTTS, et tout repart. C’est parfait pour un script hobby. Ce n’est pas l’idéal en production à 2h du matin.
3. Fréquence de maintenance
Le projet publie encore des versions (au moins une ces 12 derniers mois), mais le tri des tickets est lent et il n’y a pratiquement qu’un seul mainteneur. Certains agrégateurs classent le dépôt comme « inactif ». Pour une bibliothèque MIT gratuite, c’est courant : en tant que dépendance critique dans un produit payant, ça mérite réflexion.
4. Ambiguïté commerciale et TOS
gTTS passe par le frontend Google Translate, pas Google Cloud TTS : la licence d’utilisation de l’audio généré à des fins commerciales n’est indiquée nulle part. La bibliothèque elle-même est MIT, mais les octets reçus sont soumis aux CGU Google pour un service qui n’est pas une API TTS formelle. Si votre service juridique exige une réponse claire, gTTS ne la fournira pas.
5. Les données sensibles quittent votre machine
Toute chaîne synthétisée est envoyée aux serveurs Google. Si vous vocalisez des documents internes, des PII clients ou du contenu extrait de Google Docs, posez-vous la question de gouvernance des données avant toute mise en production.
Quelle est la différence entre gTTS et Google Cloud Text-to-Speech ?
Bien que gTTS et Google Cloud Text-to-Speech soient souvent confondus, ce ne sont pas les mêmes produits. Voici les principales différences :
Si vous voulez la voix Google en production, Google Cloud TTS est presque toujours préférable à gTTS.
Quand passer à une API TTS professionnelle ?
Le bon moment pour passer de gTTS à une API TTS professionnelle dépend de l’importance, pour votre projet, de la qualité audio, de la fiabilité et de la personnalisation. gTTS est adapté aux prototypes, projets perso, outils d’accessibilité, démos pédagogiques et expérimentations car il est simple et gratuit. Mais si vous lancez un produit, comptez sur la voix dans l’expérience utilisateur, ou avez besoin d’une faible latence garantie par contrat, une solution pro devient indispensable. Il faut aussi envisager une montée en gamme pour disposer de voix variées, de clonage vocal, de support SSML, de streaming audio, de réglages fins de la diction ou d’une licence commerciale claire. Dès que l’expérimentation devient de la production, ces options passent de bonus à indispensables.
Faut-il choisir gTTS ou l'API Speechify ?
L’API Speechify est un service payant officiel, avec voix neuronales, choix de voix multiples par langue, SSML et licence commerciale intégrée au contrat, sans passerelle vers un endpoint non documenté. Si les limites de gTTS, la qualité de voix ou l’ambiguïté des CGU vous freinent, c’est le type de migration à envisager.
FAQ
gTTS est-il gratuit ?
Oui, gTTS est une bibliothèque Python gratuite sous licence MIT, mais pour de l’audio licencié commercialement, il vaut mieux un service payant comme l'API Speechify.
gTTS fonctionne-t-il hors-ligne ?
Non, gTTS nécessite une connexion Internet car il appelle les serveurs Google, tout comme l'API Speechify qui est un service cloud.
Puis-je utiliser gTTS dans un produit commercial ?
La licence de sortie gTTS pour un usage commercial est ambiguë car elle dépend d’un endpoint Google non documenté, tandis que l'API Speechify fournit une licence commerciale explicite.
Comment changer de voix dans gTTS ?
Ce n’est pas possible. gTTS fournit une voix par langue, tandis que l'API Speechify propose un catalogue de voix neuronales au choix.
gTTS supporte-t-il le SSML ?
Non, gTTS ne propose pas de support SSML, ni de contrôle de la hauteur ou du débit précis, mais l'API Speechify gère le SSML pour un contrôle complet de la prosodie.
Pourquoi gTTS retourne-t-il des erreurs HTTP 429 ?
Vous avez dépassé la limite non documentée de Google Translate, raison courante pour migrer vers un service avec véritable SLA comme l'API Speechify.
gTTS est-il identique à Google Cloud Text-to-Speech ?
Non, gTTS utilise un endpoint Google Translate non officiel, Google Cloud TTS est un produit payant différent — et l'API Speechify est une autre alternative payante avec voix neuronales.
Quelle est la meilleure bibliothèque TTS Python en production ?
gTTS convient aux prototypes mais pas à la production : en production, la plupart des développeurs se tournent vers une API payante comme l'API Speechify.
gTTS peut-il cloner une voix ?
Non, le clonage de voix n’est pas pris en charge par gTTS, mais il l’est via l'API Speechify.
Comment streamer l’audio avec gTTS ?
gTTS ne propose pas de streaming en temps réel, il renvoie un MP3 complet, donc pour du streaming à faible latence préférez l'API Speechify.

