Mittelstufe 14 Min.Audio

WhisperX: Zeitstempel für jedes Wort und locuteurs

Direkte Antwort

WhisperX ist eine freie Erweiterung für Whisper (BSD-2-Clause-Lizenz, über 24.000 Sterne auf GitHub), die zwei Funktionen hinzufügt: ein Forced Alignment mithilfe eines phonetischen Modells für wirklich genaue Zeitstempel auf Wortebene und eine Sprechertrennung über pyannote-audio. Das Ganze läuft lokal, mit einer gebündelten Inferenz, die laut Projekt mit Whisper large-v2 bis zu 70-mal schneller als Echtzeit ist – dafür müssen drei Modelle statt nur eines geladen werden.

Whisper transkribiert sehr gut und liefert ungefähre Zeitstempel. WhisperX ergänzt zwei Dinge, die alles verändern, sobald es um mehr als ein einfaches Dokument geht: ein Forced Alignment, das wirklich genaue Zeitstempel für jedes einzelne Wort liefert, und eine Sprechertrennung, die angibt, wer wann gesprochen hat. Dadurch wird aus einer Transkription eine Grundlage für brauchbare Untertitel und ein lesbares Besprechungsprotokoll.

Von Mohamed Meguedmi·Aktualisierung 2026-09-29·Unter Windows, macOS und Linux getestet

#Das, was Whisper allein nicht löst

WhisperX ist eine freie Erweiterung unter der Lizenz BSD-2-Clause, die Whisper um zwei Funktionen ergänzt, die das Modell allein nicht bietet: Zeitstempel für jedes einzelne Wort, die durch Forced Alignment mit einem wav2vec2-Modell ermittelt werden, und eine Sprecherzuordnung, die ein pyannote-Modell liefert. Sie benötigen WhisperX, wenn Sie Untertitel erstellen, die zum richtigen Zeitpunkt erscheinen müssen, oder ein Besprechungsprotokoll, aus dem hervorgeht, wer gesprochen hat. Wenn Sie nur Text benötigen, reicht Whisper allein oder faster-whisper aus. Dafür müssen Sie drei Modelle statt eines laden und benötigen ein Hugging-Face-Zugriffstoken für die Sprechertrennung. Hinzu kommen dokumentierte Einschränkungen: Zahlen und Beträge werden nicht zeitlich ausgerichtet, gleichzeitiges Sprechen wird schlecht verarbeitet, und die Sprechertrennung bleibt unvollkommen. Alles läuft lokal, sowohl auf einer GPU als auch auf einer CPU oder einem Mac.

Whisper erzeugt hervorragenden Text. Seine Schwächen zeigen sich, sobald man etwas anderes als Text benötigt. Laut dem WhisperX-Repository werden die Zeitstempel von Whisper pro Äußerung und nicht pro Wort angegeben und können um mehrere Sekunden verschoben sein: In einem Dokument fällt das nicht auf, bei Untertiteln ist es inakzeptabel, denn ein Untertitel, der einen Moment zu spät erscheint, ist schlimmer als gar kein Untertitel. Und Whisper unterscheidet keine Sprecher: Eine zweistündige Besprechung wird als undifferenzierter Monolog wiedergegeben.

WhisperX erfüllt beide Anforderungen, indem es zusätzliche Schritte hinzufügt, statt das Modell zu ersetzen. Diese Designentscheidung bewahrt die Transkriptionsqualität, die Sie kennen. Das unter der Lizenz BSD-2-Clause veröffentlichte Projekt hat inzwischen mehr als 24.000 Sterne auf GitHub — ein Zeichen dafür, dass der Bedarf, den es abdeckt, nämlich Transkriptionen mit Zeitstempeln zu versehen und Sprechern zuzuordnen, weit über die Untertitelung hinausgeht.

#Die drei Schritte

Das Lokale-KI-Paket

Ihr privates, kostenloses ChatGPT auf Ihrem Rechner in einer Stunde – mit LM Studio, Ollama, Open WebUI und Ihren Dokumenten, ganz ohne Cloud.

  • Lebenslanger Online-Zugang
  • PDF + Dateien
  • Erstattung binnen 30 Tagen
