Whisper в открытом виде длинную запись режет сам: окнами по 30 секунд. Вручную файл делят для API OpenAI, где предел 25 MB на файл, и стараются не резать посреди предложения. В faster-whisper тишину убирает vad_filter=True, в GigaAM для длинных записей есть transcribe_longform. Для диктовки есть Поток (potok.now).
Длинный файл не обязательно резать: всё зависит от того, чем вы его распознаёте. Ниже разобрано, кому нужна нарезка, а кому хватит настроек.
Whisper и длинные аудио: резать ли запись на части
Открытый openai-whisper обрабатывает файл скользящим окном в 30 секунд, и функция transcribe() читает файл целиком. Поэтому для самого Whisper длинную запись можно подать одной командой, например whisper audio.flac audio.mp3 audio.wav --model turbo, как в README.
Нарезка нужна там, где у сервиса есть предел на размер. У API OpenAI файл не больше 25 MB. Длинную запись сначала сжимают, а если и так не помещается, разбивают на части не больше 25 MB и стараются не резать посреди предложения: в документации OpenAI для этого приведён пример с библиотекой PyDub.
У других моделей свои правила. В GigaAM метод .transcribe рассчитан на записи до 25 секунд, а для длинных предусмотрен transcribe_longform.
Как делить длинную запись и ускорить распознавание: пошагово
- Определите, где будете распознавать. Для локального openai-whisper нарезка не нужна, для API OpenAI нужна.
- Для API проверьте размер файла: предел 25 MB.
- Если файл больше, сожмите его, а потом разбейте на части не больше 25 MB. Режьте так, чтобы предложение не оказалось разорванным; в документации OpenAI для нарезки показан PyDub.
- В faster-whisper включите
vad_filter=True: он использует Silero VAD и по умолчанию убирает тишину дольше 2 секунд. - Там же можно запустить пакетный режим:
BatchedInferencePipeline(model=model), затемbatched_model.transcribe("audio.mp3", batch_size=16). - В whisper.cpp добавьте
--vadи модель VAD (Silero-VAD): останутся только речевые фрагменты, и распознавание ускорится. - Для GigaAM на длинных записях используйте
transcribe_longform: нужна установкаpip install -e ".[longform]"и токен HF для pyannote/segmentation-3.0.
Про расшифровку больших файлов целиком, без своих скриптов, есть отдельная статья: как расшифровать большой аудиофайл. Если нужна краткая версия длинной записи, смотрите выжимку из аудиозаписи.
- Платформы
- Windows, macOS, Linux
- Бесплатно
- Free: 2500 слов в неделю; первые 14 дней — полный доступ без карты
- Pro
- Pro 690 ₽/мес, 499 ₽/мес при оплате за год
- Оплата
- российские карты, рубли
- Где распознаётся речь
- облако, серверы в России; нужен интернет
«Поток» — облачный сервис: распознавание идёт на серверах в России, без интернета он не работает. Скачать: potok.now/download
Кому способ не подойдёт
Нарезка и скрипты не нужны тому, кто хочет просто диктовать в любое приложение: Поток — облачный сервис, распознавание на серверах в России; без интернета не работает. Готовые длинные записи приложение не расшифровывает, для них у Потока есть Telegram-бот potok_now_bot: одна подписка — приложение для диктовки и бот для записей и голосовых.
Частые вопросы
Для самого openai-whisper нет: он обрабатывает файл скользящим окном по 30 секунд, а transcribe() читает файл целиком. Резать приходится, когда упираетесь в предел API OpenAI в 25 MB на файл.
В документации OpenAI советуют сжать файл или разбить его на части не больше 25 MB и не резать посреди предложения. В качестве примера там приведена библиотека PyDub.
Через Поток можно надиктовать протокол вживую, произнося его по ходу или сразу после совещания. Расшифровка уже записанного аудиофайла встречи (готовая запись Zoom/Телемост) — отдельная задача транскрибации: такой файл можно отправить Telegram-боту «Потока» @potok_now_bot.
Голосовой ввод — это диктовка в реальном времени: говоришь и сразу получаешь текст в активном поле. Транскрибация — это расшифровка уже готовой аудио- или видеозаписи (например, записи встречи) в текст постфактум. Приложение «Поток» решает первую задачу — живую диктовку; готовые записи на русском расшифровывает его Telegram-бот @potok_now_bot.
Голосовой ввод — это диктовка в реальном времени в активное текстовое поле. Транскрибация — перевод уже готовой аудио/видеозаписи (лекции, звонка, подкаста) в текст постфактум, часто с диаризацией (разделением по говорящим).
Да, у ряда платформ есть встроенная транскрибация встреч: в Zoom — для облачных записей, в Microsoft Teams — во время встречи, в Google Meet — на тарифах Google Workspace. Альтернатива — записать звук и обработать отдельным сервисом транскрибации после звонка. Приложение «Поток» такой расшифровки не делает — оно для живой диктовки; запись звонка файлом можно отправить Telegram-боту «Потока» @potok_now_bot.
Как начать
«Поток» есть для Windows, macOS и Linux. Две недели всё открыто бесплатно, дальше — 2500 слов в неделю без оплаты. «Поток» — облачный сервис: распознавание идёт на серверах в России, без интернета он не работает.
Скачать «Поток»В подписку «Потока» входит и Telegram-бот @potok_now_bot: перешлите ему голосовое или длинную запись встречи — он вернёт текст. Без подписки в боте 60 минут в месяц бесплатно.
Встроенная диктовка и «Поток»
| Средство | Где работает | Русский язык | Где распознаётся речь |
|---|---|---|---|
| Голосовой ввод Windows (Win+H) | Windows 10 и 11 | только в Windows 11 | облако Microsoft, без интернета не работает |
| Диктовка macOS | macOS | есть | на устройстве или на серверах Apple |
| Поток | Windows, macOS, Linux | основной язык | облако, серверы в России, без интернета не работает |
| Задача | Знаков | Печать (200 зн/мин) | Голос (900 зн/мин) |
|---|---|---|---|
| ответ в чате | 300 | 2 мин | 0.5 мин |
| письмо | 1500 | 8 мин | 1.7 мин |
| пост или протокол | 4000 | 20 мин | 4.4 мин |
| статья | 10000 | 50 мин | 11.1 мин |
Первоисточники: support.microsoft.com · support.apple.com