РУКОВОДСТВО

Альтернатива gTTS с естественными голосами офлайн

С gTTS начинаются многие руководства по Python: библиотека отправляет текст в сервис озвучки Google Переводчика и сохраняет MP3. Это просто и бесплатно, но нужен интернет, это не официальный API, запросы могут ограничить или они перестанут работать, а вместо выбора голосов вы получаете языки и акценты.

SuperClonica — бесплатный движок, который озвучивает текст на вашем компьютере, офлайн, десятью стандартными голосами, голосами персонажей из каталога и голосами, обученными по вашим записям. На этой странице — честное сравнение.

Два разных подхода

Одно заимствует онлайн-сервис; другое — движок, который вы ставите и оставляете у себя.

  • gTTS: текст уходит в онлайн-сервис; один голос на язык и акцент; неофициально, поэтому запросы могут ограничить или они перестанут проходить.
  • SuperClonica: модель работает локально после однократной загрузки около 385 МБ; ничего никуда не отправляется.
  • Голоса SuperClonica говорят на 31 языке; китайский пока не поддерживается, а gTTS говорит по-китайски.
  • SuperClonica даёт много голосов: стандартные, персонажей и ваши собственные.

Когда хватает gTTS

Для быстрого скрипта при наличии интернета, для языка, на котором Supertonic 3 не говорит, или когда голос вообще не важен, gTTS — разумный выбор, и SuperClonica не заменяет его набор языков.

Когда лучше SuperClonica

Тот же текст, голос и seed всегда дают тот же звук, поэтому результаты воспроизводимы.

  • Программа должна работать офлайн или в закрытой сети.
  • Тексты приватные и не должны покидать машину.
  • Нужен выбор голосов, голос персонажа или ваш собственный обученный голос.
  • Вы озвучиваете много текста и не хотите упираться в лимиты неофициального сервиса.

Переход за несколько строк

Поставьте движок командой python -m pip install superclonica-cpu. Там, где код создаёт объект gTTS и сохраняет его, используйте движок: после from superclonica import Superclonica и tts = Superclonica() напишите audio, rate = tts.synthesize(text, voice="F1", lang="ru"); tts.save("hello.wav", audio). Чтобы получить MP3, как в gTTS, запускайте движок командной строки с именем файла на .mp3. Длинные тексты делятся на естественных паузах и склеиваются в один файл. Перед переходом попробуйте голос на его странице на фразе от 30 до 100 символов — бесплатно и без регистрации.

Сколько это стоит

Движок и десять стандартных голосов модели бесплатны, несколько голосов каталога тоже. Остальные покупаются один раз и остаются вашими. Нет оплаты за запрос и некому вас ограничивать: после установки всё работает без интернета.