Was jeder Schritt leistet und was er benötigt
SchrittRolleWas dafür benötigt wird
Sprachaktivitätserkennung (VAD)Das Signal wird vor der Transkription in Abschnitte mit Sprache unterteiltEin Sprachaktivitätsdetektor (standardmäßig pyannote, optional silero)
TranskriptionAudio wird über faster-whisper, eine schnelle Implementierung von Whisper, in Text umgewandeltEin Whisper-Modell: Seine Größe bestimmt Qualität und Speicherbedarf (auf der Kommandozeile ist small das Standardmodell)
Erzwungenes AlignmentJedes Wort wird mithilfe von wav2vec2 exakt seiner zeitlichen Position im Audio zugeordnetEin sprachspezifisches phonetisches Modell
Trennung der SprecherDie Audioaufnahme wird mit pyannote-audio nach Stimmen segmentiert, und die Redebeiträge werden gekennzeichnetDas standardmäßig verwendete Modell pyannote speaker-diarization-community-1, für dessen Zugriff Bedingungen akzeptiert werden müssen

Die Sprachaktivitätserkennung hat eine doppelte Funktion: Laut Repository reduziert sie Halluzinationen und ermöglicht es, Segmente zu bündeln, ohne die Wortfehlerrate zu verschlechtern. Der Alignment-Schritt wird oft unterschätzt. Er macht die Zeitstempel auf Wortebene zuverlässig, indem er mithilfe eines wav2vec2-Modells jedes Wort seiner tatsächlichen Position im Audiosignal zuordnet. Dieser Schritt ist sprachabhängig: Das Repository weist darauf hin, dass ein sprachspezifisches wav2vec2-Modell erforderlich ist und dass Standardmodelle für Englisch, Französisch, Deutsch, Spanisch und Italienisch verfügbar sind, dazu Modelle für zahlreiche weitere Sprachen über Hugging Face. Für eine nicht aufgeführte Sprache muss man selbst ein phonetisches Modell finden und testen. Die Transkription selbst profitiert von gebündelter Inferenz: Das Projekt gibt mit dem Modell large-v2 eine bis zu 70-fache Echtzeitgeschwindigkeit an, ohne die Hardware im README zu nennen. Betrachten Sie diese Zahl als Obergrenze, die Sie auf Ihrem Rechner überprüfen müssen.

#Sprechertrennung ohne Illusionen

Die Labelbildung funktioniert durch die Gruppierung der sprachlichen Merkmale über den gesamten Aufnahmeinhalt mittels pyannote-audio. Der Standardmodell von WhisperX ist heute speaker-diarization-community-1, veröffentlicht unter der Lizenz CC-BY-4.0, und verarbeitet ein monochromes Audio-Signal mit 16 kHz (Stereo wird in Mono umgewandelt, andere Frequenzen werden reabgegriffen). Die Modellbeschreibung behauptet, er erbringe deutlich bessere Ergebnisse als das alte Pipeline 3.1. Der WhisperX-Repository ist transparent bezüglich der Grenzen: Überlappende Sprache wird nur mittelmäßig behoben, und die Trennung bleibt „weit von der Perfektion entfernt“. Die Diarisation-Fehler, die von pyannote veröffentlicht wurden, betragen 11,7 % auf AISHELL-4, 17,0 % auf AMI (individuelle Mikrofone), 19,9 % auf AMI (fernliegende Mikrofone), 26,7 % auf CALLHOME (Teil 2) und 46,8 % auf Ego4D, je nach Datensatz. Es handelt sich um akademische Datensätze, nicht um Ihre Aufnahmen, aber die Größenordnung zeigt, dass eine Nachbearbeitung notwendig bleibt. Die Situation verschlechtert sich genau dort, wo Meetings komplexer werden: Personen, die sich gegenseitig unterbrechen, jemand, der weit vom Mikrofon entfernt ist, sowie nahe liegende Stimmen.

