Mi az a gTTS?
A gTTS egy nyílt forráskódú Python könyvtár és parancssori eszköz, amely szöveget alakít át MP3 hangfájllá a Google Translate szövegfelolvasó végpontját használva. A kimenetet fájlba, fájlszerű objektumba (további audiofeldolgozáshoz), vagy közvetlenül stdout-ba is írhatod. Pierre Nicolas Durette készítette, MIT licenc alatt érhető el, és a PyPI egyik legnépszerűbb TTS csomagja, heti kb. 175 000 letöltéssel. Ha valaha pár Python sorból szerettél volna MP3-at készíteni egy szövegből, nagy eséllyel először a gTTS-t találtad meg.
Fontos azonban, hogy a gTTS nem azonos a Google Cloud Text-to-Speech szolgáltatással, hanem ugyanazt a dokumentálatlan háttérrendszert használja, amely a Google Fordító „Meghallgatás” gombját működteti. Ez a különbség sok mindent meghatároz: mire jó a gTTS, hol vannak a korlátai, és mikor érdemes inkább másik megoldást választani.

Mikor használd a gTTS-t?
gTTS-t akkor használj, ha ingyenes, gyors prototípust szeretnél; egyszerű MP3 generálást szövegből; többnyelvű demókat; hobbiprojektet, tantermi példát vagy akadálymentesítő szkriptet, amely hangosan felolvas egy Google Docs exportot. Ne használd, ha üzemi megbízhatóság, dokumentált SLA, hangklónozás, SSML vezérlés, neurális vagy kifejező hangok, streaming audio, vagy egyértelmű kereskedelmi licenc a követelmény.
Hogyan működik a gTTS?
A gTTS nem helyben szintetizál, hanem elküldi a szöveget a Google Fordító „Meghallgatás” háttérrendszerének, letölti az MP3-at, és visszaadja a bájtokat. Ezért aktív internetkapcsolat szükséges (nincs offline mód), és a hangot a Google szerverei generálják, nem a saját géped. Ez egy nem hivatalos végpont: a projekt nem áll kapcsolatban a Google-lel vagy a Google Clouddal, így egy upstream változás bármikor megakaszthatja.
Telepítés
bash
pip install gTTS
A gTTS Python 3.7 vagy újabb verziót igényel, működik macOS, Windows és Linux alatt. A legfrissebb PyPI verzió: 2.5.4 (2024. november). Debian-alapú rendszereken (pl. Raspberry Pi OS) figyelj a kis- és nagybetűkre: pip esetén a csomag neve gTTS, míg apt-nál python3-gtts. Ha a pip install „externally-managed-environment” hibával leáll, használj virtuális környezetet!
Alap használat
A legegyszerűbb példa:
python
from gtts import gTTS
tts = gTTS("Hello, world.")tts.save("hello.mp3")
Parancssorból:
bash
gtts-cli "hello" --output hello.mp3
Nyelv és akcentus választása
python
tts = gTTS("Bonjour le monde", lang="fr")tts.save("bonjour.mp3")
A gTTS régiós altageket is támogat a tld paraméterrel – pl.
tld="co.uk" brit angolhoz vagy tld="ca" kanadai francia akcentushoz – ezeket különböző Translate domainekhez irányítja.
Lassú mód
python
tts = gTTS("Read this slowly.", lang="en", slow=True)tts.save("slow.mp3")
Nagyjából ennyi a beszédvezérlési lehetőség. Nincs pitch, nincs sebesség csúszka (csak slow=True), nincs több hang vagy SSML.
Kimenet pufferbe, nem lemezre
python
from io import BytesIOfrom gtts import gTTS
buf = BytesIO()gTTS("Stream me").write_to_fp(buf)buf.seek(0)# most buf mehet pl. pydub, ffmpeg, webes választ generáló függvényekbe
Előfeldolgozás és hosszú szöveg
A gTTS egyik leghasznosabb szolgáltatása a tokenizálója. Tetszőlegesen hosszú szöveget tördel backend-barát darabokra (egy kérésbe kb. 100 karakter fér), közben megtartja a hanglejtést a szavak között, kezeli a rövidítéseket, számokat, írásjelhelyzeteket. Egyéni előfeldolgozók is beilleszthetők, például terméknevek vagy rövidítések fonetikus átírásához.
Mik a gTTS előnyei?
A gTTS (Google Text-to-Speech) közkedvelt a fejlesztők között, mert könnyű, egyszerű a beállítása, és jól illeszkedik a Python munkafolyamatokba. MP3 fájlokat generálhat, és fájlba, fájlszerű objektumba vagy stdout-ra menthet, így rugalmas scriptekhez, automatizáláshoz. Körülbelül 60 nyelvet és több dialektust támogat nyelvi és domain beállításokkal, ezért jó választás egyszerű többnyelvű feladatokra. A parancssoros felület (gtts-cli) shell szkriptekkel is használható, és a testreszabható tokenizáló, előfeldolgozó kezeli a rövidítéseket, számokat stb. A Python API minimális, így könnyű hozzáadni pl. Jupyter jegyzetfüzetekhez, Flask appokhoz, Discord botokhoz vagy más könnyű projektekhez, különösebb tanulási görbe nélkül.
Mik a gTTS hátrányai?
Egyszerűsége miatt a gTTS-nek több hátránya is van a modern AI hangplatformokhoz képest. A hangok a Google Translate alap kimenetén alapulnak, így használhatók, de hiányzik belőlük a természetes hanglejtés, érzelem és realizmus, amit az újabb neurális text-to-speech rendszerek tudnak. A felhasználók nem választhatnak több hang közül, nincsenek speciális vezérlők (pl. SSML támogatás, hangmagasság, beszédtempó finomhangolása). A gTTS-nél le kell tölteni a teljes MP3-at a lejátszáshoz, nincs valós idejű streaming, ami növeli a késleltetést. Továbbá minden kéréshez internet és hálózati elérés kell, így offline nem működik, és interaktív, alacsony késleltetésű alkalmazásokhoz kevésbé alkalmas.
Fejlesztőként milyen limitációi vannak a gTTS-nek?
1. Limitálás egy dokumentálatlan végponton
Ez a legnagyobb buktató a "hello world" példán túllépőknek. gTTS nem ad ki kvótákat, mert az upstream szolgáltatás sem. Tapasztalat szerint egyetlen IP-ről óránként legfeljebb néhány tízezer karakter küldhető, mielőtt a Google HTTP 429-et ad vissza, és a felső határ forgalomtól függ. Ha egy szerver sok felhasználónak generál hangot, egy idő után limitbe fut, SLA nélkül.
2. A végpont bármikor megváltozhat
Mivel a gTTS egy belső Google Translate útvonalat használ (nem verzionált nyilvános API-t), a Google bármikor, akár egyik napról a másikra is megváltoztathatja a kérés vagy válasz szerkezetét. A fejlesztő javítja, te
pip install -U gTTS és minden megy tovább – hobbiszkripthez jó, de egy éles éjszakai deploynál nem az igazi.
3. Karbantartás ritkán
A projekt még ad ki verziókat, legalább évente egyszer, de a hibakezelés lassú, és lényegében egy emberre épül. Vannak csomagfigyelők, melyek szerint a repo „inaktív”. Egy ingyenes MIT-licencű szoftvernél ez előfordul, de fizetős termék fő függőségeként érdemes kétszer is meggondolni.
4. Üzleti/jogi bizonytalanság
Mivel a gTTS a Google Fordító frontendjét használja, nem a Cloud TTS-t, a generált hang kereskedelmi felhasználásának joga nincs tisztázva. Maga a könyvtár MIT licencű, a hangfájlt viszont a Google nem TTS API szolgáltatási feltételei szabályozzák. Ha jogi szempontból egyértelmű válasz kell, a gTTS nem nyújt kapaszkodót.
5. Érzékeny adat elhagyja a géped
Minden szöveget, amit felolvastatsz, a Google szerverei kapnak meg. Ha belső dokumentumokat, ügyféladatot vagy Google Docs tartalmat szintetizálsz, érdemes végiggondolni, hogy ez adatvédelmi szempontból belefér-e.
Mi a különbség a gTTS és a Google Cloud Text-to-Speech között?
Bár a gTTS-t gyakran összekeverik a Google Cloud Text-to-Speech-csel, nem ugyanaz a termék. A fő különbségek:
Ha Google hang kell éles projekthez, szinte biztos, hogy inkább a Google Cloud TTS-re van szükséged, nem a gTTS-re.
Mikor válts professzionális TTS API-ra?
Akkor érdemes gTTS-ről profi text-to-speech API-ra váltani, ha fontos a hangminőség, a megbízhatóság vagy a testreszabás. A gTTS jól működik prototípusokhoz, személyes akadálymentesítő eszközökhöz, oktatási példákhoz, mert ingyenes és könnyű beállítani. De ha fizető ügyfeleket szolgálsz ki, kritikus a beszédminőség, vagy garantált szolgáltatási szint kell, érdemes professzionális szolgáltatásra váltani. Akkor is érdemes, ha többféle hang, hangklónozás, SSML támogatás, streaming hang vagy részletes tempó- és kiejtésvezérlés, illetve tiszta kereskedelmi licencelés kell. Ahogy a projekt nő, ezek előbb-utóbb szükségessé válnak.
gTTS vagy a Speechify API-t válaszd?
A Speechify text-to-speech API hivatalosan támogatott, fizetős szolgáltatás, neurális hangokkal, több hanggal nyelvenként, SSML támogatással és szerződésbe foglalt kereskedelmi licenccel – nem egy dokumentálatlan végpont felülete. Ha a gTTS limitjei, hangminősége vagy jogi bizonytalansága akadályoz, érdemes elgondolkodni a váltáson.
GYIK
Ingyenes a gTTS?
Igen, a gTTS ingyenes, MIT licencű Python könyvtár, de kereskedelmileg licencelt hanghoz fizetős szolgáltatás, pl. a Speechify API ajánlott.
Működik offline a gTTS?
Nem, a gTTS csak online működik (Google szervereket hív meg), és a Speechify API is felhőalapú szolgáltatás.
Használható gTTS kereskedelmi termékben?
A gTTS hangfájlok üzleti jogállása nem egyértelmű, mert egy dokumentálatlan Google végpontot használ – a Speechify API viszont világos licenccel érhető el.
Hogyan válthatok hangot a gTTS-ben?
Alapértelmezés szerint nem lehet – gTTS csak egy hangot ad nyelvenként, míg a Speechify API hangkatalógusból kínál választást.
Támogatja a gTTS az SSML-t?
Nem, a gTTS nem tud SSML-t, nincs hangmagasság- vagy sebességvezérlés. A Speechify API viszont teljes SSML-t tud.
Miért ad HTTP 429 hibát a gTTS?
Elérted a Google Fordító dokumentálatlan limitjét. Ez gyakori ok, amiért fejlesztők SLA-t kínáló, fizetős szolgáltatásra (pl. Speechify API) váltanak.
Ugyanaz a gTTS és a Google Cloud Text-to-Speech?
Nem, a gTTS egy nem hivatalos Google Fordító végpontot csomagol, míg a Google Cloud TTS egy külön fizetős termék, a Speechify API pedig neurális hangokat kínáló fizetős alternatíva.
Melyik a legjobb Python TTS könyvtár éles projekthez?
A gTTS prototípusra jó, de éles rendszerekhez a legtöbben fizetős API-t (pl. Speechify API) használnak.
Tud a gTTS hangot klónozni?
Nem, hangklónozás nem támogatott gTTS-ben, de elérhető Speechify API-val.
Hogyan streameljek hangot gTTS-sel?
gTTS nem támogat valós idejű streaminget: csak kész MP3-at ad vissza. Alacsony késleltetéshez használj Speechify API-t.

