Vad är gTTS?
gTTS är ett open-source Python-bibliotek och kommandoradsverktyg som omvandlar text till talad MP3 via Google Translate's text-till-tal-tjänst. Du kan spara ljudet till en fil, ett fil-liknande objekt för vidare ljudhantering eller direkt till stdout. Verktyget är skapat av Pierre Nicolas Durette, distribueras under MIT-licens och är ett av de mest nedladdade TTS-paketen på PyPI med cirka 175 000 nedladdningar per vecka. Om du någonsin behövt skapa en MP3 från en sträng med tre rader Python är sannolikt gTTS det första du snubblade över.
Men det är viktigt att veta att gTTS inte är Google Cloud Text-to-Speech. Det använder samma odokumenterade backend som "Lyssna"-knappen i Google Translate bygger på. Den skillnaden styr allt nedan: vad gTTS är bra på, dess begränsningar och när du bör välja något annat.

När ska du använda gTTS?
Använd gTTS om du behöver en gratis, snabb prototyp; ett enradskommando för att skapa MP3 från text; flerspråkiga demor; ett hobbyprojekt, ett klassrumsexempel eller ett tillgänglighets-script som läser Google Docs-export högt. Använd inte gTTS om du behöver driftsäkerhet, dokumenterad SLA, röstkloning, SSML, neurala/uttrycksfulla röster, strömmande ljud eller tydlig kommersiell licens.
Hur fungerar gTTS?
gTTS syntetiserar inte tal lokalt. Det bygger en förfrågan till samma backend som finns bakom Google Translate-funktionen "Lyssna", laddar ner den resulterande MP3:an och ger dig bytes. Du behöver internetanslutning, då det inte finns något offline-läge, och ljudet genereras på Googles servrar. Slutpunkten är dessutom odokumenterad och projektet är inte kopplat till Google eller Google Cloud – ändringar där kan plötsligt göra att gTTS slutar fungera.
Installation
bash
pip install gTTS
gTTS kräver Python 3.7 eller nyare och fungerar på macOS, Windows och Linux. Aktuell PyPI-version är 2.5.4 (nov 2024). På Debian-baserade system som Raspberry Pi OS, tänk på att pip-paketet heter gTTS, men apt-paketet heter python3-gtts. Om pip install misslyckas med "externally-managed-environment"-fel på nytt OS, installera i en virtuell miljö istället.
Enkelt exempel
Minsta möjliga exempel:
python
from gtts import gTTS
tts = gTTS("Hello, world.")tts.save("hello.mp3")
Från kommandoraden:
bash
gtts-cli "hello" --output hello.mp3
Välja språk och accent
python
tts = gTTS("Bonjour le monde", lang="fr")tts.save("bonjour.mp3")
gTTS exponerar även regionala undertaggar via tld-parametern – till exempel
tld="co.uk" för brittisk engelska eller tld="ca" för franska med kanadensisk accent – genom att ruta förfrågningarna via olika toppdomäner för Google Translate.
Långsam läsning
python
tts = gTTS("Read this slowly.", lang="en", slow=True)tts.save("slow.mp3")
Det är i princip hela ytan för röststyrning. Det finns ingen pitch-parameter, ingen annan hastighet än slow=True, inget per-röstval och ingen SSML.
Streama till buffert istället för disk
python
from io import BytesIOfrom gtts import gTTS
buf = BytesIO()gTTS("Stream me").write_to_fp(buf)buf.seek(0)# mata nu buf till pydub, ffmpeg, ett webb-svar, etc.
Förbehandling och långa texter
En av gTTS bättre ingenjörsfunktioner är dess tokeniserare. Den delar upp hur lång text som helst i bitar som backenden accepterar (ungefär 100 tecken/begäran), håller intonation över sömmarna och hanterar förkortningar, decimaler och annan interpunktion. Du kan även koppla in egen förbehandling för att fixa uttalsproblem, t.ex. mappa produktnamn/förkortningar till fonetisk stavning.
Vilka är fördelarna med gTTS?
gTTS (Google Text-to-Speech) är populärt bland utvecklare tack vare sin lättviktighet, enkelhet och smidiga integrering i Python-projekt. Det kan skapa MP3-ljudfiler och spara direkt till fil, fil-liknande objekt eller stdout, vilket gör det flexibelt för automatisering och script. Med stöd för cirka 60 språk och flera dialektvarianter via språk/land-parametrar får du bred flerspråkstäckning i enkla lösningar. CLI-verktyget (gtts-cli) gör det enkelt även i shellscript, och tokeniserare samt förbehandlingsstöd underlättar hantering av förkortningar, siffror och textomstuvningar. Det minimalistiska Python-API:et gör det lätt att lägga till talstöd i Jupyter-notebooks, Flask-appar, Discord-botar och andra lätta projekt utan brant inlärningskurva.
Vilka är nackdelarna med gTTS?
Trots enkelheten har gTTS tydliga begränsningar jämfört med moderna AI-röstplattformar. Rösterna baseras på vanliga Google Translate-talsynteser och saknar den naturliga intonation, känsla och realism som nyare neurala text-till-tal-system ger. Du kan inte välja olika röster inom samma språk, och avancerade inställningar som SSML-stöd, pitch eller exakt hastighetskontroll saknas. gTTS kräver att hela MP3-filen laddas ner innan uppspelning – ingen realtidsströmning, vilket kan göra appar trögare. Eftersom varje förfrågan kräver internet fungerar gTTS inte offline och passar sämre för miljöer med krav på stabilitet eller låg fördröjning.
Vilka begränsningar har gTTS för utvecklare?
1. Hastighetsbegränsning på odokumenterad endpoint
Detta är den största fällan för alla som går längre än "hello world". gTTS publicerar inget användartak, och källtjänsten gör det inte heller. Vanligen kan en IP driva tiotusentals tecken per timme innan Google svarar med HTTP 429; exakt gräns varierar. Om din app genererar ljud åt många via samma server når du till slut dessa gränser utan någon SLA.
2. Slutpunkten kan ändras när som helst
Eftersom gTTS riktar sig mot Google Translate internt, inte mot ett versionerat publikt API, kan Google (och har tidigare gjort) ändra API:t och därmed göra att gTTS slutar fungera. Upprätthållaren släpper en fix, du
pip install -U gTTS, och allt fungerar igen. Det är okej för skript. För driftsmiljö 02:00 på natten, mindre bra.
3. Underhållstakt
Projektet släpper fortfarande nya versioner, minst en det senaste året, men triage av buggar går långsamt och "bus factor" är i princip en person. Vissa indikatorer klassar repot som "inaktivt". Det är väntat för ett gratis MIT-verktyg – men fundera på om det ska vara ett centralt beroende i en betald produkt.
4. Otydliga regler vid kommersiellt bruk
Eftersom gTTS går mot öppna Google Translate och inte Cloud TTS finns ingen klarhet i licensvillkor för kommersiellt bruk. Själva biblioteket har MIT-licens; ljudet omfattas dock av Googles villkor för en tjänst som inte är officiellt öppnad som TTS-API. Om jurister vill ha ett tydligt svar ger inte gTTS det.
5. Känslig data skickas till Google
Varje sträng du syntetiserar skickas till Googles servrar. Om du läser interna dokument, persondata eller innehåll från Google Docs med mera är det en dataskyddsfråga att väga in innan leverans.
Vad är skillnaden på gTTS och Google Cloud Text-to-Speech?
gTTS och Google Cloud Text-to-Speech förväxlas ibland, men är inte samma produkt. Skillnaderna är:
Om du behöver Google-rösten i produktion bör du nästan alltid välja Google Cloud TTS, inte gTTS.
När bör du uppgradera till ett professionellt TTS-API?
När man går från gTTS till ett professionellt text-till-tal-API beror på hur viktiga ljudkvalitet, pålitlighet och anpassning är för ditt projekt. gTTS räcker för prototyper, portfolio, egna tillgänglighets-verktyg, demor och experiment tack vare att det är gratis och enkelt. Men ska du lansera till kunder, kräva bättre tal eller förutsägbara svarstider/SLA blir professionella lösningar viktigare. Uppgradera om du behöver röstval, röstkloning, SSML, strömmande ljud eller tydliga licensvillkor för affärer/juridik. Så snart projekt går från test till produktion blir dessa egenskaper ofta avgörande.
Ska du välja gTTS eller Speechifys API?
Speechifys text-till-tal API är en officiellt stödd betaltjänst med neurala röster, flera röstval per språk, SSML-stöd och kommersiell licens direkt i avtalet – inte bara ett skal runt en odokumenterad endpoint. Om du stör dig på gTTS begränsningar, ljudkvalitet eller oklar TOS är detta värt att byta till.
FAQ
Är gTTS gratis?
Ja, gTTS är gratis och MIT-licensierat för Python, men för licensierat ljud för kommersiellt bruk bör du välja en betaltjänst som Speechify API.
Fungerar gTTS offline?
Nej, gTTS kräver internet eftersom det skickar data till Googles servrar. Samma sak gäller Speechify API, som är molnbaserat.
Kan jag använda gTTS kommersiellt?
Licensen för gTTS-ljud är oklar för kommersiellt bruk, eftersom det bygger på ett odokumenterat Google-endpoint, medan Speechify API har explicit kommersiell licens.
Hur byter jag röst i gTTS?
Du kan inte välja olika röster i gTTS. En röst per språk, medan Speechify API har en katalog av neurala röster.
Har gTTS SSML-stöd?
Nej, gTTS har inget SSML-stöd, ingen pitchjustering och ingen exakt hastighetskontroll. Speechify API har däremot stöd för full prosodikontroll med SSML.
Varför får jag HTTP 429 från gTTS?
Du har nått Google Translate's odokumenterade begränsning för antalet förfrågningar, vilket är en vanlig orsak för utvecklare att gå över till ett API med riktig SLA, som Speechify API.
Är gTTS samma som Google Cloud Text-to-Speech?
Nej, gTTS är ett omslag runt ett inofficiellt Google Translate-endpoint, medan Google Cloud TTS är en separat betaltjänst. Speechify API är ett annat betalt alternativ med neurala röster.
Bästa Python TTS-biblioteket för produktion?
gTTS duger för prototyper men inte för produktion; för produktion går de flesta över till ett betalt API, t.ex. Speechify API.
Kan gTTS klona en röst?
Nej, röstkloning stöds inte i gTTS, men finns i Speechify API.
Hur strömmar jag ljud med gTTS?
gTTS har inget stöd för realtidsströmning. Du får en färdig MP3; för strömmande stöd med låg fördröjning, använd Speechify API.

