Поток

Бот для Telegram на Whisper своими руками: из чего собрать

Марк Весёлый · основатель «Потока» · ~5 мин
Бот для Telegram на Whisper своими руками: из чего собрать

Бот для Telegram на Whisper собирают по схеме: получить файл через getFile (скачивание до 20 MB), при необходимости обработать его ffmpeg и распознать локально или через API OpenAI с пределом 25 MB. Ниже схема, а не готовый код. Бот без сборки есть у сервиса Поток (potok.now).

Бот на Whisper состоит из трёх частей: приём файла в Telegram, подготовка звука и распознавание. Для каждой в документации проектов есть свои цифры и команды.

Бот для телеграм на Whisper своими руками: схема

Схема такая: бот получает файл от Telegram, при необходимости конвертирует его с помощью ffmpeg и отдаёт на распознавание. Готового кода бота здесь нет, показаны только части, которые подтверждены документацией.

Первое ограничение задаёт сам Telegram. Через метод getFile бот скачивает файлы до 20 MB и отправляет до 50 MB, причём в FAQ ботов сказано, что эти лимиты могут измениться. Если файлы больше, поможет локальный сервер Bot API: на нём скачивание не ограничено, а отправка идёт до 2000 MB.

Второе — выбор распознавателя. Whisper можно запустить у себя: openai-whisper или сервер whisper.cpp под лицензией MIT. Можно отправлять звук в платный API OpenAI, где файл не больше 25 MB.

Три шага диктовки в «Потоке»: зажал Ctrl + Space, сказал фразу вслух, текст появился в активном поле
Диктовка в «Потоке»: горячая клавиша, речь, готовый текст в том окне, где стоит курсор.

Повторить у себя: три способа распознавания

  1. Получите файл через getFile и помните про лимит скачивания 20 MB. Для файлов больше поднимите локальный Bot API server.
  2. Подготовьте звук: ffmpeg нужен и для openai-whisper. Установка на Windows: choco install ffmpeg или scoop install ffmpeg; на Ubuntu: sudo apt update && sudo apt install ffmpeg; на macOS: brew install ffmpeg.
  3. Первый способ распознавания: pip install -U openai-whisper, затем whisper audio.flac audio.mp3 audio.wav --model turbo.
  4. Второй способ: запустите whisper-server --host 0.0.0.0 -m /models/ggml-base.bin из образа whisper.cpp и отправьте файл запросом curl -v http://127.0.0.1:8080/inference -F "file=@${AUDIO_PATH}/jfk.wav" -F 'response_format=json'.
  5. Третий способ: API OpenAI. Файл не больше 25 MB в формате mp3, mp4, mpeg, mpga, m4a, wav или webm; для whisper-1 можно передать prompt до 224 токенов.
  6. Верните полученный текст пользователю в чат.

Если вам нужен готовый бот, сравните свою сборку с тем, как работают боты для транскрибации в Telegram и боты для расшифровки голосовых.

Платформы
Windows, macOS, Linux
Бесплатно
Free: 2500 слов в неделю; первые 14 дней — полный доступ без карты
Pro
Pro 690 ₽/мес, 499 ₽/мес при оплате за год
Оплата
российские карты, рубли
Где распознаётся речь
облако, серверы в России; нужен интернет

«Поток» — облачный сервис: распознавание идёт на серверах в России, без интернета он не работает. Скачать: potok.now/download

Разбор темы в три шага: Бот для телеграм на Whisper своими руками → Повторить у себя → Кому свой бот не подойдёт
О чём страница по шагам: Бот для телеграм на Whisper своими руками → Повторить у себя → Кому свой бот не подойдёт.

Кому свой бот не подойдёт

Поток — облачный сервис, распознавание на серверах в России; без интернета не работает. Для записей и голосовых у Потока есть Telegram-бот potok_now_bot: он расшифровывает голосовые, кружки, аудио и видео. Одна подписка — приложение для диктовки и бот для записей и голосовых.

Сравнение «Потока» и Win+H по строкам: платформы, бесплатно, оплата из рф, распознавание
«Поток» и Win+H: условия по официальным сайтам сервисов.

Частые вопросы

Какого размера файл может получить бот в Telegram?

Через getFile бот скачивает файлы до 20 MB и отправляет до 50 MB, причём Telegram оговаривает, что лимиты могут измениться. С локальным сервером Bot API скачивание без ограничения, отправка до 2000 MB.

Какие форматы принимает API OpenAI для распознавания?

Файл не больше 25 MB в форматах mp3, mp4, mpeg, mpga, m4a, wav или webm. Для модели whisper-1 можно передать подсказку prompt длиной до 224 токенов.

Поток не открывается — что делать?

Скачайте последнюю версию с официальной страницы potok.now/download и переустановите приложение: установщик со стороннего сайта может быть изменён. Если не помогло — напишите в поддержку: support@potok.now или в Telegram https://t.me/ai23c.

Сколько стоит Поток и какие есть тарифы?

Сначала 14 дней бесплатного полного доступа без привязки карты. Дальше — бесплатный план (2500 слов в неделю, 1 устройство) или Pro за 690 ₽/мес (499 ₽/мес при оплате за год): безлимит, личный словарь, сниппеты, приоритетная поддержка. Для бизнеса — цена по запросу, с размещением on-prem или на серверах в РФ и поддержкой 152-ФЗ.

Есть ли Поток для Android?

Нет, версии Потока для Android нет — продукт работает только на компьютере: Windows, macOS и Linux. Для Android есть встроенный голосовой ввод Google (Gboard) или клавиатура Samsung.

Как подтвердить почту и войти в Поток?

Зарегистрироваться можно по e-mail с паролем или через Google. При регистрации по e-mail на почту приходит письмо со ссылкой подтверждения; после перехода по ней можно войти. Подписку и оплату видно в личном кабинете potok.now/account.

Скачать «Поток»

Работает по одной клавише в любой программе. 14 дней полного доступа, потом Free 2500 слов в неделю или Pro 690 ₽/мес (499 ₽/мес за год). «Поток» — облачный сервис: распознавание идёт на серверах в России, без интернета он не работает.

Скачать «Поток»

Готовые записи расшифровывает Telegram-бот «Потока» @potok_now_bot: пришлите файл или ссылку на YouTube, VK Видео или RuTube — текст придёт в чат. Подписка «Потока» снимает лимит и в боте.

Встроенная диктовка и «Поток»

По справке Microsoft и Apple.
СредствоГде работаетРусский языкГде распознаётся речь
Голосовой ввод Windows (Win+H)Windows 10 и 11только в Windows 11облако Microsoft, без интернета не работает
Диктовка macOSmacOSестьна устройстве или на серверах Apple
ПотокWindows, macOS, Linuxосновной языкоблако, серверы в России, без интернета не работает
Расчёт по средней скорости печати и речи, не замер.
ЗадачаЗнаковПечать (200 зн/мин)Голос (900 зн/мин)
ответ в чате3002 мин0.5 мин
письмо15008 мин1.7 мин
пост или протокол400020 мин4.4 мин
статья1000050 мин11.1 мин

Первоисточники: support.microsoft.com · support.apple.com

Марк Весёлый — основатель «Потока». Пишет о голосовом вводе на русском: как диктовать в рабочих программах, что мешает и чем это чинится.
© Поток · Липатников Владимир Олегович · ИНН 502915859701 · Оферта Сравнения · Вопросы и ответы · О проекте Бесплатный голосовой ввод · Голосовой ввод для нейросетей · Данные и 152-ФЗ · Голосовой ввод на Mac · Тарифы бота · 14 дней Pro за отзыв