ТранскрибаторТранскрибатор
Практическая инструкция

WhisperX: как получить расшифровку, время слов и метки говорящих

Чем WhisperX отличается от обычного Whisper, как запустить пробу на русском и отдельно проверить текст, выравнивание и разметку участников.

02 октября 2026Транскрибатор
WhisperXТРАНСКРИПТТекст: «Я пришлю файл»Время: 00:12 → 00:14Голос: SPEAKER_003 проверки
Проверенные ограниченияРазобранный примерРабочий шаблон
РаспознаваниеЧто произнесеноВыравниваниеКогда звучит словоДиаризацияГде меняется голосТекст, время и авторство принимаются после отдельных проверок
Три этапа дают разные сведения. Исправление одного слоя не подтверждает автоматически два других.

Когда нужен именно WhisperX

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

Это отдельный проект, а не название модели, которую следует вписать в команду обычного Whisper. Для базового запуска предназначена инструкция по openai-whisper. Команды и параметры двух программ не нужно механически смешивать.

Сделайте короткую пробу на русском

В документации проекта базовая установка указана как pip install whisperx. Подготовьте отдельное окружение и сверьте требования выбранной версии. Ниже показан пример команды для уже установленной программы; он не заменяет настройку зависимостей. Возьмите копию небольшого фрагмента с понятной русской речью и сохраните её под именем sample.wav.

whisperx sample.wav --language ru --device cpu --compute_type int8 --output_dir result --output_format json

Здесь явно выбраны русский язык, процессор, тип вычислений и папка результата. JSON удобен для проверки структуры и временных полей. Для читаемого документа можно отдельно выбрать txt, для субтитров — srt или vtt. Скорость этой пробы на вашем компьютере заранее неизвестна. Команда сверена с параметрами проекта; замер производительности в этой инструкции не проводился.

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

Проверьте выравнивание отдельно от слов

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

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

Не назначайте отсутствующему времени случайное значение только ради заполненной таблицы. Сохраните пометку, найдите нужный участок вручную и отделите подтверждённую границу от приблизительной. Для монтажного задания полезнее честная отметка «проверить 00:12–00:15», чем видимость точности до тысячной секунды.

Добавляйте говорящих после базовой проверки

Параметр --diarize включает разметку говорящих. Для используемой модели pyannote документация требует разрешённого доступа через Hugging Face и принятия условий модели. Не переносите чужой токен из примера. Если этот этап не настроен, получение обычного текста ещё не означает, что диаризация выполнена.

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

Если требуется прежде всего рабочий текст и настройка локального окружения не подходит, можно расшифровать аудиофайл в Транскрибаторе. Это другой путь получения текста; он не означает, что сервис предоставляет настройки или внутренний результат WhisperX. В любом варианте важные слова и подписи проверяют по исходнику.

Учебный пример

Правильные слова, неверно назначенный голос

Учебный пример: в записи два участника. Один говорит «Я пришлю файл», другой быстро отвечает «Завтра?». Автоматический результат объединил оба фрагмента под одной меткой.

СлойНаблюдениеЧто исправить
ТекстОбе фразы записаны верноСлова оставить после прослушивания
ВремяОтвет начинается внутри общего интервалаУточнить границу короткого вопроса
ГолосУ двух реплик одна меткаРазделить авторство по аудио
ИмяНомер голоса есть, представления нетСохранить условную подпись
Автоматический вариантSPEAKER_00Я пришлю файл. Завтра?Один общий интервалПосле проверкиA: Я пришлю файлБ: Завтра?Граница ответа уточнена
Учебная схема показывает исправление авторства. Сама по себе точная запись слов не подтверждает метку говорящего.

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

Карточка проверки WhisperX

Выделите и скопируйте
Запись и проверяемый фрагмент:
Версия WhisperX:
Модель распознавания / язык:
Устройство и тип вычислений:
Формат и папка результата:
Выравнивание завершено: да / нет
Диаризация выполнена: да / нет
Слова, требующие правки:
Границы времени для проверки:
Спорные смены голоса:
Основание для имени:
Исходный результат / исправленная версия:

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

WhisperX и Whisper — одна команда?

Нет. Это разные проекты и команды. Проверяйте справку именно установленной программы.

Метка SPEAKER_00 означает конкретного человека?

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

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

Нет. Содержание и временную границу нужно проверять независимо.

Нужно ли сразу включать все этапы?

Для первой пробы удобнее получить базовый результат, проверить его и затем добавлять дополнительные этапы. Так проще установить причину ошибки.