Whisper

whisper — открытая модель распознавания речи от OpenAI

Раздел
Видео
Обновлено
11.08.26

Whisper — семейство моделей OpenAI для многоязычного распознавания речи и перевода аудио в английский. Веса опубликованы для локального запуска, а производные реализации ускоряют инференс и добавляют потоковую обработку. Качество проверяют на своём языке, шуме и словаре.

Коротко

Коротко. Whisper принимает аудио и выдаёт текст, а также может определить язык и перевести речь в английский. Это не один сервис, а опубликованная архитектура и несколько размеров весов. Скорость зависит от реализации и оборудования, а точность — от языка, записи и способа сегментации.

Что такое Whisper

OpenAI опубликовала Whisper как модель автоматического распознавания речи. Вместе с кодом стали доступны веса нескольких размеров под разрешительной лицензией репозитория. Благодаря этому модель запускают локально, в облачных сервисах и в сторонних оптимизированных движках.

Whisper обучалась на большом многоязычном наборе аудио с текстовыми парами. Разнообразие помогает работать с акцентами и шумом, но не делает качество одинаковым для всех языков и областей.

Какие задачи поддерживаются

  • транскрипция речи на исходном языке;
  • определение языка сегмента;
  • перевод поддерживаемой речи в английский;
  • временные метки сегментов;
  • формирование субтитров;
  • пакетная обработка архивов.

Диаризация, то есть определение говорящих, не является основной встроенной задачей Whisper. Её обычно добавляет отдельная модель или библиотека.

Как работает модель

Whisper использует encoder-decoder Transformer.

  1. Аудио приводится к ожидаемому формату.
  2. Из сигнала строится log-Mel spectrogram.
  3. Энкодер превращает спектрограмму в скрытое представление.
  4. Декодер генерирует текстовые токены и специальные метки задачи, языка и времени.
  5. Обвязка объединяет сегменты и сохраняет субтитры или обычный текст.

Модель работает с окнами ограниченной длительности. Для длинной записи приложение режет аудио, передаёт контекст между окнами и собирает результат. Именно этот слой часто определяет качество таймкодов и повторов.

Размеры моделей

В семействе есть варианты от компактных до крупных. Меньшие требуют меньше памяти и обычно быстрее, крупные чаще устойчивее на сложной речи. Конкретные имена и модификации стоит смотреть в официальном репозитории и документации выбранного runtime.

Выбор по одной таблице WER ненадёжен. Нужен тест на собственных записях, особенно если важны русский язык, профессиональные термины, телефонный канал или несколько спикеров.

Официальный код и производные реализации

Официальная реализация удобна как эталон поведения. whisper.cpp переносит запуск на разные CPU и GPU и предлагает собственные форматы. faster-whisper использует оптимизированный backend и поддерживает эффективную пакетную обработку.

Это не новые обученные модели сами по себе. Результат может различаться из-за квантизации, декодирования, voice activity detection и обработки длинного аудио.

Наглядный пример

Подкаст длится час и содержит двух ведущих, гостя и музыкальные перебивки.

Устойчивый процесс выглядит так:

  1. привести громкость и формат к единому виду;
  2. отделить речь от длинных пауз и музыки;
  3. распознать сегменты с фиксированной моделью и настройками;
  4. отдельно выполнить диаризацию;
  5. сопоставить текст со спикерами;
  6. проверить имена, числа и спорные места по таймкодам;
  7. экспортировать редакторскую стенограмму и субтитры.

Если пропустить проверку, модель может аккуратно оформить выдуманное имя, а ошибка будет выглядеть убедительнее сырой записи.

Настройки декодирования

На результат влияют язык, задача, temperature, beam search, предыдущий текст и фильтры тишины. Универсального пресета нет.

  • Явно заданный язык помогает, когда он известен заранее.
  • Контекст предыдущего сегмента поддерживает связность, но способен повторять ошибку.
  • VAD сокращает тишину, но может обрезать тихое начало слова.
  • Более широкий поиск вариантов повышает вычисления и не всегда исправляет редкие термины.

Менять параметры лучше на сохранённом тестовом наборе с эталонной расшифровкой.

Таймкоды и субтитры

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

Для субтитров важны также длина строки, скорость чтения и логическое деление фразы. Автоматический SRT — хорошая основа, но не готовая редактура.

Как оценивать качество

WER сравнивает вставки, удаления и замены слов. CER полезен для языков и задач, где важны отдельные символы. Но средняя метрика не показывает цену конкретной ошибки.

Отдельно считают:

  • имена и названия;
  • числа, даты и единицы;
  • профессиональный словарь;
  • правильность языка;
  • смещение таймкодов;
  • ошибки на шуме и перекрывающейся речи.

Для медицинской, юридической или финансовой записи нужен человеческий контроль независимо от средней метрики.

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

Локальный запуск позволяет не отправлять аудио внешнему API, если весь pipeline действительно остаётся внутри контура. При облачной обработке проверяются условия хранения, регион, обучение на данных и доступ поставщика.

Сам файл тоже может содержать персональные данные и метаданные. Доступ, срок хранения и удаление проектируются для исходника, промежуточных сегментов и готовой транскрипции.

Whisper в ComfyUI

Whisper можно подключить через сторонние ноды или внешний сервис и использовать таймкоды в видео-workflow. Эти ноды не входят в базовую модель. Встроенный Manager ComfyUI помогает управлять расширениями, но источник, зависимости и маршрут аудио всё равно проверяются вручную.

Для воспроизводимости сохраняют точный файл весов, runtime, язык, параметры VAD и декодирования.

Частые ошибки

  • Считать multilingual одинаково точным для всех языков. Объём и качество данных различаются.
  • Приписывать Whisper диаризацию. Обычно это отдельный этап.
  • Путать перевод с транскрипцией. Встроенный режим перевода имеет конкретное целевое направление.
  • Оценивать скорость по названию видеокарты. Важны backend, размер модели, batch и формат.
  • Доверять точным таймкодам без прослушивания. Границы сегментов приблизительны.
  • Выбирать крупнейший вариант автоматически. Меньшая модель может быть достаточной и заметно дешевле в эксплуатации.

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

Whisper работает без интернета?

Да, если веса и runtime уже установлены локально и pipeline не обращается к внешним сервисам.

Поддерживает ли русский язык?

Да, многоязычные варианты распознают русский. Качество зависит от записи и словаря, поэтому его проверяют на своих примерах.

Можно ли использовать в реальном времени?

Whisper изначально удобнее для оконной обработки, но сторонние реализации строят streaming из коротких перекрывающихся сегментов. Задержка и стабильность зависят от этой обвязки.

Какая реализация лучше?

Официальная удобна как точка сравнения, оптимизированные — для конкретного оборудования и нагрузки. Лучший вариант определяется одинаковым тестом качества, скорости и памяти.

Главное

Whisper сделал многоязычное распознавание речи доступным для локальных и облачных продуктов. Его сильная сторона — переносимость и зрелая экосистема. Надёжная транскрипция всё равно требует правильной сегментации, отдельной диаризации, проверки критических слов и фиксации точной версии pipeline.