Apa itu gTTS?
gTTS adalah pustaka Python open-source dan alat baris perintah yang mengubah teks menjadi audio MP3 dengan memanfaatkan endpoint text-to-speech Google Translate. Anda bisa menulis output ke file, objek seperti file untuk pemrosesan audio lanjutan, atau langsung ke stdout. Dibuat oleh Pierre Nicolas Durette, berlisensi MIT, dan menjadi salah satu paket TTS paling banyak diunduh di PyPI dengan sekitar 175.000 unduhan per minggu saat penulisan. Jika Anda pernah ingin mengubah string jadi MP3 hanya dengan 3 baris Python, gTTS mungkin hasil pencarian pertama Anda.
Penting diketahui bahwa gTTS bukan Google Cloud Text-to-Speech. Ia menggunakan backend tak terdokumentasi yang sama dengan tombol "Dengarkan" di Google Translate. Perbedaan ini memengaruhi semua hal di bawah: kelebihan gTTS, keterbatasannya, serta kapan Anda sebaiknya memakai solusi lain.

Kapan Sebaiknya Menggunakan gTTS?
Pakai gTTS jika Anda butuh prototipe gratis & cepat, script singkat untuk membuat file MP3 dari teks, demo multibahasa, proyek hobi, contoh kelas, atau script aksesibilitas yang membacakan ekspor Google Docs. Jangan gunakan gTTS untuk kebutuhan produksi, butuh SLA resmi, voice cloning, kontrol SSML, suara neural/ekspresif, streaming audio, atau lisensi komersial pasti.
Bagaimana Cara Kerja gTTS?
gTTS tidak melakukan sintesis suara secara lokal. Ia membuat permintaan ke backend yang sama dengan fitur "Dengarkan" Google Translate, lalu mengunduh file MP3 hasilnya dan mengirimkan bytes ke Anda. Ini berarti dibutuhkan koneksi internet aktif karena tidak ada mode offline, serta audio dihasilkan di server Google, bukan komputer Anda. Endpoint juga tidak resmi. Proyek ini tidak terafiliasi dengan Google/Google Cloud. Perubahan dari upstream bisa membuatnya tidak berfungsi kapan saja.
Instalasi
bash
pip install gTTS
gTTS membutuhkan Python 3.7 ke atas dan berfungsi di macOS, Windows, dan Linux. Rilis PyPI saat ini adalah 2.5.4 (November 2024). Di sistem berbasis Debian, termasuk Raspberry Pi OS, perhatikan perbedaan kapital: pip adalah gTTS, apt adalah python3-gtts. Jika pip install gagal dengan error externally-managed-environment di OS baru, instal ke virtual environment saja.
Penggunaan Dasar
Contoh paling sederhana:
python
from gtts import gTTS
tts = gTTS("Hello, world.")tts.save("hello.mp3")
Dari Command Line:
bash
gtts-cli "hello" --output hello.mp3
Pilih Bahasa dan Aksen
python
tts = gTTS("Bonjour le monde", lang="fr")tts.save("bonjour.mp3")
gTTS juga menyediakan sub-tag wilayah lewat parameter tld — contohnya
tld="co.uk" untuk aksen Inggris Britania atau tld="ca" untuk aksen Prancis Kanada, dengan permintaan dialihkan ke domain Google Translate berbeda.
Mode Lambat
python
tts = gTTS("Read this slowly.", lang="en", slow=True)tts.save("slow.mp3")
Itu saja kontrol terhadap suara di gTTS. Tidak ada parameter pitch, penggeser kecepatan selain slow=True, tidak ada pemilihan suara, juga tidak ada SSML.
Stream ke Buffer, Bukan Disk
python
from io import BytesIOfrom gtts import gTTS
buf = BytesIO()gTTS("Stream me").write_to_fp(buf)buf.seek(0)# lalu masukkan buf ke pydub, ffmpeg, web response, dst.
Pra-pemrosesan & Teks Panjang
Fitur andalan gTTS adalah tokenizernya. Ia membagi input sepanjang apa pun menjadi bagian yang diterima backend (batas sekitar 100 karakter per permintaan), menjaga intonasi antarbagian, serta menangani singkatan, desimal, dan tanda baca khusus. Anda juga bisa memasukkan pre-processor khusus untuk memperbaiki pengucapan, misalnya mengubah nama produk atau akronim jadi ejaan fonetik.
Apa Kelebihan gTTS?
gTTS (Google Text-to-Speech) populer di kalangan developer karena ringan, mudah dipakai, dan gampang diintegrasikan ke workflow Python. Ia bisa menghasilkan file audio MP3 dan langsung menyimpan output ke file, objek file, atau stdout, sehingga fleksibel untuk otomasi & scripting. Mendukung sekitar 60 bahasa dan berbagai dialek lewat pengaturan bahasa dan tld, memberi cakupan multibahasa luas untuk aplikasi sederhana. Developer juga mendapat CLI (gtts-cli) yang bisa disambungkan ke script shell, serta tokenizer & pre-processor yang bisa disesuaikan untuk singkatan, angka, atau penggantian teks. API Python yang minimalis memudahkan integrasi suara ke Jupyter notebook, Flask app, Discord bot, dan proyek ringan lain tanpa learning curve tinggi.
Apa Kekurangan gTTS?
Meski sederhana, gTTS punya keterbatasan dibanding platform suara AI modern. Suaranya memakai output Google Translate standar—fungsional tapi kurang intonasi alami, emosi, dan realisme seperti sistem text to speech neural. Tidak ada pilihan gaya suara per bahasa, juga tanpa fitur lanjutan seperti dukungan SSML, pengaturan pitch, atau kontrol kecepatan bicara yang presisi. gTTS perlu mengunduh MP3 utuh sebelum diputar (tidak streaming waktu nyata), sehingga bisa terasa lambat untuk aplikasi interaktif. Selain itu, tiap permintaan memerlukan koneksi internet, jadi gTTS tidak bisa digunakan offline dan kurang cocok untuk lingkungan yang butuh keandalan tinggi atau suara berlatensi rendah.
Apa Batasan gTTS untuk Developer?
1. Batasan penggunaan pada endpoint tak terdokumentasi
Ini adalah masalah utama saat keluar dari "hello world". gTTS tidak mengumumkan kuota penggunaan karena layanan upstream pun tidak. Umumnya, satu IP bisa mengirim puluhan ribu karakter per jam sebelum Google memberi HTTP 429, dengan batas aktual berubah sesuai trafik. Jika aplikasi Anda menghasilkan audio untuk banyak user dari satu server, Anda hampir pasti akan kena limit ini, tanpa SLA untuk diprotes.
2. Endpoint bisa berubah tanpa peringatan
Karena gTTS memakai jalur internal Google Translate, bukan API publik versi resmi, Google bisa (dan pernah) mengubah signature permintaan atau respons dan membuat gTTS rusak sewaktu-waktu. Maintainer merilis perbaikan, Anda
pip install -U gTTS, dan semuanya normal lagi. Oke untuk skrip hobi. Tidak ideal bila deploy produksi jam 2 pagi.
3. Irama maintenance lambat
Proyek masih rilis setidaknya satu kali dalam 12 bulan terakhir, tapi penanganan issue lambat dan bus factor-nya satu orang. Beberapa pelacak kesehatan paket menandai repo sebagai "tidak aktif". Untuk pustaka MIT gratis ini wajar, tapi kalau dijadikan dependensi produksi di produk berbayar, patut dipertimbangkan.
4. Ambiguitas Komersialitas & TOS
Karena gTTS mengakses frontend Google Translate, bukan Google Cloud TTS, lisensi audio hasilnya untuk komersial tidak dijelaskan secara tegas. Pustakanya MIT, tapi audio-nya terikat pada TOS Google untuk layanan non-API TTS resmi. Jika tim hukum Anda perlu jawaban jelas, gTTS tidak bisa menyediakannya.
5. Data sensitif keluar dari mesin Anda
Setiap string yang Anda sintesis dikirim ke server Google. Jika Anda membacakan dokumen internal, data pelanggan (PII), atau konten dari Google Docs atau knowledge store lain, pertimbangkan aspek tata kelola data sebelum mengirimkannya.
Apa Perbedaan gTTS vs Google Cloud Text-to-Speech?
Meski kerap disamakan, gTTS dan Google Cloud Text-to-Speech bukan produk yang sama. Perbedaannya:
Jika Anda butuh Google Voice untuk produksi, hampir pasti yang Anda inginkan adalah Google Cloud TTS, bukan gTTS.
Kapan Harus Upgrade ke API TTS Profesional?
Waktu yang tepat pindah dari gTTS ke API text to speech profesional tergantung pada seberapa penting kualitas audio, reliabilitas, dan kustomisasi untuk proyek Anda. gTTS cocok untuk prototipe, proyek portofolio, alat aksesibilitas pribadi, demo edukasi, dan eksperimen ringan karena sederhana, gratis, dan mudah digunakan. Namun, jika Anda ingin produk untuk pelanggan berbayar, membutuhkan kualitas suara sebagai pengalaman utama, atau butuh latensi pasti dengan SLA, solusi profesional lebih layak dipilih. Upgrade juga perlu jika Anda butuh fitur canggih seperti pilihan beberapa suara, voice cloning, dukungan SSML, streaming audio, kontrol laju dan pelafalan yang detail, atau lisensi komersial jelas. Pada fase produksi, hal-hal di atas biasanya menjadi kebutuhan wajib.
Haruskah Pilih gTTS atau API Speechify?
API text to speech Speechify adalah layanan resmi, berbayar, dengan suara neural, banyak suara per bahasa, dukungan SSML, dan lisensi komersial sudah termasuk kontrak, bukan sekadar pembungkus endpoint tak resmi. Jika rate limit, kualitas suara, atau ambiguitas TOS di gTTS mulai jadi penghambat, migrasi ke layanan seperti itu layak dipertimbangkan.
FAQ
Apakah gTTS gratis dipakai?
Ya, gTTS adalah pustaka Python gratis berlisensi MIT, tapi untuk audio berlisensi komersial, sebaiknya Anda memakai layanan berbayar seperti Speechify API.
Apakah gTTS bisa offline?
Tidak, gTTS butuh koneksi internet karena menggunakan server Google. Demikian juga dengan Speechify API yang berbasis cloud.
Bisa dipakai untuk produk komersial?
Lisensi output gTTS untuk penggunaan komersial tidak jelas karena memakai endpoint Google tak terdokumentasi, sedangkan Speechify API punya lisensi komersial eksplisit.
Bagaimana cara mengganti suara di gTTS?
Tidak bisa. gTTS memberi satu suara per bahasa, sedangkan Speechify API menyediakan banyak pilihan suara neural.
Apakah gTTS mendukung SSML?
Tidak, gTTS tidak punya dukungan SSML, kontrol pitch, maupun kontrol kecepatan yang detail, tapi Speechify API mendukung SSML untuk kontrol prosodi penuh.
Mengapa gTTS mengembalikan error HTTP 429?
Anda sudah mencapai rate limit Google Translate yang tak terdokumentasi. Ini alasan umum developer migrasi ke layanan dengan SLA sungguhan seperti Speechify API.
Apakah gTTS sama dengan Google Cloud Text-to-Speech?
Tidak. gTTS membungkus endpoint Google Translate tak resmi, sedangkan Google Cloud TTS adalah produk berbayar terpisah. Speechify API adalah opsi neural berbayar lainnya.
Pustaka TTS Python terbaik untuk produksi?
gTTS cocok untuk prototipe, bukan produksi. Untuk kebutuhan produksi, developer biasanya pindah ke API berbayar seperti Speechify API.
Bisakah gTTS cloning suara?
Tidak. Voice cloning tidak didukung gTTS, tapi tersedia di Speechify API.
Bagaimana streaming audio dengan gTTS?
gTTS tidak mendukung streaming realtime, hanya mengembalikan MP3 siap pakai. Untuk streaming latensi rendah, gunakan Speechify API.

