WhisperX mit Diarisierung

WhisperX für schnelle Sprachtranskription mit wortgenauen Zeitstempeln und Sprecherdiarisierung auf Clore.ai GPUs ausführen.

WhisperX erweitert OpenAIs Whisper mit drei entscheidenden Verbesserungen: Wortgenaue Zeitstempel durch erzwungene Phonem-Alignment, Sprecher-Diarisierung mittels pyannote.audio, und bis zu 70× Echtzeitgeschwindigkeit durch gebündelte Inferenz mit faster-whisper. Es ist das bevorzugte Tool für Produktions-Transkriptionspipelines, die präzise Timing- und Sprechererkennung benötigen.

GitHub: m-bain/whisperXarrow-up-right PyPI: whisperxarrow-up-right Lizenz: BSD-4-Clause Paper: arxiv.org/abs/2303.00747arrow-up-right

Hauptmerkmale

  • Wortgenaue Zeitstempel — ±50 ms Genauigkeit durch wav2vec2 erzwungenes Alignment (vs. ±500 ms im normalen Whisper)

  • Sprecher-Diarisierung — identifizieren, wer was gesagt hat, via pyannote.audio 3.1

  • Gebündelte Inferenz — bis zu 70× Echtzeitgeschwindigkeit auf RTX 4090

  • VAD Vorfilterung — Silero VAD entfernt Stille vor der Transkription

  • Alle Whisper-Modelle — von tiny bis large-v3-turbo

  • Mehrere Ausgabeformate — JSON, SRT, VTT, TXT, TSV

  • Automatische Spracherkennung — oder erzwinge eine bestimmte Sprache für schnellere Verarbeitung

Anforderungen

Komponente
Minimum
Empfohlen

GPU

RTX 3060 12 GB

RTX 4090 24 GB

VRAM

4 GB (kleines Modell)

10 GB+ (large-v3-turbo)

RAM

8 GB

16 GB+

Festplatte

5 GB

20 GB (Modell-Cache)

Python

3.9+

3.11

CUDA

11.8+

12.1+

HuggingFace-Token erforderlich für Sprecher-Diarisierung — akzeptiere die Lizenz unter pyannote/speaker-diarization-3.1arrow-up-right.

Clore.ai-Empfehlung: RTX 3090 ($0.30–1.00/Tag) für das large-v3-turbo Modell mit Batch-Größe 16. RTX 4090 ($0.50–2.00/Tag) für maximalen Durchsatz bei Batch-Größe 32.

Installation

Falls du CUDA-Versionskonflikte bekommst:

Schnellstart

Beispielanwendungen

Transkription mit Sprecher-Diarisierung

Kommandozeilen-Nutzung

SRT-Generierungsskript

Leistungs-Benchmarks

Methode
Modell
1h Audio
GPU
Ca. Geschwindigkeit

Normales Whisper

large-v3

~60 min

RTX 3090

faster-whisper

large-v3

~5 Min

RTX 3090

~12×

WhisperX

large-v3-turbo

~1 min

RTX 3090

~60×

WhisperX

large-v3-turbo

~50 Sek

RTX 4090

~70×

Batch-Größe
Geschwindigkeit (RTX 4090)
VRAM

4

~30× Echtzeit

6 GB

8

~45× Echtzeit

8 GB

16

~60× Echtzeit

10 GB

32

~70× Echtzeit

14 GB

Tipps für Clore.ai-Nutzer

  • Zwischen den Schritten freien VRAM — Modelle löschen und aufrufen torch.cuda.empty_cache() zwischen Transkription, Alignment und Diarisierung

  • HuggingFace-Token — du musst die pyannote-Modelllizenz akzeptieren, bevor Diarisierung funktioniert; setze HF_TOKEN als Umgebungsvariable

  • Batch-Größen-Tuning — starte mit batch_size=16, auf 4–8 bei 12-GB-Karten reduzieren, auf 32 bei 24-GB-Karten erhöhen

  • int8 Berechnung — verwenden Sie compute_type="int8" um den VRAM-Verbrauch bei minimalem Qualitätsverlust zu halbieren

  • Docker-Imagepytorch/pytorch:2.5.1-cuda12.4-cudnn9-runtime

  • Persistenter Modell-Cache — mounte /root/.cache/huggingface um zu vermeiden, Modelle bei jedem Container-Neustart erneut herunterzuladen

Fehlerbehebung

Problem
Lösung

CUDA out of memory

Reduziere batch_size, verwende compute_type="int8", oder verwende ein kleineres Modell (medium, small)

Diarisierung gibt zurück UNKNOWN

Stelle sicher, dass der HuggingFace-Token gültig ist und du die pyannote-Lizenz akzeptiert hast

Kein Modul namens 'whisperx'

pip install whisperx — überprüfe, dass kein Tippfehler vorliegt (es ist whisperx, nicht whisper-x)

Ungenaue Wort-Zeitstempel

Prüfe, dass whisperx.align() nach aufgerufen wird transcribe() — rohes Whisper-Ausgabe fehlt Wortgenauigkeit

Spracherkennung falsch

Sprache erzwingen mit --language en oder language="en" in der Python-API

Langsame Verarbeitung

Erhöhen Sie batch_size, verwende large-v3-turbo anstelle von large-v3, stelle sicher, dass die GPU nicht geteilt wird

Zuletzt aktualisiert

War das hilfreich?