Zwei praktische Hinweise. Sie können eine minimale und eine maximale Anzahl von Sprechern angeben (Optionen --min_speakers und --max_speakers). Das Repository empfiehlt dies, wenn die Anzahl bekannt ist: Das Modell muss sie dann nicht mehr schätzen. Außerdem sind die Kennzeichnungen konstruktionsbedingt anonym: Das System sagt, dass es drei Stimmen gab und welche Gesprächsbeiträge zu welcher Stimme gehören, aber nicht, wer dahintersteht. Einer Kennzeichnung einen Namen zuzuordnen, ist ein manueller Schritt – und zugleich der Moment, in dem die Transkription zu personenbezogenen Daten wird.

!
Das lokale Verarbeiten ersetzt kein Einverständnis.
Eine Transkription mit Sprecherkennzeichnung enthält personenbezogene Daten, unabhängig davon, ob sie Ihren Rechner verlässt oder nicht. Die lokale Verarbeitung ist der richtige technische Ansatz; sie entbindet jedoch nicht davon, die aufgenommenen Personen zu informieren und ihre Zustimmung einzuholen.
i
Die Zugriffsbedingungen, konkret
Das Modell zur Sprechertrennung wird auf Hugging Face gehostet. Das Repository ist öffentlich, aber laut Modellseite müssen Sie dessen Bedingungen akzeptieren, um auf die Dateien zugreifen zu können, und anschließend einen Zugriffstoken mit Leseberechtigung erstellen, der mit --hf_token übergeben wird. Das ist kostenlos und erfordert keine Zahlung, aber diesen Schritt sollten Sie nicht erst mitten in einer Stapelverarbeitung entdecken.

#Die tatsächliche Genauigkeit, nicht die des Benchmarks

Zur Transkription selbst lohnt sich ein Blick auf die Zahlen, denn der übliche Benchmark zeichnet ein zu positives Bild. Laut VexaScribe, einem kommerziellen Transkriptionsdienst, erreicht Whisper large-v3 auf LibriSpeech test-clean, einem Datensatz mit sauberen Audioaufnahmen und nur einem Sprecher, eine Wortfehlerrate von etwa 2,7 %. Bei englischen Audioaufnahmen aus der Praxis – Meetings, Podcasts, Telefonaten – gibt dieselbe Website diese Rate mit etwa 8 bis 12 % an. Das sind von einem Branchenanbieter veröffentlichte Größenordnungen, die für Englisch gelten: Über Ihre französischen Aufnahmen sagen sie nichts aus. WhisperX verbessert die Transkription selbst nicht; diese stammt weiterhin von Whisper. Es ergänzt vielmehr die genaue zeitliche Position jedes Wortes und die Information, wer es gesprochen hat – zwei Angaben, die diese Fehlerrate nicht erfasst.

Das richtige Tool entsprechend dem Bedarf wählen
BedarfTool
Reiner Text, schnellWhisper allein oder eine schnelle Implementierung wie faster-whisper
Untertitel, die zum richtigen Zeitpunkt erscheinenWhisperX: Das Alignment ist sein eigentlicher Zweck
Protokoll, aus dem hervorgeht, wer was gesagt hatWhisperX mit aktivierter Sprechertrennung
Live-Transkription mit geringer LatenzEine auf Streaming ausgelegte Engine; diese Verarbeitungskette ist für Dateien gedacht

#Was dafür benötigt wird

