Zum Inhalt springen

Was ist Sprecherdiarisierung? Funktionsweise und Anwendungsfälle

Verfasst von
Jack Limebear
Veröffentlicht

AnhörenArtikel anhören

Sprecherdiarisierung verarbeitet einen Audiostream mit einer unbekannten Anzahl an Sprechern und erstellt eine Zeitleiste beschrifteter Segmente: Sprecher A von 0:00 bis 0:42, Sprecher B von 0:42 bis 1:15, danach wieder Sprecher A. Das System weiß nicht, wer die Sprecher sind, erkennt aber, dass es unterschiedliche Personen sind, und verwendet in der gesamten Aufnahme konsistente Labels.

Dieser Prozess macht Audio mit mehreren Sprechern nutzbar. Besprechungsnotizen, Analysen für Callcenter, Interviewtranskriptionen, Podcast-Bearbeitung und Rechtsdokumente hängen nicht nur davon ab, was gesagt wurde, sondern auch davon, wer es gesagt hat. 

Dieser Leitfaden erklärt, wie Diarisierung funktioniert, wie sie sich von verwandten Verfahren wie Segmentierung und Identifikation unterscheidet, welche Open-Source-Tools sie unterstützen und wie Sie die Leistung eines Diarisierungssystems bewerten.

Zusammenfassung

  • Sprecherdiarisierung unterteilt eine Audioaufnahme danach, wer spricht, und erstellt beschriftete Sprecherwechsel, ohne Personen namentlich zu identifizieren.
  • Sprecherdiarisierung unterscheidet sich von Sprechersegmentierung, die Sprecherwechsel erkennt, und Sprecheridentifikation, die Stimmen echten Namen zuordnet.
  • Die Leistung der Diarisierung wird mit der Diarization Error Rate (DER) für die Gesamtgenauigkeit und der Jaccard Error Rate (JER) gemessen, um die Genauigkeit für jeden Sprecher zu prüfen.

Was ist Sprecherdiarisierung und wie funktioniert sie?

Sprecherdiarisierung unterteilt einen Audiostream in Segmente danach, wer spricht. Ein Transkript mit Sprecherdiarisierung versieht jedes Audiosegment mit einer Sprecheridentität. Vereinfacht beantwortet sie die Frage: „Wer hat wann gesprochen?“ 

Ein Rohtranskript einer Besprechung enthält die Worte. Ein diarisiertes Transkript zeigt Ihnen dagegen, dass Sprecher 1 die Frage stellte, Sprecher 2 sie beantwortete und Sprecher 3 zur Hälfte unterbrach.

Die meisten Systeme zur Sprecherdiarisierung folgen einer Pipeline mit vier Phasen:

Diarization pipeline: voice detection, segmentation, embeddings, clustering, and anonymous labels.

Sehen wir uns diese Phasen genauer an.

Sprachaktivitätserkennung (VAD)

Die Sprachaktivitätserkennung trennt Sprache von allem anderen: Stille, Hintergrundgeräuschen, Musik oder Tastaturklicks. Nur Audiosegmente mit tatsächlicher Sprache gelangen in die nächste Phase.

Fehler in dieser Phase wirken sich auf alle folgenden Phasen aus.

Segmentierung

Diese sprachhaltigen Segmente werden dann an Stellen geteilt, an denen ein Sprecherwechsel wahrscheinlich ist – etwa bei einer Veränderung des Stimmklangs, einer Pause zwischen Sprecherwechseln oder einem anderen Tonhöhenmuster. Die meisten Systeme erkennen diese Wechselpunkte direkt, indem sie die akustischen Eigenschaften auf beiden Seiten einer möglichen Grenze vergleichen. 

Einige Segmentierungstools teilen Audio in kurze, einheitliche Fenster, etwa Blöcke von zwei Sekunden, und verlassen sich dann auf die Clustering-Phase, um benachbarte Fenster desselben Sprechers zusammenzuführen.

Embedding-Extraktion

Jedes Sprachsegment wird in ein Sprecher-Embedding umgewandelt, also einen numerischen Vektor, der die Stimmmerkmale der sprechenden Person erfasst. Embeddings desselben Sprechers liegen im Vektorraum nah beieinander, während Embeddings unterschiedlicher Sprecher weiter auseinanderliegen.

Clustering

Die Embeddings werden gruppiert, sodass Segmente desselben Sprechers dasselbe Label erhalten. Das System kennt die Anzahl der Sprecher meist nicht im Voraus. Der Clustering-Algorithmus muss sie daher ableiten und entscheiden, ob ein leicht anders klingendes Segment von einem neuen Sprecher stammt oder dieselbe Person mit einem anderen Tonfall zeigt.

Embeddings cluster same-speaker samples together, but speaker count is unknown in advance in speaker diarization

