Ерем Шахбазян › Erem01 Сбер ID
Делаю сложные задачи простыми решениями
Рейтинг
9 619
№ 113 в каталоге
Отзывы
Профессионализм
9/10
Коммуникация
9 /10
Город
Москва
Опыт работы
5 лет
На сайте с
2025 года
Юридический статус
Самозанятый

Голосовой Telegram-бот: расшифровка голосовых в текст и озвучка текста — возрождение заброшенного проекта, работает локально без облака

Используемые навыки Bot Development Docker Machine Learning Algorithms Python Telegram API

Описание

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

За основу взял открытый бот tochilkinva/tg_bot_stt_tts (68 звёзд на GitHub), заброшенный в 2022 году. Он работал только под Windows на старой версии aiogram, требовал вручную скачать модели и положить ffmpeg.exe в две папки, а при одновременных запросах путал ответы разных людей. Задача — вернуть проект к жизни и сделать бота, который ставится одной командой.

Решение

Переписал бота на Python и aiogram 3 и заменил движки: распознавание — на faster-whisper (модель Whisper, ставит пунктуацию и сама читает любые форматы), озвучку — на Piper вместо тяжёлого torch. Внешний ffmpeg больше не нужен, модели скачиваются сами при первом запуске.

Исправил ошибки оригинала: временные файлы с одинаковыми именами — двое пользователей перезаписывали ответы друг друга; озвучка уходила в формате, который Telegram не считает голосовым; длинный текст резался посреди слова; бот замирал целиком, пока шло распознавание; ответ уходил в личку, а не в чат, откуда пришло сообщение.

Добавил кружки и видео, проверку длительности и размера файла, понятные ответы на тишину, битый файл или PDF вместо аудио, работу в фоне с ограничением нагрузки, настройки через .env и Docker. 26 автотестов, включая сквозной на настоящих моделях: текст → голос → снова текст.

Результат

Бот присылает расшифровку голосового, кружка или видео и озвучивает текст настоящим голосовым сообщением. 14-секундное голосовое распознаётся меньше чем за секунду на обычном процессоре, без видеокарты. Всё работает на своём сервере: без облачных API, без оплаты за минуты, записи никуда не уходят.

Проект — открытый форк с сохранением лицензии и указанием автора оригинала; в README подробно расписано, что изменено и почему.

Оценили проект:

Другие проекты

Все проекты →
Веб-разработка и IT Парсер каталога интернет-магазина в Excel: 1000 товаров за минуту и отчёт, что изменилось с прошлого запуска — цены, наличие, новинки
Парсер каталога интернет-магазина в Excel: 1000 товаров за минуту и отчёт, что изменилось с прошлого запуска — цены, наличие, новинки
7
Веб-разработка и IT Бот-модератор Telegram-групп: возрождение заброшенного проекта — капча, антифлуд, защита от подмены букв, бан спамеров по имени, отчёты админам
Бот-модератор Telegram-групп: возрождение заброшенного проекта — капча, антифлуд, защита от подмены букв, бан спамеров по имени, отчёты админам
7
Веб-разработка и IT Бот поддержки клиентов в Telegram: автоответ в нерабочее время, шаблоны ответов, «кто ждёт ответа», статистика и выгрузка обращений в Excel
Бот поддержки клиентов в Telegram: автоответ в нерабочее время, шаблоны ответов, «кто ждёт ответа», статистика и выгрузка обращений в Excel
4
Веб-разработка и IT Telegram-бот для автоматизации обработки заявок и интеграции с CRM
Telegram-бот для автоматизации обработки заявок и интеграции с CRM
355