Die Größe des Whisper-Modells bestimmt alles
Ein großes Modell liefert den besten Text und benötigt den meisten Speicher; im Repository wird darauf hingewiesen, dass ein größeres Modell die Genauigkeit der Zeitstempel auf Kosten eines höheren GPU-Speicherbedarfs verbessert, während ein größeres Alignment-Modell kaum hilft.
Drei Modelle werden geladen, nicht eins
Der Speicherverbrauch erreicht seinen Höchststand, wenn die Modelle für Transkription, Alignment und Trennung gleichzeitig im Speicher liegen. Das Python-Beispiel im Repository gibt jedes Modell nach seinem Schritt frei (Garbage Collection, dann torch.cuda.empty_cache()), eine bewährte Abhilfe bei einer kleinen Grafikkarte.
Ohne GPU, auch auf dem Mac
Das Repository nennt die Befehlszeile für den CPU-Betrieb und für macOS: --compute_type int8 --device cpu. Es veröffentlicht keine Verarbeitungszeiten für den CPU-Betrieb: Messen Sie die Laufzeit anhand eines Ausschnitts, bevor Sie eine Stapelverarbeitung planen. Bei einer NVIDIA-GPU wird das CUDA-Toolkit 12.8 benötigt, und das Projekt gibt für large-v2 mit beam_size=5 einen Speicherbedarf von weniger als 8 GB an.
Die Batchverarbeitung hilft
Die Stapelverarbeitung erklärt die angegebene Geschwindigkeit: Der Standardwert auf der Kommandozeile ist --batch_size 8. Eine Verringerung dieses Werts (das Repository nennt 4) gibt GPU-Speicher frei.
→
Zu wenig GPU-Speicher: drei Stellschrauben
Das Repository nennt drei Möglichkeiten, den Speicherbedarf zu reduzieren: --batch_size senken (zum Beispiel auf 4), ein kleineres Modell (--model base) oder einen weniger speicherintensiven Berechnungstyp (--compute_type int8) wählen. Die letzten beiden können die Qualität beeinträchtigen, wie das Repository ausdrücklich anmerkt. Beginnen Sie daher mit der Batchgröße.

#Installieren und eine Transkription starten

Die Installation erfolgt über pip; das Paket erfordert Python 3.10 bis 3.13. Das Kommandozeilenprogramm schreibt standardmäßig alle verfügbaren Formate (srt, vtt, txt, tsv, json, aud), und die Option --highlight_words True unterstreicht in den SRT- und VTT-Untertiteln jedes Wort genau dann, wenn es gesprochen wird. Die JSON-Ausgabe enthält Sprecherkennzeichnungen, wenn die Sprechertrennung aktiviert ist.

  1. 01
    WhisperX installieren
    pip install whisperx installe le paquet ; avec un GPU NVIDIA, installer d'abord le kit CUDA 12.8, selon le dépôt. Le dépôt ajoute qu'il peut falloir installer aussi ffmpeg, en renvoyant aux instructions d'installation de Whisper.
  2. 02
    Transkribieren und ausrichten
    Einen ersten Durchlauf mit einem mittelgroßen Whisper-Modell starten (Standard ist small) und die Sprache angeben, falls sie im Voraus bekannt ist: Ohne diese Angabe wird die Sprache automatisch erkannt, und das Alignment-Modell hängt davon ab.
  3. 03
    Bei Bedarf die Sprechertrennung aktivieren
    --diarize und den Hugging-Face-Zugriffstoken hinzufügen, den Sie nach Annahme der Nutzungsbedingungen des pyannote-Modells erhalten haben, und die Anzahl der Sprecher angeben, falls Sie diese kennen.
  4. 04
    Die Ausgabedatei erneut lesen
    Die erzeugte SRT- oder JSON-Datei öffnen und einige zufällig ausgewählte Passagen überprüfen, insbesondere die Redebeiträge an Stellen, an denen mehrere Personen fast gleichzeitig sprechen.
Terminal
pip install whisperx

# Avec GPU : transcription, alignement et séparation des locuteurs
whisperx reunion.mp3 --model medium --language fr \
  --diarize --hf_token VOTRE_JETON --min_speakers 2 --max_speakers 5

# Sur processeur ou sur Mac
whisperx reunion.mp3 --model medium --language fr --compute_type int8 --device cpu

#Was das Alignment nicht mit Zeitstempeln versehen kann

Das Repository nennt Einschränkungen, die Sie kennen sollten, bevor Sie perfekte Untertitel versprechen. Die erste betrifft Zahlen: Wörter, deren Zeichen nicht im Wörterbuch des Alignment-Modells vorkommen, etwa „2014.“ oder „£13.60“, können nicht zeitlich zugeordnet werden und erhalten daher keinen Zeitstempel. Bei einer Besprechung mit vielen Beträgen und Datumsangaben erscheinen diese Wörter in der SRT-Datei ohne eigene Zeitangabe. Die zweite Einschränkung betrifft gleichzeitiges Sprechen, mit dem sowohl Whisper als auch WhisperX schlecht umgehen. Die dritte betrifft die Sprache: Dafür ist ein sprachspezifisches wav2vec2-Modell erforderlich.

