Поток

Whisper и длинные аудио: как резать запись на части

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

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.

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

Как делить длинную запись и ускорить распознавание: пошагово

  1. Определите, где будете распознавать. Для локального openai-whisper нарезка не нужна, для API OpenAI нужна.
  2. Для API проверьте размер файла: предел 25 MB.
  3. Если файл больше, сожмите его, а потом разбейте на части не больше 25 MB. Режьте так, чтобы предложение не оказалось разорванным; в документации OpenAI для нарезки показан PyDub.
  4. В faster-whisper включите vad_filter=True: он использует Silero VAD и по умолчанию убирает тишину дольше 2 секунд.
  5. Там же можно запустить пакетный режим: BatchedInferencePipeline(model=model), затем batched_model.transcribe("audio.mp3", batch_size=16).
  6. В whisper.cpp добавьте --vad и модель VAD (Silero-VAD): останутся только речевые фрагменты, и распознавание ускорится.
  7. Для 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

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

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

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

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

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

Нужно ли резать аудио для openai-whisper?

Для самого openai-whisper нет: он обрабатывает файл скользящим окном по 30 секунд, а transcribe() читает файл целиком. Резать приходится, когда упираетесь в предел API OpenAI в 25 MB на файл.

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

В документации OpenAI советуют сжать файл или разбить его на части не больше 25 MB и не резать посреди предложения. В качестве примера там приведена библиотека PyDub.

Можно ли расшифровать протокол совещания через голосовой ввод?

Через Поток можно надиктовать протокол вживую, произнося его по ходу или сразу после совещания. Расшифровка уже записанного аудиофайла встречи (готовая запись Zoom/Телемост) — отдельная задача транскрибации: такой файл можно отправить Telegram-боту «Потока» @potok_now_bot.

В чём разница между голосовым вводом и транскрибацией?

Голосовой ввод — это диктовка в реальном времени: говоришь и сразу получаешь текст в активном поле. Транскрибация — это расшифровка уже готовой аудио- или видеозаписи (например, записи встречи) в текст постфактум. Приложение «Поток» решает первую задачу — живую диктовку; готовые записи на русском расшифровывает его Telegram-бот @potok_now_bot.

Чем транскрибация отличается от голосового ввода?

Голосовой ввод — это диктовка в реальном времени в активное текстовое поле. Транскрибация — перевод уже готовой аудио/видеозаписи (лекции, звонка, подкаста) в текст постфактум, часто с диаризацией (разделением по говорящим).

Можно ли расшифровать звонок в Zoom автоматически?

Да, у ряда платформ есть встроенная транскрибация встреч: в Zoom — для облачных записей, в Microsoft Teams — во время встречи, в Google Meet — на тарифах Google Workspace. Альтернатива — записать звук и обработать отдельным сервисом транскрибации после звонка. Приложение «Поток» такой расшифровки не делает — оно для живой диктовки; запись звонка файлом можно отправить Telegram-боту «Потока» @potok_now_bot.

Как начать

«Поток» есть для Windows, macOS и Linux. Две недели всё открыто бесплатно, дальше — 2500 слов в неделю без оплаты. «Поток» — облачный сервис: распознавание идёт на серверах в России, без интернета он не работает.

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

В подписку «Потока» входит и Telegram-бот @potok_now_bot: перешлите ему голосовое или длинную запись встречи — он вернёт текст. Без подписки в боте 60 минут в месяц бесплатно.

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

По справке 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 за отзыв