WhisperX: как получить расшифровку, время слов и метки говорящих
Чем WhisperX отличается от обычного Whisper, как запустить пробу на русском и отдельно проверить текст, выравнивание и разметку участников.
Когда нужен именно 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. В любом варианте важные слова и подписи проверяют по исходнику.
Правильные слова, неверно назначенный голос
Учебный пример: в записи два участника. Один говорит «Я пришлю файл», другой быстро отвечает «Завтра?». Автоматический результат объединил оба фрагмента под одной меткой.
| Слой | Наблюдение | Что исправить |
|---|---|---|
| Текст | Обе фразы записаны верно | Слова оставить после прослушивания |
| Время | Ответ начинается внутри общего интервала | Уточнить границу короткого вопроса |
| Голос | У двух реплик одна метка | Разделить авторство по аудио |
| Имя | Номер голоса есть, представления нет | Сохранить условную подпись |
Редактор сохраняет исходный JSON и отдельную исправленную версию. В журнале пишет, что изменились граница ответа и подпись, а распознанные слова остались прежними.
Карточка проверки WhisperX
Запись и проверяемый фрагмент: Версия WhisperX: Модель распознавания / язык: Устройство и тип вычислений: Формат и папка результата: Выравнивание завершено: да / нет Диаризация выполнена: да / нет Слова, требующие правки: Границы времени для проверки: Спорные смены голоса: Основание для имени: Исходный результат / исправленная версия:
Частые вопросы
WhisperX и Whisper — одна команда?
Нет. Это разные проекты и команды. Проверяйте справку именно установленной программы.
Метка SPEAKER_00 означает конкретного человека?
Нет. Это условный идентификатор в результате обработки; имя требует отдельного подтверждения.
Верное слово гарантирует точный таймкод?
Нет. Содержание и временную границу нужно проверять независимо.
Нужно ли сразу включать все этапы?
Для первой пробы удобнее получить базовый результат, проверить его и затем добавлять дополнительные этапы. Так проще установить причину ошибки.