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

WhisperX mit Sprecherdiarisierung

Führe WhisperX für schnelle Sprachtranskription mit Wort-Zeitstempeln und Sprecherdiarisierung auf Clore.ai-GPUs aus.

WhisperX erweitert OpenAIs Whisper um drei entscheidende Verbesserungen: Zeitstempel auf Wortebene durch erzwungene Phonem-Ausrichtung, Sprecherdiarisierung mit pyannote.audio, und bis zu 70× Echtzeitgeschwindigkeit durch Batch-Inferenz mit faster-whisper. Es ist das Standardwerkzeug für Produktions-Transkriptions-Pipelines, die präzise Zeitangaben und Sprecheridentifikation benötigen.

GitHub: m-bain/whisperX PyPI: whisperx Lizenz: BSD-4-Clause Paper: arxiv.org/abs/2303.00747

Hauptfunktionen

  • Zeitstempel auf Wortebene — ±50 ms Genauigkeit durch erzwungene wav2vec2-Ausrichtung (vs. ±500 ms in Vanilla Whisper)

  • Sprecherdiarisierung — erkenne, wer was gesagt hat, mittels pyannote.audio 3.1

  • Batch-Inferenz — bis zu 70× Echtzeitgeschwindigkeit auf einer RTX 4090

  • VAD-Vorfilterung — Silero VAD entfernt Stille vor der Transkription

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

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

  • Automatische Spracherkennung — oder erzwinge eine bestimmte Sprache für eine 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

12.8+

12.8+

HuggingFace-Token erforderlich für die Sprecherdiarisierung — akzeptiere die Lizenz auf pyannote/speaker-diarization-3.1.

Clore.ai-Empfehlung: RTX 3090 ($0.07–0.21/hr) für das large-v3-turbo-Modell mit Batch-Größe 16. RTX 4090 ($0.14–0.42/hr) für maximalen Durchsatz bei Batch-Größe 32.

Installation

Falls CUDA-Versionskonflikte auftreten:

Schnellstart

Anwendungsbeispiele

Transkription mit Sprecherdiarisierung

Verwendung über die Kommandozeile

SRT-Generierungsskript

Leistungsbenchmarks

Methode
Modell
1 Stunde Audio
GPU
Ungefähre Geschwindigkeit

Standard-Whisper

large-v3

~60 Min.

RTX 3090

1×

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

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

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

  • Batch-Size-Tuning — beginne mit batch_size=16, reduziere auf 4–8 bei 12-GB-Karten, erhöhe auf 32 bei 24-GB-Karten

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

  • Docker-Image — pytorch/pytorch:2.11.0-cuda12.8-cudnn9-runtime

  • Persistenter Modell-Cache — einbinden /root/.cache/huggingface um das erneute Herunterladen der Modelle bei jedem Container-Neustart zu vermeiden

Fehlerbehebung

Problem
Lösung

CUDA-Speicher erschöpft

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

Diarisierung gibt zurück UNBEKANNT

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

Kein Modul namens 'whisperx'

pip install whisperx — stelle sicher, dass kein Tippfehler vorliegt (es ist whisperx, nicht whisper-x)

Schlechte Zeitstempel auf Wortebene

Prüfe, dass whisperx.align() nach transcribe() aufgerufen wird — die rohe Whisper-Ausgabe verfügt nicht über Wortgenauigkeit

Falsche Spracherkennung

Erzwinge die Sprache 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 gemeinsam genutzt wird

Zuletzt aktualisiert

War das hilfreich?