Das Ergebnis ist eine Reihe von Sprecherlabels mit Zeitbereichen, meist zusammen mit einem Transkript. Ein diarisiertes Transkript eines Gesprächs zwischen zwei Personen sieht beispielsweise so aus:

  • [speaker_0] Danke für Ihren Anruf. Wie kann ich Ihnen helfen?
  • [speaker_1] Hallo, ich rufe wegen meiner Rechnung vom letzten Monat an.
  • [speaker_0] Klar, ich sehe mir das an.

Die Labels sind anonym und intern konsistent. Speaker_0 bezeichnet bei jedem Auftreten dieselbe Stimme, aber das System weiß nicht, dass speaker_0 Fergal heißt. Das Zuordnen echter Identitäten ist eine andere Aufgabe, die wir weiter unten behandeln.

Wichtige Unterschiede zwischen Sprechersegmentierung und Sprecheridentifikation

Sprechersegmentierung und Sprecheridentifikation überschneiden sich stark mit der Diarisierung. Daher werden die drei Verfahren oft verwechselt.

Jedes löst ein leicht anderes Problem. Für die Bewertung von Tools ist es wichtig, die Unterschiede zu verstehen.

Segmentation
Question it answers
Where do speaker changes occur?
Output
Change-point boundaries
Requires contextual information
No
Diarization
Question it answers
Who spoke when (anonymous labels)?
Output
Labeled segments (speaker_0, speaker_1)
Requires contextual information
No
Identification
Question it answers
Who are the speakers (real identities)?
Output
Named speakers matched to voiceprints
Requires contextual information
Yes

Wie bereits erläutert, ist die Sprechersegmentierung ein früher Schritt innerhalb der Diarisierungspipeline. Sie erkennt die Grenzen, an denen ein Sprecher zu einer anderen Stimme wechselt, ohne Labels zu vergeben. Die Segmentierung zeigt Ihnen, dass bei 0:42 ein Wechsel stattgefunden hat. Die Diarisierung baut darauf auf, gruppiert die resultierenden Segmente und erstellt eine vollständig beschriftete Ausgabe. So erkennen Sie, dass die Stimme bei 1:15 dieselbe ist wie am Anfang der Aufnahme.

Sprecheridentifikation ist eine eigenständige Fähigkeit außerhalb der Diarisierung, wird aber häufig damit kombiniert. Die Identifikation bestimmt, wer diese Sprecher tatsächlich sind. Ein Identifikationssystem vergleicht Stimmen mit registrierten Stimmabdrücken und nutzt Referenzen bekannter Sprecher, um Identitäten zurückzugeben. Nach der Identifikation werden aus speaker_0 und speaker_1 „Fergal“ und „Eric“.

Viele Produkte kombinieren diese Tools, um ein umfassenderes Endtranskript zu erstellen. Ein Meeting-Tool könnte dies automatisch tun und beispielsweise Namen verwenden, die Personen in Teams oder Meet hinterlegt haben. So werden die Beiträge aller Teilnehmer ohne manuelle Prüfung namentlich zugeordnet. 

Comparison of segmentation, speaker diarization, and identification; diarize first, then identify.

Beliebte Open-Source-Tools und -Bibliotheken für Sprecherdiarisierung

Open-Source-Tools für Sprecherdiarisierung sind eine gute Wahl, wenn Sie Kontrolle, Flexibilität oder lokale Bereitstellung benötigen. Die beste Wahl hängt von Ihren Audiodaten ab – etwa Telefonaten, Besprechungen, Podcasts oder Sendungen –, Ihren Latenzanforderungen und der verfügbaren Entwicklungszeit. 

Hier sind einige der beliebtesten Optionen.

Pyannote.audio

Pyannote.audio ist ein PyTorch-basiertes Toolkit, das speziell für Sprecherdiarisierung entwickelt wurde, und eine der meistgenutzten Open-Source-Optionen. Es bietet vortrainierte Pipelines für den gesamten Diarisierungs-Stack, einschließlich VAD, Segmentierung, Embeddings und Clustering, sowie Bausteine zum Trainieren oder Fine-Tuning von Modellen mit Ihren eigenen Daten. 

Die vortrainierten Modelle werden über Hugging Face bereitgestellt und häufig als Diarisierungsschicht in größeren Transkriptionsprojekten eingesetzt.

WhisperX

WhisperX kombiniert die Whisper-Transkription von OpenAI mit Diarisierung und Forced Alignment. Whisper allein erstellt gute Transkripte, weist jedoch keine Sprecherlabels zu und liefert nur ungefähre Zeitstempel. WhisperX ergänzt eine wortgenaue Zeitstempelausrichtung und integriert eine auf pyannote basierende Diarisierung. Dadurch entstehen Transkripte, in denen jedes Wort sowohl einen präzisen Zeitstempel als auch ein Sprecherlabel trägt.

