РУКОВОДСТВО

Голосовые сообщения в Telegram-боте с ИИ-голосами

Бот, который отвечает голосовым, кажется живым: утренняя сводка вслух, ответ голосом персонажа, пример произношения для того, кто учит язык. Облачные API синтеза берут деньги за каждое сообщение и видят каждый текст.

Бесплатный движок SuperClonica озвучивает текст бота на вашем сервере, естественными голосами или голосами персонажей. В этом руководстве — как превратить ответ в голосовое сообщение Telegram, как сохранить скорость бота и как честно использовать голоса.

Что умеет голосовой бот

Лучше всего работают короткие ответы: голосовое на несколько фраз слушать легче, чем длинный монолог.

  • Отвечать на вопросы голосовым вместо простыни текста.
  • Читать вслух новости, посты или ежедневную сводку.
  • Говорить голосом персонажа в игровом или фанатском боте.
  • Давать изучающим языки примеры фраз на 31 языке.

Послушайте голоса бесплатно онлайн

На странице любого голоса впишите типичный ответ бота от 30 до 100 символов, выберите язык и нажмите «Озвучить». Через несколько секунд вы услышите, как будет звучать ваш бот, без регистрации.

Текст в голосовое сообщение

WAV — только промежуточный файл; Opus весит мало и проигрывается прямо в чате в любом приложении Telegram.

  • Поставьте движок один раз: python -m pip install superclonica-cpu.
  • Создайте его один раз, tts = Superclonica(), и озвучивайте каждый ответ: audio, rate = tts.synthesize("Доброе утро! Вот ваша сводка на сегодня.", voice="F1", lang="ru"); tts.save("reply.wav", audio).
  • Telegram показывает голосовые для файлов OGG с кодеком Opus, поэтому сконвертируйте через ffmpeg: ffmpeg -i reply.wav -c:a libopus -b:a 48k reply.ogg.
  • Отправьте файл методом для голосовых сообщений вашей библиотеки ботов — он вызывает sendVoice в Telegram Bot API.

Чтобы бот не тормозил

Загрузка движка занимает несколько секунд, каждый следующий ответ — доли секунды: в наших тестах короткая фраза занимала 0,43 с на четырёх потоках процессора. С асинхронной библиотекой вроде aiogram или python-telegram-bot запускайте синтез в отдельном потоке, чтобы бот продолжал отвечать в других чатах. Кешируйте повторяющиеся ответы: тот же текст, голос и seed всегда дают тот же звук. Если бот написан не на Python, запустите движок как локальный HTTP-сервис из Docker-образа superclonica/superclonica:cpu и вызывайте POST /synthesize.

Голоса — честно

Десять стандартных голосов модели, M1–M5 и F1–F5, бесплатны и подойдут любому боту. Голоса персонажей из каталога сделаны фанатами, поэтому используйте их для развлекательных ботов в фанатских сообществах, а не чтобы выдавать себя за кого-то или казаться официальным. Сообщайте пользователям, что голос сгенерирован, а для бренда или публичного бота с большой аудиторией обучите оригинальный голос по записи согласившегося диктора или закажите его на бирже.