Zwei Unterschiede gegenüber dem ursprünglichen Whisper erklären auch Abweichungen im Text. Damit pro Batch ein einziger Durchlauf genügt, erfolgt die Inferenz ohne Whisper-Zeitstempel. Dies kann laut einer Warnung im Repository zu Abweichungen gegenüber der Standardausgabe führen. Außerdem ist die Option condition_on_prev_text standardmäßig deaktiviert, um Halluzinationen zu reduzieren. Seit 2026 stellt die Option --interleaved_context einen durchgehenden Kontext zwischen den Segmenten wieder her, der dem Projekt zufolge für die Zeichensetzung und das technische Vokabular hilfreich ist. Sie ist jedoch noch neu: Testen Sie sie an einem Ausschnitt, bevor Sie sie einsetzen.

#Konkrete Anwendungsfälle

Untertitelung von Schulungsvideos
Zeitstempel für jedes einzelne Wort verhindern, dass Untertitel der Stimme um einen ganzen Satz hinterherhinken – ein bei Lehrinhalten sofort sichtbarer und störender Mangel.
Protokoll einer Besprechung mit mehreren Sprechern
Die Trennung der Sprecher ermöglicht es, nachzuvollziehen, wer was vorgeschlagen hat – eine Information, die eine Zusammenfassung ohne Zuordnung zu den Sprechern nicht zuverlässig wiedergeben kann.
Lange Podcasts und Interviews
Die Batch-Inferenz ist für lange Aufnahmen ausgelegt: Genau das kündigt der Titel des Artikels der Autoren an, „Time-Accurate Speech Transcription of Long-Form Audio“.
Audioarchive zum Indexieren
Ein Text mit Zeitstempeln für jedes einzelne Wort ermöglicht es, eine Suche direkt zur exakten Stelle in der Aufnahme zu führen, statt nur zum gesamten Dokument.
Ausschnitte für soziale Medien
Die genaue Stelle, an der ein prägnanter Satz gesprochen wird, wortgenau zu finden, erleichtert das Zuschneiden eines kurzen Ausschnitts, ohne das gesamte Video erneut anhören zu müssen.

Diese Fälle haben eines gemeinsam: Keiner erfordert eine Transkription in Echtzeit. Verarbeitet wird eine bereits aufgezeichnete Datei im Nachhinein, sodass die gebündelte Inferenz ohne Latenzvorgaben arbeiten kann. Sobald es um Live-Untertitel geht – bei einer übertragenen Konferenz oder einem laufenden Anruf –, ist WhisperX nicht mehr das richtige Werkzeug, unabhängig davon, wie leistungsfähig die verfügbare Maschine ist.

#Die Transkription ist eine Eingabe, kein Endprodukt

In nahezu allen Praxisfällen ist die Transkription nicht das eigentliche Ziel: Sie liefert die Eingabe für ein lokales Modell, das daraus ein Protokoll, eine Liste der getroffenen Entscheidungen oder eine Zusammenfassung erstellt. Das hat eine Konsequenz für die erwartete Qualität: Ein Transkriptionsfehler bei einem seltenen Wort fällt weniger ins Gewicht als die Struktur der Sprecherwechsel, denn diese Struktur ermöglicht es dem Modell, das Gesagte korrekt zuzuordnen.

Konkret trennt ein sinnvoller Produktionsablauf die beiden Aufgaben: WhisperX erzeugt einen Text mit Zeitstempeln und Sprecherkennzeichnungen, anschließend liest ein separates Sprachmodell diesen Text durch, um daraus eine strukturierte Zusammenfassung zu erstellen. Beide Aufgaben in einem einzigen Aufruf zu vermischen – also ein Modell darum zu bitten, die Audiodaten direkt zusammenzufassen – nimmt der Pipeline die präzisen Zeitstempel, die WhisperX gerade liefern soll, und erschwert die nachträgliche Überprüfung einer bestimmten Passage.