NVIDIA NeMo

NVIDIA NeMo umfasst Diarisierung als Teil seines umfassenderen Conversational-AI-Frameworks. Es bietet trainierbare Diarisierungsmodelle, einschließlich End-to-End-Ansätzen für überlappende Sprache, und richtet sich an Teams, die kundenspezifische Sprachsysteme auf GPU-Infrastruktur skalieren.

Bei allen diesen Tools müssen Sie die Diarisierungsinfrastruktur selbst verwalten, einschließlich Modellbereitstellung, Skalierung, Monitoring und Updates. Für Teams, die diesen Betriebsaufwand vermeiden möchten, bieten verwaltete APIs für Sprachdiarisierung eine einfachere Alternative. Sie lassen sich in bestehende Workflows integrieren oder übernehmen die gesamte Diarisierungspipeline. Damit eignen sie sich für Produktivumgebungen wie Analysen im Kundensupport, Meeting-Transkription und Podcast-Verarbeitung.

Echtzeit-Diarisierung: Herausforderungen und Anwendungsfälle

Echtzeit-Diarisierung ist deutlich schwieriger als die Diarisierung einer abgeschlossenen Aufnahme, da das System Entscheidungen mit unvollständigem Kontext treffen muss.

Ein Offline-System sieht die gesamte Aufnahme, bevor es Entscheidungen trifft. Es kann eine Stimme bei Minute 2 mit einer Stimme bei Minute 40 vergleichen und sicher feststellen, dass es derselbe Sprecher ist, weil beide Stellen gleichzeitig verfügbar sind. Ein Echtzeitsystem hat diesen Vorteil nicht: Es muss Sprache beim Eintreffen labeln, ohne zu wissen, was danach gesagt wird, und kann getroffene Entscheidungen kaum oder gar nicht korrigieren. 

Dieser fehlende zukünftige Kontext macht drei Probleme in Echtzeit besonders schwer lösbar:

  • Latenz vs. Genauigkeit: Ohne die gesamte Unterhaltung vor- und zurückzubeziehen, geht das Einhalten strengerer Reaktionszeitvorgaben direkt zulasten der Genauigkeit.
  • Überlappende Sprache: Wenn Menschen gleichzeitig sprechen, könnte ein System, das das Audio erneut verarbeitet, die Stimmen trennen. Ein Echtzeitsystem muss sie einem einzelnen Label zuordnen oder direkt spezialisierte, überlappungssensitive Modelle einsetzen.
  • Kurze Äußerungen: Ein schnelles „Ja“ oder „Nur zu“ liefert dem System kaum genug Stimmaterial. Ohne umgebenden Kontext muss es dennoch sofort ein Label vergeben.

Trotz dieser Herausforderung können manche Anwendungen nicht warten, bis eine Aufnahme abgeschlossen ist. Live-Untertitel für Besprechungen und Sendungen benötigen Sprecherlabels, während Menschen sprechen. Contact-Center-Software muss für Agenten während eines Gesprächs Hinweise bereitstellen und dazu in Echtzeit erkennen, welche Worte der Kunde verwendet. Voice Agents für Gespräche mit mehreren Teilnehmern müssen ohne Verzögerung erfassen, wer was fragt. In jedem dieser Fälle ist ein leicht ungenaueres, aber sofortiges System besser als ein genaueres mit Verzögerung.

Für Workloads, die keine Echtzeitlabels erfordern, etwa Analysen, Compliance-Prüfungen und die Transkripterstellung, bleibt Batch-Diarisierung die bessere Wahl, da sie deutlich genauer ist.

So bewerten Sie die Leistung der Sprecherdiarisierung

Für die Messung der Diarisierungsgenauigkeit sind zwei Metriken besonders wichtig: die Diarization Error Rate (DER) für die Gesamtgenauigkeit und die Jaccard Error Rate (JER), die prüft, ob diese Genauigkeit für jeden Sprecher erhalten bleibt.

Die DER berechnet den Anteil der gesamten Sprechzeit, der falsch zugeordnet wurde. Sie kombiniert drei Fehlertypen:

  • Falscher Sprachalarm: Das System hat ein Segment als Sprache gelabelt, obwohl niemand sprach.
  • Übersehene Sprache: Jemand sprach, aber das System hat es als Stille gelabelt.
  • Sprecherverwechslung: Sprache wurde erkannt, aber dem falschen Sprecher zugeordnet.

DER = (falscher Alarm + übersehene Sprache + Sprecherverwechslung) / gesamte Sprechdauer

Eine DER von 10 % bedeutet, dass Fehler über diese drei Typen hinweg ein Zehntel der gesamten Sprechzeit ausmachen. Niedrigere Werte sind besser. Scores sind nur vergleichbar, wenn sie mit denselben Daten unter denselben Bedingungen gemessen wurden. Die DER variiert stark je nach Audioqualität, Sprecheranzahl und Umfang der Überlappungen in der Aufnahme.

