Kas yra gTTS?
gTTS yra atvirojo kodo Python biblioteka ir komandų eilutės įrankis, kuris tekstą paverčia į kalbamą MP3 garso įrašą, naudodamas Google Translate teksto į kalbą funkciją. Išvestį galite įrašyti į failą, failo tipo objektą tolesniam apdorojimui arba tiesiai į stdout. Ją sukūrė Pierre Nicolas Durette, ji platinama pagal MIT licenciją ir yra vienas populiariausių TTS paketų PyPI, turintis apie 175 000 atsisiuntimų per savaitę rašymo metu. Jei kada nors reikėjo tekstą paversti MP3 vos su trimis Python eilutėmis, gTTS veikiausiai atsidūrė sąrašo viršuje.
Tačiau svarbu pabrėžti, kad gTTS nėra Google Cloud Text-to-Speech. Ji jungiasi prie to paties neišviešinto backend'o, kaip ir Google Translate „Klausyti“ mygtukas. Nuo to priklauso, kur gTTS stipriausia, kur ji stringa ir kada geriau rinktis kitus sprendimus.

Kada rinktis gTTS?
Rinkitės gTTS, jei reikia nemokamo, greito prototipo; paprasto būdo generuoti MP3 iš teksto; kelių kalbų demonstracijoms; hobių projektui, mokyklos pavyzdžiui ar prieinamumo skriptui, kuris garsiai skaito Google Docs eksportą. Nenaudokite gTTS, jei reikalingas patikimumas gamyboje, dokumentuotas SLA, balso klonavimas, SSML valdymas, neuroniniai balsai, transliacija ar aiški komercinė licencija.
Kaip veikia gTTS?
gTTS nekonvertuoja balso lokaliai. Ji formuoja užklausą tam pačiam Google Translate „Klausyti“ backendui, atsisiunčia sugeneruotą MP3 ir grąžina baitus. Reikia aktyvaus interneto, nes nėra offline režimo, o garso įrašai kuriami Google serveriuose. Tai irgi oficialiai nepalaikomas adresas. Projektas nėra susijęs su Google ar Google Cloud – Google sistemos pasikeitimai gali sugadinti funkcionalumą be įspėjimo.
Įdiegimas
bash
pip install gTTS
gTTS reikia Python 3.7 arba naujesnės versijos, ji veikia macOS, Windows ir Linux sistemose. Dabartinė PyPI versija 2.5.4 (2024 lapkritis). Debian pagrindu veikiančiose sistemose (pvz., Raspberry Pi OS) atkreipkite dėmesį į didžiųjų/mažųjų raidžių skirtumą: pip paketas yra gTTS, apt paketas – python3-gtts. Jei pip install naujoje OS meta externally-managed-environment klaidą, instaliuokite virtualioje aplinkoje.
Pagrindinis naudojimas
Minimalus pavyzdys:
python
from gtts import gTTS
tts = gTTS("Hello, world.")tts.save("hello.mp3")
Iš komandinės eilutės:
bash
gtts-cli "hello" --output hello.mp3
Kaip pasirinkti kalbą ir akcentą
python
tts = gTTS("Bonjour le monde", lang="fr")tts.save("bonjour.mp3")
gTTS leidžia naudoti regioninius sub-tagus su tld parametru – pvz.
tld="co.uk" britų anglų akcentui arba tld="ca" kanadiečių prancūzų akcentui – užklausa nukreipiama per kitus Google Translate domenus.
Lėtas režimas
python
tts = gTTS("Read this slowly.", lang="en", slow=True)tts.save("slow.mp3")
Ir tai visas valdymas: nėra tono/pitch, greičio slankiklio (tik slow=True), pasirenkamų balsų ar SSML.
Transliuoti į buferį vietoje disko
python
from io import BytesIOfrom gtts import gTTS
buf = BytesIO()gTTS("Stream me").write_to_fp(buf)buf.seek(0)# dabar buf galite naudoti pydub, ffmpeg, web atsake ir t.t.
Išankstinis apdorojimas ir ilgi tekstai
Viena geriausių gTTS funkcijų – jos skaldytuvas (tokenizer). Jis dalija ilgesnius įvesties tekstus į dalis, kurias backend priima (vienai užklausai apie 100 simbolių), išlaiko intonaciją per sujungimus ir tvarko santrumpas, skaičius, skyrybą. Taip pat galite prijungti savo preprocesorius – pvz., produktų pavadinimų ar santrumpų keitimui į fonetinius užrašymus.
Kokie yra gTTS privalumai?
gTTS (Google Text-to-Speech) populiari tarp programuotojų, nes yra lengva, paprastai integruojama ir puikiai tinka Python projektams. Ji gali generuoti MP3 ir rašyti juos tiesiai į failus, failo objektus ar stdout – patogu automatizavimui bei scenarijams. Palaiko apie 60 kalbų ir daug dialektų per kalbos bei domeno parametrus, tad pasiekia plačią auditoriją. Yra komandų eilutės įrankis (gtts-cli), kuris veikia su shell skriptais, taip pat galima tinkinti skaldytuvus ir preprocesorius, tvarkant santrumpas, skaičius, tekstų keitimus. Python API itin minimali, todėl paprasta pridėti balsą Jupyter notebook, Flask ar Discord botui bei kitiems mažesniems projektams be ilgo mokymosi.
Kokie yra gTTS trūkumai?
Nors gTTS paprasta, ji ribota lyginant su šiuolaikinėmis AI balsų platformomis. Balsai paremti standartiniu Google Translate garsu – jie skamba funkcionaliai, bet stokojama natūralumo, emocijos, realistiškumo kaip neuroninėse teksto į balsą sistemose. Nėra galimybės rinktis balsų stilių ar naudoti pažangių valdiklių, tokių kaip SSML, keisti toną ar tiksliai reguliuoti greitį. Prieš atkuriant visada reikia atsisiųsti visą MP3 (nėra transliacijos), tad interaktyviose sistemose kyla vėlavimas. Be to, kiekvienai užklausai reikia interneto – offline neveikia, todėl mažai tinka, kai kritinis patikimumas ar labai žemas vėlavimas.
Kokie yra gTTS ribojimai programuotojams?
1. Greičio ribojimas neišviešintame endpoint'e
Tai pagrindinis netikėtumas, kai judate toliau nuo „hello world“. gTTS neviešina kvotų, nes pats serveris jų nepateikia. Praktiškai viena IP dažnai gali sugeneruoti keletą dešimčių tūkstančių simbolių per valandą, kol Google pradeda grąžinti HTTP 429 – riba priklauso nuo srautų. Jei aplikacija kuria garsą daugeliui naudotojų iš vieno serverio, ilgainiui pasieksite šiuos limitus be galimybės remtis SLA.
2. Endpoint'as gali keistis be įspėjimo
Kadangi gTTS nukreipia vidinį Google Translate maršrutą, o ne viešą API, Google gali ir yra keitusi gTTS užklausų formatus ar atsakymus per naktį. Paprastai palaikytojas išleidžia pataisą, jūs
pip install -U gTTS ir viskas vėl veikia. Tinka pomėgių skriptui, netinka gamybos diegimui naktį.
3. Priežiūros tempas
Projektas dar turi leidimų (mažiausiai vieną per metus), bet problemos sprendžiamos lėtai, o visa atsakomybė tenka vienam žmogui. Kai kurie stebėtojai repo žymi kaip „neaktyvų“. Nemokamai MIT licencija – normalu, bet kaip svarbus priklausinys apmokamam produktui – verta pasverti.
4. Komercijos ir naudojimo sąlygų neaiškumas
gTTS veikia per Google Translate frontend'ą, ne Google Cloud TTS, todėl sugeneruotų įrašų komercinis naudojimas aiškiai nenurodytas. Biblioteka licencijuota MIT, bet garso baitus valdo Google sąlygos, kurios nėra pritaikytos TTS API. Jei teisininkams reikia aiškaus atsakymo – gTTS jo nepateiks.
5. Jautrūs duomenys palieka jūsų įrenginį
Kiekvienas tekstas siunčiamas į Google serverius. Jei skaitote vidinius dokumentus, klientų PII ar iš Google Docs paimtą turinį – verta įvertinti duomenų saugumą prieš siunčiant.
Kuo skiriasi gTTS ir Google Cloud Text-to-Speech?
Dažnai maišomi, tačiau tai skirtingi produktai. Pagrindiniai skirtumai:
Jei gamyboje reikia oficialaus Google balso, beveik visada verta rinktis Google Cloud TTS, o ne gTTS.
Kada verta pereiti prie profesionalios TTS API?
Kada migruoti nuo gTTS prie profesionalios teksto į balsą API, priklauso nuo audio kokybės, patikimumo ir pritaikomumo svarbos. gTTS tinka prototipams, portfolio projektams, asmeniniams prieinamumo įrankiams, edukacijai, eksperimentams – nes ji paprasta, nemokama ir greitai diegiama. Bet jei paleidžiate produktą klientams, kalbos kokybė svarbi vartotojui ar reikia SLA, profesionali API tampa būtina. Taip pat verta rinktis, jei reikia daugiau balsų, balso klonavimo, SSML, transliacijos, tikslaus tarimo valdymo ar aiškių komercinių sąlygų. Perėjus nuo prototipo prie gamybos, šios funkcijos tampa būtinos.
Ką rinktis – gTTS ar Speechify API?
Speechify teksto į balsą API – tai oficiali, mokama paslauga su neuroniniais balsais, keliais balso pasirinkimais kiekvienai kalbai, SSML ir komercine licencija – ne paprastas apvalkalas aplink neišviešintą endpointą. Jei pradėjo riboti gTTS limitai, balsų kokybė ar naudojimo sąlygų neaiškumas – verta svarstyti migraciją.
DUK
Ar gTTS yra nemokama?
Taip, gTTS yra nemokama, MIT licencijuota Python biblioteka, bet jei reikia licencijuoto, komercinio garso, verta rinktis mokamą paslaugą, pvz., Speechify API.
Ar gTTS veikia offline režimu?
Ne, gTTS reikia interneto, nes ji jungiasi prie Google serverių; tas pats galioja ir Speechify API, kuri yra debesų paslauga.
Ar galiu naudoti gTTS komerciniam produktui?
gTTS išvesties naudojimas versle – neaiškus dėl neišviešinto Google endpointo, tuo tarpu Speechify API turi aiškias komercines licencijas.
Kaip pakeisti balsą gTTS?
Iš esmės negalima – gTTS siūlo tik po vieną balsą kalbai, o Speechify API leidžia rinktis iš neuroninių balsų katalogo.
Ar gTTS palaiko SSML?
Ne, gTTS nepalaiko SSML, nėra tono ar tikslaus greičio valdymo, tačiau Speechify API leidžia pilnai valdyti prosodiją per SSML.
Kodėl gTTS grąžina HTTP 429 klaidas?
Viršijote Google Translate paslėptą greičio ribą, todėl daugelis programuotojų pereina prie paslaugų su realiu SLA, pvz., Speechify API.
Ar gTTS ir Google Cloud Text-to-Speech tas pats?
Ne, gTTS naudoja neoficialų Google Translate endpointą, o Google Cloud TTS yra atskiras mokamas produktas; be to, Speechify API taip pat yra mokama ir siūlo neuroninius balsus.
Kokia geriausia Python TTS biblioteka gamyboje?
gTTS tinka prototipams, bet ne gamybai; gamybiniams procesams geriausia naudoti mokamas paslaugas, tokias kaip Speechify API.
Ar gTTS gali klonuoti balsą?
Ne, balso klonavimas gTTS nepalaikomas, bet galimas per Speechify API.
Kaip transliuoti garsą iš gTTS?
gTTS netransliuoja realiu laiku – ji grąžina pilną MP3, tad jei reikia žemos vėlavimo transliacijos, rinkitės Speechify API.

