Ein Transkript zeigt, was gesagt wurde. Bei Interviews, Meetings und Podcasts gehört ebenso dazu, zu wissen, wer es gesagt hat – in der Sprachforschung nennt man das Sprecherdiarisierung. Seit iPhone 1.8.5, Mac App Store 1.3.2 und der direkt geladenen Mac-Version 1.5.1 läuft die Sprechertrennung in Whisper Notes vollständig am Gerät.
Hier erklären wir die Technik, zeigen unsere Benchmark-Ergebnisse im Vergleich zu einer in der Cloud erzeugten Referenz und beschreibt den einen Fehlerfall, den wir technisch nicht beseitigen konnten – samt unserer Lösung dafür.
Was die Funktion macht
Öffne eine Notiz – eine Aufnahme, eine importierte Audio- oder Videodatei oder eine Meeting-Aufnahme – und wähle die Sprecher-Taste. Nach wenigen Sekunden hat jeder Absatz ein Sprecher-Label und einen Zeitstempel.
Sprecher-Labels auf Mac und iPhone. Ein Tipp auf einen Satz springt bei der Wiedergabe an diese Stelle.
Die Labels heißen anfangs Sprecher 1 und Sprecher 2. Wird eines umbenannt, ändert sich das gesamte Transkript. Ein Tipp auf einen Satz setzt die Audiowiedergabe genau an diese Stelle – so lässt sich ein Zitat direkt mit der Originalstimme abgleichen.
Wer einen Sprecher umbenennt, aktualisiert damit jeden Absatz der Notiz.
Bei Meeting-Aufnahmen startet die Sprechererkennung automatisch nach dem Gespräch; dies lässt sich in den Einstellungen ausschalten. Die Labels bleiben beim Export erhalten: Transkript mit Sprechern kopieren übernimmt sie in die Zwischenablage, SRT- und VTT-Dateien in die Untertitel.
Die Diarisierung verarbeitet Stimmen, nicht Wörter. Daher funktioniert sie in allen über 100 Sprachen gleich, die die App transkribiert.
Ein 19 MB großes Modell auf der Neural Engine
Die Sprecherdiarisierung beantwortet „Wer hat wann gesprochen?“ in drei Schritten. Zuerst wird das Audio in Abschnitte mit Sprache zerlegt. Jeder Abschnitt wird dann zu einem Stimmabdruck – einem kompakten Vektor, der die Stimme und nicht die Wörter beschreibt. Schließlich werden diese Stimmabdrücke gruppiert: Abschnitte im selben Cluster erhalten dasselbe Label.
Whisper Notes nutzt die community-1-Pipeline von pyannote, konvertiert zu Core ML, damit beide Stufen auf der Neural Engine laufen. Der einmalige Download ist 19 MB groß. Auf einem Mac der M-Serie dauert eine 5.7-minütige Unterhaltung 2 bis 4 Sekunden.
Audio → Sprachsegmente → Stimmabdrücke → Cluster → Labels
Jeder Schritt läuft am Gerät.
Für die Diarisierung ist das noch wichtiger als für die Transkription. Ein Stimmabdruck ist biometrisch: Er identifiziert einen Menschen ähnlich wie ein Fingerabdruck. Bei der lokalen Verarbeitung werden die Stimmabdrücke von dir, deinen Kollegen und deinen Interviewpartnern auf dem Gerät berechnet, gruppiert und verworfen. Sie werden nie versendet.
Was wir gemessen haben
Für die Sprecherdiarisierung verwenden wir einen festen Benchmark aus zwei Dateien. Die Referenz stammt von einem cloudbasierten Dienst für ASR und Diarisierung (ElevenLabs) und wurde von Hand geprüft. Bei der Auswertung werden jeweils 10 ms Sprache einem Sprecher zugeordnet; anschließend wird die beste Zuordnung zwischen Ergebnis und Referenz gewählt. Zwei Dateien sind eine kleine Stichprobe. Wir verstehen die Zahlen daher als Richtwert, nicht als endgültiges Urteil.
Die erste Datei bildet den üblichen Fall ab: ein fünfminütiger englischer Podcast mit zwei deutlich unterschiedlichen Stimmen. So klingen die meisten Interviews, Podcasts und Gespräche zu zweit.
| Englischer Podcast mit zwei Sprechern (5 Min.) | Ergebnis |
|---|---|
| Zuordnung auf Frame-Ebene (10 ms Auflösung) | 96.7% |
| Genauigkeit auf Satzebene (das sichtbare Ergebnis) | 99.1% |
| Verarbeitungszeit, Neural Engine der M-Serie | 2–4 s |
Die übrigen 0.9% bestehen aus drei Schwankungen an Satzgrenzen mit insgesamt 3.4 Sekunden – in der Größenordnung der Referenzauflösung selbst. Bei solchem Material entspricht das lokale Ergebnis dem Cloud-Dienst, der unsere Referenz erzeugt hat.
Der schwierige Testfall
Die zweite Datei ist bewusst schwierig: zwei ähnlich klingende Männerstimmen in einem hallenden Raum, dazu ein Moderator, der 19-mal kurz einwirft – im Mittel jeweils 2.3 Sekunden. Der Gast spricht 272 Sekunden, der Moderator 43. Genau dieses akustische Profil bringt Diarisierung in jeder Sprache an ihre Grenze: ähnliche Stimmen wechseln sich in kurzen Wortmeldungen ab.
Hier bricht das automatische Clustering zusammen. Die beiden Stimmabdrücke liegen so nah beieinander, dass der Algorithmus sie zusammenführt und fast das ganze Gespräch einem Label zuweist. Bei der Aufnahme handelt es sich zufällig um eine chinesische Interviewsendung. Damit konnten wir die naheliegende Hypothese prüfen, ob ein sprachspezifisches Modell besser abschneidet. Über eine CPU-Pipeline testeten wir zwei Sprechermodelle, die gezielt mit chinesischer Sprache trainiert wurden:
| Modell | Englischer Podcast | Schwieriger Fall* | Zeit (5.7 Min. Audio) |
|---|---|---|---|
| pyannote community-1 (unser Modell, Neural Engine) | 96.7% | 81–82% | 2–4 s |
| CAM++ (mit Chinesisch trainiert, CPU) | 93.9% | 81.2% | 36–103 s |
| ERes2NetV2 (mit Chinesisch trainiert, CPU) | — | 80.5% | 220–290 s |
* Zuordnung auf Frame-Ebene beim schwierigen Fall mit vorgegebener Sprecherzahl. Ohne diese Angabe fallen alle Modelle auf einen einzigen Sprecher zusammen.
Beide Modelle brechen auf dieselbe Weise zusammen und benötigen dabei 10- bis 100-mal so viel Rechenleistung. Die Schwierigkeit ist akustisch, nicht sprachlich – die Grenze liegt darin, was heutige Stimm-Embeddings unterscheiden können, und zwar in jeder Sprache.
Damit fiel die naheliegende Lösung aus und eine andere wurde sichtbar: Die Pipeline bekommt eine Information, die sie nicht selbst ableiten kann – die Zahl der Personen im Raum. Mit festgelegter Sprecherzahl (eine Menüoption von 2 bis 6) steigt die Genauigkeit auf Satzebene beim schwierigen Fall nach dem Zusammenbruch auf 89%. Die automatische Erkennung bleibt Standard, weil sie bei gewöhnlichem Material richtig liegt.
Sprechererkennung mit genauer Anzahl erneut ausführen. Im selben Menü lassen sich SRT und VTT mit Sprecher-Labels exportieren.
Kurze Einwürfe nachbearbeiten
Bei festgelegter Sprecherzahl entfiel etwa die Hälfte der übrigen Fehler auf Einwürfe unter drei Sekunden. Ein zwei Sekunden langer Ausschnitt liefert dem Embedding-Modell nur wenig Signal; bei schnellem Wechsel nimmt sein Stimmabdruck zudem Anteile der benachbarten Stimme auf.
Nach dem Clustering prüft die Pipeline deshalb jeden Satz unter 3.5 Sekunden erneut. Sie berechnet den Stimmabdruck mit einer Maske, die exakt die Frames dieses Satzes umfasst, vergleicht ihn mit dem Anker jedes Sprechers – dem Mittelwert seiner längsten Beiträge – und ändert das Label nur bei eindeutigem Abstand. Das vorhandene Modell wird wiederverwendet; es gibt keinen zusätzlichen Download.
| Genauigkeit auf Satzebene, Ende zu Ende | Vor der Nachbearbeitung | Danach |
|---|---|---|
| Schwieriger Fall (Sprecherzahl vorgegeben) | 89.0% | 94.8% |
| Englischer Podcast (automatisch) | 98.5% | 99.1% |
Der Schwellenwert ist bewusst konservativ: In beiden Dateien änderte die Nachbearbeitung 21 Labels und führte keinen neuen Fehler ein.
Grenzen
• Labels erscheinen nach dem Ende einer Aufnahme, nicht während eines Gesprächs. Für Live-Untertitel mit Sprechernamen während eines laufenden Meetings eignet sich einem Cloud-Dienst wie Otter oder Notta besser.
• Bei gleichzeitigem Sprechen erhält jeder Satz nur ein Label.
• Ähnliche Stimmen bleiben schwierig. 94.8% auf unserer schwierigen Datei sind mit vorgegebener Sprecherzahl die derzeitige Obergrenze, kein gelöstes Problem.
Verfügbarkeit
Die Sprechererkennung ist im einmaligen Kauf für $6.99 enthalten, zusammen mit den drei Transkriptionsmodellen der App – Parakeet V3, Whisper Large V3 Turbo und SenseVoice – sowie lokaler KI-Bearbeitung. Es gibt weder eine eigene Tarifstufe noch ein Konto.
• iPhone: App Store, Version 1.8.5 oder neuer.
• Mac App Store: Version 1.3.2 oder neuer.
• Direktdownload für Mac (DMG): Version 1.5.1 oder neuer von whispernotes.app, mit Gratis-Testversion.
Wie die Aufzeichnung eines Meetings selbst funktioniert, zeigt unser Beitrag zur Offline-Transkription von Meetings.