Что такое gTTS?
gTTS — это open-source библиотека Python и CLI-инструмент, который превращает текст в озвученный MP3, используя endpoint синтеза речи Google Translate. Результат можно сохранить в файл, объект-поток для дальнейшей обработки или сразу в stdout. Автор — Пьер Николя Дюрет, лицензия MIT, один из самых скачиваемых TTS-пакетов на PyPI (примерно 175 000 загрузок в неделю на момент написания). Если вам нужно быстро получить MP3 из строки за три строки на Python, gTTS, скорее всего, будет первым найденным решением.
Важно: gTTS — это не Google Cloud Text-to-Speech. Он работает с тем же неофициальным бэкендом, что и кнопка «Прослушать» в Google Translate. Эта разница влияет на всё ниже: для чего gTTS подходит, где начинаются проблемы и когда лучше использовать другие инструменты.

Когда стоит использовать gTTS?
Используйте gTTS для бесплатного быстрого прототипирования, создания MP3 из текста одной строкой, мультиязычных демо, учебных/хобби-проектов или скриптов доступности для озвучки экспорта Google Docs. Не применяйте gTTS, если нужны продакшн-стабильность, SLA, клон голоса, SSML, нейронные/эмоциональные голоса, потоковое аудио или прозрачная коммерческая лицензия.
Как работает gTTS?
gTTS не синтезирует речь локально. Он формирует запрос к тому же бэкенду, что и «Прослушать» в Google Translate, скачивает MP3 и возвращает байты. Нужен постоянный интернет, офлайн-режим отсутствует, а аудио создаётся на сервере Google. Endpoint неофициальный — проект не связан с Google, и любые изменения могут внезапно всё сломать.
Установка
bash
pip install gTTS
gTTS требует Python 3.7+ и работает на macOS, Windows и Linux. Текущая версия на PyPI — 2.5.4 (ноябрь 2024). В системах на базе Debian, включая Raspberry Pi OS, учтите: pip-пакет — gTTS, а apt — python3-gtts. Если pip install выдаёт ошибку externally-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" для французского (Канада), перенаправляя запросы через нужный домен 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)# now feed buf into pydub, ffmpeg, a web response, etc.
Предобработка и длинные тексты
Одна из сильных сторон gTTS — токенизатор: он делит длинный текст на куски (лимит ~100 символов), сохраняет интонацию, обрабатывает аббревиатуры, числа и знаки препинания. Можно подключать свои препроцессоры для исправления произношения, например, явно задавать названия продуктов и аббревиатуры.
Преимущества gTTS
gTTS (Google Text-to-Speech) популярен среди разработчиков за простоту и быструю интеграцию в Python. Он генерирует MP3 и сохраняет его прямо в файл, поток или stdout — удобно для автоматизации. Поддерживает около 60 языков и разные диалекты через настройки языка/domain, что даёт достаточное мульти-языковое покрытие для базовых задач. gtts-cli легко использовать в shell-скриптах, а токенизатор и препроцессоры управляют сокращениями, числами и подменами текста. Минимальный API Python позволяет быстро добавить речь в Jupyter, Flask, Discord-ботов и другие «лёгкие» проекты без долгого изучения.
Недостатки gTTS
Несмотря на простоту, у gTTS есть заметные ограничения по сравнению с современными AI-голосами. Озвучка строится на стандартном синтезе из Google Translate: звук «рабочий», но сухой, неэмоциональный и не такой реалистичный, как у новых нейронных систем TTS. Нельзя выбирать стиль голоса внутри языка, нет SSML, контроля высоты/скорости и других продвинутых функций. gTTS требует загрузки всего MP3 перед воспроизведением, потоковое проигрывание не поддерживается — это увеличивает задержки для интерактивных проектов. Также из-за обязательного подключения и сетевых вызовов gTTS не работает офлайн, что ограничивает его там, где критичны надёжность и низкая задержка.
Какие ограничения есть у gTTS для разработчиков?
1. Ограничения запросов на неофициальном endpoint
Это главный «подводный камень» после «Hello world». gTTS не объявляет лимиты, потому что их нет у самого сервиса Google. Обычно с одного IP можно отправлять десятки тысяч символов в час, но реальные лимиты разнятся. Если с одного сервера озвучивается много текстов — однажды вы словите HTTP 429, а разъяснений и SLA не будет.
2. Endpoint может измениться в любой момент
Так как gTTS работает с внутренним маршрутом Google Translate, а не открытым API, Google может (и менял!) внезапно изменить сигнатуру запросов или ответы. Мейнтейнер выпускает правку, вы
pip install -U gTTS — и всё снова работает. Для хобби-проекта — нормально. Для «продакшна» в 2 часа ночи — уже нет.
3. Темпы поддержки
Проект обновляется (хотя бы одна версия в год), но новые запросы разбираются медленно, почти всё держится на одном человеке. Некоторые сервисы считают проект «неактивным». Для бесплатной библиотеки MIT это ожидаемо; но если вы используете её в платном продукте — это стоит учитывать.
4. Неясность коммерческого использования и правил
Так как gTTS использует интерфейс Google Translate, а не Google Cloud TTS, лицензия на звук для коммерции формально не определена. Сама библиотека под MIT, а аудио подпадает под правила Google для сервиса, изначально не задуманного как TTS-API. Если юристам нужны чёткие гарантии — в gTTS вы их не получите.
5. Конфиденциальные данные уходят с вашего устройства
Любой текст отправляется на сервер Google. Если вы озвучиваете внутренние документы, персональные данные пользователей (PII) или контент из Google Docs — подумайте о защите данных, прежде чем строить решение на gTTS.
Чем отличаются gTTS и Google Cloud Text-to-Speech?
Хотя gTTS и Google Cloud Text-to-Speech часто путают, это разные продукты. Отличия такие:
Если вам нужен голос Google в продакшене — используйте Google Cloud TTS, а не gTTS.
Когда пора переходить на проф. TTS API?
Момент, когда стоит перейти с gTTS на профессиональный TTS API, зависит от того, насколько для вас важны качество, надёжность и гибкая настройка озвучки. gTTS подойдёт для прототипов, портфолио, личных инклюзивных решений, учебных примеров и экспериментов — просто и бесплатно. Но если продукт выходит на платных клиентов, важны качество речи и гарантированная задержка/SLA — нужен профессиональный сервис. Переход имеет смысл и тогда, когда требуются разные голоса, клон голоса, SSML, потоковое аудио, тонкая настройка пауз/произношения или прозрачная коммерческая лицензия — в бизнес-задачах это часто становится базовым требованием.
Что выбрать: gTTS или API Speechify?
API озвучки Speechify — это платный официальный сервис с нейронными голосами, разными вариантами на язык, поддержкой SSML и встроенной коммерческой лицензией — а не просто интерфейс к неофициальному endpoint. Если вас ограничивают лимиты gTTS, качество или неясные TOS — стоит рассмотреть переход.
FAQ
gTTS бесплатен?
Да, gTTS — бесплатная Python-библиотека под MIT, но для лицензированного аудио в коммерции нужен платный сервис, например Speechify API.
Работает ли gTTS офлайн?
Нет, gTTS нужен интернет, так как он обращается к серверам Google. То же касается и Speechify API — это тоже облачный сервис.
Можно ли применять gTTS в коммерческом продукте?
Лицензия на звук gTTS для коммерции не определена, так как используется неофициальный endpoint Google. Зато Speechify API даёт прозрачную коммерческую лицензию.
Можно ли менять голос в gTTS?
Нет. В gTTS только один голос на язык. А Speechify API предлагает целый каталог нейросетевых голосов.
gTTS поддерживает SSML?
Нет, у gTTS нет SSML, контроля высоты звука и точной скорости. Speechify API поддерживает SSML и даёт полный контроль над прозодией.
Почему gTTS выдаёт ошибку HTTP 429?
Вы упёрлись в неофициальное ограничение Google Translate — это одна из главных причин, по которой многие переходят на сервис с реальным SLA, такой как Speechify API.
gTTS и Google Cloud TTS — это одно и то же?
Нет. gTTS использует неофициальный endpoint Google Translate, а Google Cloud TTS — отдельный платный сервис. Speechify API — ещё один платный вариант с нейронными голосами.
Какая библиотека Python TTS лучше всего для продакшена?
gTTS уместен для прототипов, но для продакшена большинство выбирает платный API, например Speechify API.
Может ли gTTS клонировать голос?
Нет, клонирование голоса в gTTS не поддерживается, но доступно в Speechify API.
Как получить потоковое аудио через gTTS?
gTTS не поддерживает стриминг — он возвращает готовый MP3. Для низких задержек используйте Speechify API.

