For the complete documentation index, see llms.txt. This page is also available as Markdown.

WhisperX с диаризацией

Запустите WhisperX для быстрой расшифровки речи с таймкодами на уровне слов и диаризацией говорящих на GPU Clore.ai.

WhisperX расширяет Whisper от OpenAI тремя важными улучшениями: временные метки на уровне слов через принудительное фонемное выравнивание, диаризация говорящих с использованием pyannote.audio, и скорость до 70× в реальном времени за счёт пакетного вывода с faster-whisper. Это основной инструмент для производственных пайплайнов транскрибации, которым нужны точное время и определение говорящих.

GitHub: m-bain/whisperX PyPI: whisperx Лицензия: BSD-4-Clause Статья: arxiv.org/abs/2303.00747

Ключевые особенности

  • Временные метки на уровне слов — точность ±50 мс благодаря принудительному выравниванию wav2vec2 (против ±500 мс в обычном Whisper)

  • Диаризация говорящих — определение, кто что сказал, с помощью pyannote.audio 3.1

  • Пакетный вывод — скорость до 70× в реальном времени на RTX 4090

  • Предфильтрация VAD — Silero VAD удаляет тишину перед транскрибацией

  • Все модели Whisper — от tiny до large-v3-turbo

  • Несколько форматов вывода — JSON, SRT, VTT, TXT, TSV

  • Автоматическое определение языка — или принудительно задайте конкретный язык для более быстрой обработки

Требования

Компонент
Минимум
Рекомендуется

GPU

RTX 3060 12 ГБ

RTX 4090 24 GB

VRAM

4 ГБ (маленькая модель)

10 ГБ+ (large-v3-turbo)

ОЗУ

8 ГБ

16 ГБ+

Диск

5 ГБ

20 ГБ (кэш модели)

Python

3.9+

3.11

CUDA

12.8+

12.8+

Требуется токен HuggingFace для диаризации говорящих — примите лицензию на pyannote/speaker-diarization-3.1.

Рекомендация Clore.ai: RTX 3090 ($0.07–0.21/час) для модели large-v3-turbo с размером пакета 16. RTX 4090 ($0.14–0.42/час) для максимальной пропускной способности при размере пакета 32.

Установка

Если возникнут конфликты версий CUDA:

Быстрый старт

Примеры использования

Транскрибация с диаризацией говорящих

Использование из командной строки

Скрипт генерации SRT

Тесты производительности

Метод
Модель
1 ч аудио
GPU
Примерная скорость

Обычный Whisper

large-v3

~60 мин

RTX 3090

1×

faster-whisper

large-v3

~5 мин

RTX 3090

~12×

WhisperX

large-v3-turbo

~1 мин

RTX 3090

~60×

WhisperX

large-v3-turbo

~50 сек

RTX 4090

~70×

Размер батча
Скорость (RTX 4090)
VRAM

4

~30× в реальном времени

6 ГБ

8

~45× в реальном времени

8 ГБ

16

~60× в реальном времени

10 ГБ

32

~70× в реальном времени

14 ГБ

Советы для пользователей Clore.ai

  • Освобождайте VRAM между шагами — удаляйте модели и вызывайте torch.cuda.empty_cache() между транскрибацией, выравниванием и диаризацией

  • Токен HuggingFace — перед тем как диаризация заработает, нужно принять лицензию pyannote; установите HF_TOKEN как переменную окружения

  • Настройка размера пакета — начните с batch_size=16, уменьшите до 4–8 на картах с 12 ГБ, увеличьте до 32 на картах с 24 ГБ

  • int8 вычисления — используйте compute_type="int8" чтобы вдвое сократить использование VRAM с минимальной потерей качества

  • Docker-образ — pytorch/pytorch:2.11.0-cuda12.8-cudnn9-runtime

  • Постоянный кэш модели — подключите /root/.cache/huggingface чтобы не загружать модели заново при каждом перезапуске контейнера

Устранение неполадок

Проблема
Решение

CUDA out of memory

Уменьшите batch_size, используйте compute_type="int8", или используйте меньшую модель (medium, small)

Диаризация возвращает UNKNOWN

Убедитесь, что токен HuggingFace действителен и вы приняли лицензию pyannote

Нет модуля с именем 'whisperx'

pip install whisperx — убедитесь, что нет опечатки (это whisperx, а не whisper-x)

Плохие временные метки слов

Проверьте, что whisperx.align() вызывается после transcribe() — сырой вывод Whisper не содержит точных меток слов

Неверное определение языка

Принудительно задайте язык с помощью --language en или language="en" в Python API

Медленная обработка

Увеличьте batch_size, используйте large-v3-turbo вместо large-v3, убедитесь, что GPU не используется совместно

Последнее обновление

Это было полезно?