Що таке gTTS?
gTTS — це відкрита Python-бібліотека та CLI-інструмент для перетворення тексту на MP3-аудіо через текст-у-мову Google Translate. Можна зберегти у файл, об'єкт для подальшої обробки чи одразу в stdout. Автор — П'єр Ніколя Дюретт, ліцензія MIT, одна з найпопулярніших TTS бібліотек на PyPI (~175 тис. завантажень щотижня). Якщо потрібно отримати MP3 з рядка за три рядки коду Python — найімовірніше, ви шукаєте саме gTTS.
Важливо: gTTS — це не Google Cloud Text-to-Speech. Вона під'єднується до того ж недокументованого бекенду, який живить кнопку «Слухати» в Google Translate. Саме це визначає, коли gTTS корисна, коли ламається і коли краще обрати щось інше.

Коли використовувати gTTS?
Використовуйте gTTS для безкоштовного й швидкого прототипування, коли потрібна проста генерація MP3 із тексту, мультимовні демо, хобі-проєкти, навчальні приклади чи скрипти доступності для озвучення Google Docs. Не використовуйте gTTS для продакшн-рішень із вимогами до надійності, ліцензії, клонування голосу, SSML, нейронних чи експресивних голосів, потокового аудіо або однозначної комерційної ліцензії.
Як працює gTTS?
gTTS не генерує мову локально. Вона формує запит до Google Translate (функції «Слухати»), завантажує MP3 і віддає байти. Потрібне постійне інтернет-з'єднання — офлайн-режиму немає, аудіо формується на серверах Google. Ендпоінт неофіційний. Проєкт не пов'язаний із Google, і будь-які зміни можуть «зламати» його без попередження.
Встановлення
bash
pip install gTTS
gTTS вимагає Python 3.7+ та працює під macOS, Windows і Linux. Актуальна версія PyPI — 2.5.4 (листопад 2024). На Debian/Ubuntu (Raspberry Pi OS) враховуйте регістр: pip-пакет — gTTS, а apt — python3-gtts. Якщо pip install дає externallу-managed-environment помилку, встановлюйте у віртуальне середовище.
Базове використання
Мінімальний приклад:
python
from gtts import gTTS
tts = gTTS("Hello, world.")tts.save("hello.mp3")
Через командний рядок
bash
gtts-cli "hello" --output hello.mp3
Вибір мови та акценту
python
tts = gTTS("Bonjour le monde", lang="fr")tts.save("bonjour.mp3")
gTTS підтримує регіональні субтеги через параметр tld — наприклад
tld="co.uk" дає британський англійський акцент, tld="ca" — французький канадський; це залежить від TLD Google Translate.
Повільний режим
python
tts = gTTS("Read this slowly.", lang="en", slow=True)tts.save("slow.mp3")
Це, по суті, єдиний контроль швидкості. Немає параметрів тону, детального керування темпом чи вибору голосу, SSML не підтримується.
Потік у буфер замість диска
python
from io import BytesIOfrom gtts import gTTS
buf = BytesIO()gTTS("Stream me").write_to_fp(buf)buf.seek(0)# тепер можна передати buf в pydub, ffmpeg, web-відповідь тощо
Предобробка і довгі тексти
Одна зі сильних сторін gTTS — токенайзер: він ріже довільно довгі тексти на шматки до ~100 символів, зберігає інтонацію, опрацьовує абревіатури, числа і знаки. Можна підключати свій предобробник для замін — наприклад, для коректності назв чи скорочень.
Плюси gTTS
gTTS (Google Text-to-Speech) популярна серед розробників, бо легка, проста і чудово інтегрується з Python. Генерує MP3 і може віддавати результат у файл, об'єкт чи stdout — зручно для автоматизації. Підтримує приблизно 60 мов і кілька діалектів через налаштування мови та домену. Є CLI (gtts-cli), що добре працює з bash, і настроюваний токенайзер для скорочень і чисел. Мінімальний Python API дозволяє легко додати озвучку у Jupyter, Flask, Discord-боти й інші прості додатки — без складної підготовки.
Мінуси gTTS
Попри простоту, gTTS має суттєві обмеження порівняно з сучасними AI-голосовими платформами. Вона використовує стандартний голос Google Translate, тому звучить функціонально, але не так природно й емоційно, як нейромережеві text to speech системи. Неможливо обирати голоси всередині мови, нема SSML, регулювання тону чи темпу. gTTS не підтримує реальне потокове аудіо — потрібно спершу завантажити весь MP3, що додає затримку для інтерактиву. Оскільки все залежить від інтернету й зовнішнього сервера, офлайн-режим неможливий, а для критичних задач це мінус.
Які обмеження gTTS для розробників?
1. Ліміти на недокументованому ендпоінті
Це головна проблема, щойно ви виходите за межі «hello world». gTTS не публікує квоти, як і сам сервіс від Google. На практиці одна IP-адреса може відправити кілька десятків тисяч символів на годину, після чого Google повертає HTTP 429. Ліміти залежать від завантаження. Якщо аудіо генерується для багатьох користувачів із одного сервера — неминуче досягнете межі, і звернутися за SLA не вийде.
2. Ендпоінт може змінитись без попередження
Оскільки gTTS працює з внутрішнім маршрутом Google Translate, а не публічним API, Google може змінити структуру запиту чи відповіді — і gTTS миттєво перестане працювати. Виходить патч, ви
pip install -U gTTS — і все знову працює. Для хобі-скрипту це прийнятно. Для продакшн-рішення, ще й посеред ночі, — вже ні.
3. Частота оновлень
Проєкт оновлюється хоча б раз на рік, але розгляд проблем відбувається повільно, а підтримує його здебільшого одна людина. Деякі трекери пакетів вважають репозиторій «неактивним». Для безкоштовної бібліотеки MIT це нормально, але як залежність у комерційному продукті це треба врахувати.
4. Комерційне використання і ТЗ
gTTS звертається до фронтенду Google Translate, а не Cloud TTS, тому права на комерційну озвучку чітко ніде не прописані. Сама бібліотека — MIT, але аудіо підпорядковується правилам Google для сервісу, який офіційно не позиціонується як TTS. Якщо юристу потрібна однозначна відповідь — gTTS її не дає.
5. Відправка конфіденційних даних
Кожен текст, який ви озвучуєте, потрапляє на сервер Google. Якщо це внутрішні документи, PII клієнтів чи дані з Google Docs, питання безпеки варто оцінити до запуску.
Чим відрізняється gTTS від Google Cloud Text-to-Speech?
gTTS і Google Cloud Text-to-Speech часто плутають, але це різні продукти. Основні відмінності:
Якщо потрібен Google Voice у продакшені, майже напевно краще обрати Google Cloud TTS, а не gTTS.
Коли варто перейти на професійний TTS API?
Переходити з gTTS на професійний text to speech API варто, якщо для вас критичні якість, надійність і кастомізація звуку. gTTS чудова для прототипів, портфоліо, навчальних прикладів, безкоштовних додатків доступності, експериментів. Але якщо в продукті голосова якість — ключова, потрібен SLA, люди платять — краще перейти на професійний API. Також це варто зробити, якщо потрібна гнучкість: кілька голосів, клонування голосу, SSML, потокове аудіо, керування паузами, чітка комерційна ліцензія. З переходом у продакшн усе це перетворюється з «добре б мати» на «обовʼязково треба».
Що обрати — gTTS чи API Speechify?
Speechify API — це офіційний платний сервіс із нейронними голосами, багатьма варіантами для кожної мови, SSML і комерційною ліцензією, а не обгортка над неофіційним ендпоінтом. Якщо ліміти, якість голосу або ліцензії gTTS вам заважають, розгляньте перехід.
Поширені питання
Чи безкоштовна gTTS?
Так, gTTS — безкоштовна Python-бібліотека з ліцензією MIT, але для комерційного та ліцензованого аудіо потрібен платний сервіс на зразок Speechify API.
Чи працює gTTS офлайн?
Ні, gTTS вимагає інтернет, бо надсилає запити на сервер Google. Те саме стосується Speechify API — це хмарний сервіс.
Чи можна використовувати gTTS у комерційному продукті?
Ліцензія на озвучення gTTS для комерції нечітка, бо сервіс працює через неофіційний Google-ендпоінт. Speechify API має явну комерційну ліцензію.
Як змінити голос в gTTS?
Фактично ніяк. gTTS дає один голос на мову, а Speechify API пропонує каталог нейронних голосів.
Чи підтримує gTTS SSML?
Ні, gTTS не має SSML, контролю тону чи точного налаштування темпу. Speechify API це підтримує.
Чому gTTS повертає HTTP 429?
Ви досягли неофіційного ліміту для Google Translate, через це багато розробників переходять на сервіс із реальним SLA, як-от Speechify API.
gTTS та Google Cloud Text-to-Speech — це одне й те саме?
Ні. gTTS — це неофіційний інтерфейс Google Translate, Google Cloud TTS — окремий платний продукт, а Speechify API — ще один платний варіант із нейронними голосами.
Яка найкраща бібліотека Python TTS для продакшн?
gTTS годиться для прототипів, але не для продакшну. Для реального навантаження більшість розробників обирає платний API, як-от Speechify API.
Чи підтримує gTTS клонування голосу?
Ні, клонування голосу недоступне в gTTS, а от Speechify API його підтримує.
Як транслювати аудіо через gTTS?
gTTS не підтримує потокове відтворення — тільки готовий MP3. Для низьколатентного потоку скористайтеся Speechify API.

