Распознавание речи
Голосовые сообщения, которые можно читать
В длинном голосовом неудобно искать одну фразу. Я сделал бота: отправляешь запись, получаешь текст. Распознавание работает на своей машине, без отдельного облачного API для речи.
Прикладной инструментПроблема
Чтобы найти нужное в голосовом сообщении, приходится слушать запись.
Что я сделал
Связал Telegram с локальным Whisper. Добавил обработку голосовых, аудио и видеосообщений, ограничение доступа владельцем и отправку длинной расшифровки частями.
Голосовое или аудиофайл
Распознаёт речь
на компьютере
Можно прочитать и найти нужный фрагмент.
Перед распознаванием записи идут в очередь. Временный файл удаляется после обработки.
Как это устроено
Локальное распознавание
Аудио проходит через Telegram, а сама модель работает на компьютере владельца. Отдельный сервис распознавания не получает запись.
По одному файлу
Записи обрабатываются последовательно. Несколько тяжёлых распознаваний не конкурируют за ресурсы одновременно.
Память освобождается
После периода простоя модель выгружается. При следующем сообщении она загружается снова; первый ответ после паузы требует больше времени.
Технические подробности+
Python, aiogram и faster-whisper. Файлы скачиваются временно и удаляются после обработки. Текст разбивается под ограничения сообщений Telegram. Проверяются тип и размер файла; качество расшифровки зависит от записи и выбранной модели.
- Python
- Telegram
- Whisper
- Локальная модель