Mikä on gTTS?
gTTS on avoimen lähdekoodin Python-kirjasto ja komentorivityökalu, joka muuntaa tekstiä puhuttuun MP3-ääneen hyödyntäen Google Translaten text-to-speech-toimintoa. Voit tallentaa tulosteen tiedostoon, tiedostomaisen objektin jatkokäsittelyyn tai suoraan stdoutiin. Tekijä on Pierre Nicolas Durette, käyttöoikeus MIT-lisenssi. Se on yksi ladatuimmista TTS-ohjelmistoista PyPI:ssä, ja sillä on noin 175 000 viikkolatausta tätä kirjoittaessa. Jos olet joskus halunnut tehdä tekstistä MP3:n kolmella Python-rivillä, gTTS on todennäköisesti ensimmäinen mitä löysit.
On tärkeää huomata, että gTTS ei ole Google Cloud Text-to-Speech. Se käyttää samaa dokumentoimatonta taustajärjestelmää, joka pyörittää Google Translaten "kuuntele"-painiketta. Tämä määrittää, missä gTTS loistaa, missä se on rajallinen ja milloin jokin muu ratkaisu on parempi valinta.

Milloin käyttää gTTS:ää?
Käytä gTTS:ää, jos tarvitset ilmaisen, nopean protoilun; yhden rivin, jolla luot MP3-tiedostoja tekstistä; monikielisiä demoja; harrasteprojektin, oppituntiesimerkin tai esteettömyysskriptin, joka lukee Google Docs -vientitiedoston ääneen. Älä käytä gTTS:ää tuotannossa, jos tarvitset luotettavuutta, SLA:n, äänen kloonausta, SSML-tukea, neuro- tai ilmeikkäitä ääniä, streaming-ominaisuuksia tai selkeää kaupallista käyttöoikeutta.
Kuinka gTTS toimii?
gTTS ei synteettisoi puhetta paikallisesti. Se muodostaa pyynnön Google Translaten "kuuntele"-toimintoa käyttävään taustajärjestelmään, lataa valmiin MP3-tiedoston ja palauttaa sen. Tarvitset siis jatkuvan internet-yhteyden eikä offline-tilaa ole – ääni luodaan Googlen palvelimilla, ei koneellasi. Päätepiste on epävirallinen. Projekti ei ole Googlen tai Google Cloudin virallinen osa, joten muutokset voivat rikkoa sen milloin tahansa.
Asennus
bash
pip install gTTS
gTTS vaatii Python 3.7:n tai uudemman ja toimii macOS-, Windows- ja Linux-järjestelmissä. Nykyinen PyPI-versio on 2.5.4 (marraskuu 2024). Debian-pohjaisissa systeemeissä, kuten Raspberry Pi OS:ssä, huomaa kirjainkoko-ero: pip-paketti on gTTS, apt-paketti on python3-gtts. Jos pip install epäonnistuu externally-managed-environment -virheeseen, asenna virtuaaliympäristöön.
Peruskäyttö
Yksinkertaisin esimerkki:
python
from gtts import gTTS
tts = gTTS("Hello, world.")tts.save("hello.mp3")
Komentoriviltä:
bash
gtts-cli "hello" --output hello.mp3
Kielen ja aksentin valinta
python
tts = gTTS("Bonjour le monde", lang="fr")tts.save("bonjour.mp3")
gTTS tukee myös alueellisia alakoodeja tld-parametrilla, esim.
tld="co.uk" brittiaksenttiin tai tld="ca" kanadanranskaan, ohjaamalla pyynnön eri Google Translate -päätetasoille.
Hidas tila
python
tts = gTTS("Read this slowly.", lang="en", slow=True)tts.save("slow.mp3")
Nämä ovat kaikki puheasetukset. Ei pitch-parametria, ei nopeussäädintä slow=True:n lisäksi, ei eri äänivalintaa, ei SSML-tukea.
Streamaa puskuriin levyn sijaan
python
from io import BytesIOfrom gtts import gTTS
buf = BytesIO()gTTS("Stream me").write_to_fp(buf)buf.seek(0)# syötä buf nyt esim. pydub, ffmpeg, verkkovastaus jne.
Esikäsittely ja pitkät tekstit
Yksi gTTS:n vahvimmista puolista on sen tokenisointi. Pitkä teksti pilkotaan paloiksi, jotka palvelu hyväksyy (raja ~100 merkkiä/palvelupyyntö), intonaatio säilyy hyvin ja lyhenteet, desimaalit ym. käsitellään siististi. Voit myös käyttää omia esikäsittelijöitä esim. tuotemerkki- tai lyhennekäännöksissä.
Mitkä ovat gTTS:n edut?
gTTS (Google Text-to-Speech) on suosittu kehittäjien keskuudessa, sillä se on kevyt, helposti käyttöönotettava ja integroituu hyvin Python-työkaluihin. Äänen voi tallentaa MP3-tiedostoksi, tiedostomaisiin objekteihin tai stdoutiin, mikä sopii automaatioprojekteihin. Yli 60 kielen ja eri murteiden tuki ja komentoriviliittymä (gtts-cli) helpottavat skriptaamista. Tokenisointi ja esikäsittelijät helpottavat lyhenteiden, numeroiden ja tekstin muokkausta. Yksinkertainen Python-API mahdollistaa puhetoiminnon lisäämisen vaivatta esim. Jupyter-notebookkeihin, Flask-sovelluksiin, Discord-botteihin ja pieniin projekteihin.
Mitkä ovat gTTS:n haitat?
Yksinkertaisuudestaan huolimatta gTTS:llä on rajoituksia verrattuna uusiin AI-puhealustoihin. Äänet perustuvat Google Translaten vakiopuheeseen eli ne ovat käyttökelpoisia, mutta eivät tarjoa luonnollista intonaatiota, tunnetta tai nykyisten neuroverkkojen realismia. Käyttäjä ei voi valita eri äänityylejä, eikä ominaisuuksia kuten SSML-tuki, äänenkorkeuden säätöä tai tarkkaa nopeudensäätöä löydy. gTTS vaatii koko MP3:n latauksen ennen toistoa eikä tue suoratoistoa, mikä lisää viivettä. Jokainen pyyntö vaatii internet-yhteyden eikä offline-tilaa ole, joten gTTS ei sovi tilanteisiin, joissa vaaditaan luotettavuutta tai nopeaa puheentunnistusta.
Mitkä ovat gTTS:n rajoitukset kehittäjille?
1. Käyttörajoitukset dokumentoimattomassa päätepisteessä
Tämä on suurin yllätys, kun mennään "hello worldia" pidemmälle. gTTS ei julkaise käyttörajaa, koska yläpuolinen palvelu ei sitä tee. Käytännössä yhdellä IP:llä voi lähettää kymmeniä tuhansia merkkejä tunnissa ennen kuin Google palauttaa HTTP 429 -virheitä. Jos palvelin tuottaa usealle käyttäjälle ääntä, raja tulee väistämättä vastaan — eikä SLA:ta ole.
2. Päätepiste voi muuttua yllättäen
Koska gTTS käyttää sisäistä Google Translate -reittiä versiopäivitysten sijaan, Google voi — ja on aiemmin tehnyt niin — rikkoa gTTS:n vaihtamalla pyyntömuotoa tai vastausta. Ylläpitäjä julkaisee korjauksen, sinä
pip install -U gTTS, ja arki jatkuu. Tämä on ok harrastekoodissa, ei tuotannossa yöllä.
3. Ylläpitotahti
Projekti julkaisee yhä uusia versioita, vähintään yhden viimeisen vuoden aikana, mutta ongelmien käsittely on hidasta ja ylläpitäjiä käytännössä yksi. Osa pakettiluokitteluista pitää repoa "epäaktiivisena". Ilmaiskirjastolle normaalia, mutta kriittisessä tuotantokoodissa mietittävä asia.
4. Kaupallisen käytön ja käyttöehtojen epäselvyys
Koska gTTS hyödyntää Google Translaten käyttöliittymää, eikä Google Cloud TTS:ää, tuotetun äänen lisenssit kaupalliseen käyttöön eivät ole missään selkeästi esillä. Itse kirjasto on MIT-lisensoitu, mutta äänibittien käyttöä rajaavat Googlen palvelun ehdot. Jos lakitiimisi vaatii selkeän vastauksen, gTTS ei sitä anna.
5. Arkaluonteinen data poistuu koneeltasi
Kaikki synteettinen tekstisi lähetetään Googlen palvelimille. Jos luet ääneen sisäisiä dokumentteja, asiakastietoja tai sisältöä Google Docsista tai muista tietolähteistä, tämä on tietoturvakysymys, johon tulee suhtautua vakavasti.
Mikä ero on gTTS:llä ja Google Cloud Text-to-Speechillä?
Vaikka gTTS ja Google Cloud Text-to-Speech sekoitetaan usein toisiinsa, kyse ei ole samasta tuotteesta. Erot ovat seuraavat:
Jos tarvitset Googlen äänen tuotantoon, valitse Google Cloud TTS, älä gTTS:ää.
Milloin kannattaa siirtyä ammattimaiseen TTS-APIin?
Oikea aika siirtyä gTTS:stä ammattimaiseen tekstistä puheeksi -API-rajapintaan riippuu siitä, kuinka tärkeää äänenlaatu, luotettavuus ja räätälöinti projektillesi on. gTTS sopii hyvin prototyyppeihin, portfolioihin, henkilökohtaiseen esteettömyystyöhön, opetusesimerkkeihin ja kevyisiin kokeiluihin, koska se on simppeli, ilmainen ja helppokäyttöinen. Jos kuitenkin rakennat palvelun maksaville asiakkaille tai tarvitset äänilaadun olevan osa käyttökokemusta tai ennustettavaa viivettä (SLA), ammattimainen palvelu on järkevä. Kannattaa päivittää myös kun tarvitset laajempia toimintoja, kuten useita äänivaihtoehtoja, äänen kloonauksen, SSML-tuen, reaaliaikaisen audion, tarkemman kontrollin intonaatioon ja oikeudet kaupalliseen käyttöön. Kun projektit siirtyvät kokeilusta tuotantoon, nämä vaatimukset muuttuvat usein välttämättömiksi.
Valitsetko gTTS:n vai Speechifyn API:n?
Speechify text to speech API on virallisesti tuettu, maksullinen palvelu, jossa on neuroäänet, monta äänivaihtoehtoa per kieli, SSML-tuki ja kaupallinen lisenssi sopimuksessa – se ei ole kuori dokumentoimattoman päätepisteen päällä. Jos gTTS:n rajoitukset, äänenlaatu tai epäselvät ehdot haittaavat, tämä on vaihtoehto jota kannattaa harkita.
UKK
Onko gTTS ilmainen?
Kyllä, gTTS on ilmainen MIT-lisensoitu Python-kirjasto, mutta jos tarvitset kaupallisen, lisensoidun audion, tarvitset maksullisen palvelun kuten Speechify API.
Toimiiko gTTS offline?
Ei, gTTS vaatii internet-yhteyden, koska se hyödyntää Googlen palvelimia, sama koskee myös Speechify API:a, joka on pilvipalvelu.
Voinko käyttää gTTS:ää kaupallisesti?
gTTS:n tuottaman äänen lisenssi kaupalliseen käyttöön on epäselvä, koska se käyttää dokumentoimatonta Google-polkua, kun taas Speechify API tarjoaa selkeän kaupallisen lisenssin.
Voinko vaihtaa ääniä gTTS:ssä?
Et oikeastaan. gTTS:ssä on yksi ääni/kieli, kun taas Speechify API:ssa on valittavissa monta neuroääntä.
Tukeeko gTTS SSML:ää?
Ei, gTTS:ssä ei ole SSML-tukea, ei pitch-säätöä, eikä tarkkaa nopeuskontrollia, mutta Speechify API tukee SSML:ää täysin.
Miksi gTTS antaa HTTP 429 -virheitä?
Olet ylittänyt Google Translaten dokumentoimattoman käyttörajan, mikä on yleinen syy kehittäjille siirtyä palveluun, jossa on SLA, kuten Speechify API.
Onko gTTS sama kuin Google Cloud Text-to-Speech?
Ei, gTTS käyttää epävirallista Google Translate -päätepistettä, kun taas Google Cloud TTS on erillinen maksupalvelu ja Speechify API on toinen maksullinen vaihtoehto neuroäänillä.
Mikä on paras Python TTS-kirjasto tuotantoon?
gTTS sopii prototyyppeihin, ei tuotantoon; tuotantoon useimmat kehittäjät valitsevat maksullisen rajapinnan, kuten Speechify API.
Voiko gTTS kloonata ääniä?
Ei, äänen kloonaus ei ole tuettu gTTS:ssä, mutta löytyy Speechify API:sta.
Kuinka streamaan ääntä gTTS:llä?
gTTS ei tue reaaliaikaista streamingia, vaan palauttaa valmiin MP3:n. Vähäviiveiseen striimaukseen käytä Speechify API:a.