Die Jaccard Error Rate (JER) misst die Diarisierungsgenauigkeit für jeden Sprecher separat und mittelt anschließend die Ergebnisse aller Sprecher. Für jeden Referenzsprecher ordnet der Evaluator das ähnlichste Sprecherlabel des Systems zu und vergleicht die korrekt überlappende Zeit mit der Gesamtzeit, die einem der beiden Sprecher zugewiesen wurde.

Stellen Sie sich beispielsweise eine 60-minütige Besprechung vor, in der Sprecher A 50 Minuten und Sprecher B 10 Minuten spricht. Ein Diarisierungssystem kennzeichnet 48 von 50 Minuten von Sprecher A korrekt, aber nur 4 von 10 Minuten von Sprecher B. Die Gesamt-DER kann dennoch relativ gut aussehen, weil der Großteil der Besprechung Sprecher A gehört. Die JER berücksichtigt das schlechte Ergebnis von Sprecher B gleichwertig, weil sie Sprecher A und Sprecher B unabhängig bewertet, bevor sie deren Werte mittelt.

JER_speaker = 1 - (correct_overlap / (ref_time + sys_time - correct_overlap))

Die endgültige JER ist der Durchschnitt dieser Fehlerraten pro Sprecher:

JER = (1 / N) * Σ[JER_speaker_i]  für i = 1..N

Die gemeinsame Betrachtung von DER und JER liefert ein vollständigeres Bild der Diarisierungsgenauigkeit: DER für die Gesamtgenauigkeit und JER dafür, ob diese Genauigkeit bei allen Teilnehmern erhalten bleibt, einschließlich Personen, die seltener sprechen.

Tests mit produktionsnahen Audiodaten

Berechnen Sie bei der Bewertung eines Systems zur Sprecherdiarisierung sowohl DER als auch JER mit Audiodaten, die Ihren tatsächlichen Einsatzbedingungen entsprechen: Ihrer typischen Sprecheranzahl, Audioqualität und dem Umfang sich überschneidender Sprache. 

Veröffentlichte Benchmark-Scores können auf sauberen, kontrollierten Datensätzen gemessen werden, etwa auf Studio-Aufnahmen, die selten echten Gesprächsaufnahmen oder Live-Besprechungen entsprechen. Ein System mit guten Benchmark-Ergebnissen kann bei verrauschtem, überlappendem Audio aus der Praxis dennoch deutlich schlechter abschneiden. Testen Sie mit Ihren eigenen Daten, bevor Sie sich für ein Diarisierungsprodukt entscheiden.

Starten Sie mit ElevenAPI für Sprecherdiarisierung

Wenn Sie eine Transkriptionsfunktion mit Unterstützung für mehrere Sprecher entwickeln möchten, Scribe v2 von ElevenLabs stellt Sprecherdiarisierung über eine einzige Speech to Text API bereit. Senden Sie Audio mit diarize=true an den Endpunkt. Die JSON-Antwort versieht jedes Wort mit einer Sprecher-ID – für bis zu 32 Sprecher, in über 90 Sprachen und bei Dateien mit einer Länge von bis zu 10 Stunden.

Zwei Optionen erweitern die Standardausgabe der Diarisierung. Bei Gesprächsaufnahmen weist detect_speaker_roles=true Sprechern statt anonymer Nummern die Rollen Agent und Kunde zu. Wenn Ihr Workspace registrierte Sprecherprofile enthält, kann use_speaker_library=true erkannte Sprecher mit hinterlegten Stimmen abgleichen und Diarisierung sowie Identifikation in einer Anfrage verbinden. 

Ein Diarisierungsschwellenwertparameter ermöglicht es Ihnen, den Kompromiss zwischen dem zu starken Aufteilen und dem Zusammenführen von Sprechern anzupassen. Wenn Ihre Sprecher bereits auf getrennten Audiokanälen isoliert sind, etwa bei Stereo-Gesprächsaufnahmen, Multikanal-Transkription ordnet Sprecher nach Kanal zu und überspringt die Diarisierung vollständig.

Der Speech to Text-Schnellstart führt Sie Schritt für Schritt durch die erste Integration. Für regulierte Bereitstellungen erfüllt die Plattform SOC 2, ISO 27001, PCI DSS L1 und HIPAA. Zudem sind EU-Datenresidenz und ein Zero-Retention-Modus verfügbar.

Möchten Sie Sprecherdiarisierung in Ihre Systeme integrieren? Starten Sie mit Ihrem API-Key oder sehen Sie sich die ElevenLabs-Dokumentation an, um mehr zu erfahren.

FAQ

Ähnliche Artikel

Erstellen Sie mit hochwertiger KI-Audio