Ein weiterer Vorteil: Die Transkription erfolgt nur einmal und lässt sich anschließend für mehrere Ergebnisse — einen kurzen Bericht, ein Entscheidungsprotokoll, Untertitel — wiederverwenden, ohne das Audio erneut zu verarbeiten. Der mit Zeitstempeln und Kennzeichnungen versehene Text wird zur maßgeblichen Referenz.

#FAQ

Ist WhisperX kostenlos?+
Ja, es ist ein freies Projekt unter der BSD-2-Clause-Lizenz, das lokal läuft und mehr als 24.000 Sterne auf GitHub hat. Die Sprechertrennung nutzt ein auf Hugging Face gehostetes pyannote-Modell, dessen Bedingungen Sie akzeptieren müssen. Außerdem müssen Sie einen Token erstellen: kostenlos und ohne Zahlung, aber vor der ersten Stapelverarbeitung einzuplanen.
Wie zuverlässig ist die Sprechertrennung?+
Bei sauberen Audioaufnahmen mit deutlich unterscheidbaren Stimmen ist sie ordentlich, bei überlappenden Stimmen jedoch weniger zuverlässig: Im Repository wird eingeräumt, dass die Trennung „alles andere als perfekt“ ist. Die von pyannote veröffentlichten Fehlerraten liegen je nach Korpus zwischen 11,7 % und 46,8 %. Die minimale und maximale Anzahl der Sprecher anzugeben hilft, und eine menschliche Überprüfung bleibt erforderlich.
Braucht man eine GPU?+
Nein: Das Repository stellt Befehle für die CPU und für macOS bereit (--compute_type int8 --device cpu), veröffentlicht dafür jedoch keine Verarbeitungszeiten. Messen Sie deshalb zuerst. Mit einer NVIDIA-GPU gibt das Projekt für large-v2 mit beam_size=5 weniger als 8 GB Speicherbedarf an; am höchsten ist der Speicherbedarf, wenn Transkription, Ausrichtung und Trennung gleichzeitig geladen sind.
WhisperX oder Whisper allein?+
Whisper allein, wenn Sie nur Text benötigen und es nicht auf eine präzise Synchronisierung ankommt, zum Beispiel um den Inhalt eines Interviews zu indexieren. WhisperX, sobald Sie Zeitstempel für jedes einzelne Wort benötigen, damit Untertitel zum richtigen Zeitpunkt erscheinen, oder Sprecherkennzeichnungen, um eine Besprechung mit mehreren Sprechern lesbar und nutzbar zu transkribieren.
Funktioniert es auf Französisch?+
Ja: Das Repository nennt Französisch als eine der fünf Sprachen (neben Englisch, Deutsch, Spanisch und Italienisch), für die standardmäßig ein Alignment-Modell verfügbar ist. Geben Sie --language fr an. Für eine Sprache, die nicht in dieser Liste steht, müssen Sie selbst ein phonetisches wav2vec2-Modell finden und testen, bevor Sie sich auf zuverlässige Zeitstempel für jedes einzelne Wort verlassen können.
Kann es in Echtzeit transkribieren?+
Nein, es ist für bereits gespeicherte Dateien konzipiert, nicht für einen Live-Stream. Live-Untertitelung erfordert eine auf Streaming ausgelegte Engine mit einem anderen Kompromiss zwischen Latenz und Genauigkeit als dem hier angestrebten. Die gebündelte Inferenz, die WhisperX bei der Verarbeitung einer ganzen Datei so schnell macht, ergibt bei einem kontinuierlichen Audiostream, der Stück für Stück ankommt, keinen Sinn mehr.
Hat Ihnen dieser Guide geholfen?

Haben Sie Feedback, einen Fehler entdeckt oder möchten Sie etwas präzisieren? Geben Sie uns Bescheid – so wird der Guide für alle besser.