Wie erkennt eine App, wer gerade spricht? Sprecher-Zuordnung bei automatischer Vollbesetzung
Damit jede Figur in einem Buch ihre eigene Stimme bekommt, muss die App zuerst eine Frage klären, die simpel klingt, es aber nicht ist: Wer sagt diesen Satz? Ein Mensch beantwortet das beim Lesen ganz nebenbei. Software muss es erst lernen, und wie das geht, ist der interessante Teil. Es ist auch das, was automatische Vollbesetzung überhaupt erst möglich macht.
Die einfachen Fälle und warum sie täuschen
Manche Dialoge machen die Sache leicht.
“You have been in Afghanistan, I perceive,” said Holmes.
Das Sprech-Tag steht direkt daneben: ein Sprechverb und ein Name, neben dem Zitat. Ein einfaches Programm findet die Anführungszeichen, sucht das nächste Sprechverb mit Eigennamen, und liegt dabei meistens richtig. Wenn jede Zeile so aussähe, wäre das Problem schnell gelöst.
Tut sie aber nicht.
Wo es schwierig wird
Echter Prosatext steckt voller Dialoge, die ihren Sprecher verbergen, und jede Art des Verbergens ist ein eigenes Problem.
Unmarkierte Zeilen. Sobald ein Gespräch läuft, lassen Autoren die Tags weg, weil der Leser mitzählen soll.
“You have been in Afghanistan.” “How on earth did you know that?” “Never mind. The question is one of the utmost importance.”
Drei Zeilen, keine Namen. Um sie zuzuordnen, muss die App nachverfolgen, dass zwei Personen sprechen und sich abwechseln, und diesen Faden halten, bis etwas ihn unterbricht. Ein einziger Zählfehler, und jede folgende Zeile landet beim Falschen.
Pronomen statt Namen. „Er sagte“ und „sie fragte“ schreiben die Zeile einer Person zu, ohne sie zu nennen. Die App muss wissen, wer „er“ in diesem Moment ist, also im Blick behalten, wer zuletzt erwähnt wurde und wer überhaupt im Raum ist.
Handlungs-Beats statt Sprech-Tags. Oft gibt es gar kein Sprechverb, nur eine Handlung neben dem Zitat.
Holmes leaned back and steepled his fingers. “This is a three-pipe problem.”
Niemand hat etwas gesagt. Ein Mensch schließt daraus, dass Holmes spricht, weil er derjenige ist, der handelt. Software muss denselben Schluss ziehen.
Die Figurenliste aufbauen. Bevor eine Zeile Holmes zugeordnet werden kann, muss die App wissen, dass Holmes überhaupt existiert, und dass „Sherlock“, „Mr. Holmes“, „Holmes“ und, in der Erzählung seines Freundes, „er“ alle dieselbe Person meinen können. Diese Liste aus dem Text herauszuarbeiten, ohne eine fertige Besetzungsliste, ist ein eigener Schritt.
Und dann die echten Grenzfälle. Ich-Erzählung, im Text zitierte Briefe, eine Szene, in der fünf Personen gleichzeitig reden, eine Zeile, die ein Autor bewusst offen gelassen hat. Manchmal ist die ehrliche Antwort, dass auch ein aufmerksamer menschlicher Leser kurz innehalten würde.
Wie sich die Ansätze entwickelt haben
Frühe Versuche waren regelbasiert: Anführungszeichen finden, das nächste Sprechverb mit Eigennamen suchen, bei Unsicherheit auf Sprecher-Wechsel zurückfallen. Schnell, und genau dort fragil, wo der Text interessant wird. Dann kamen statistische Modelle, trainiert auf annotierten Büchern. Sie kamen besser mit Kontext zurecht, stützten sich aber noch stark auf Oberflächenmuster.
Was sich in letzter Zeit verändert hat: Große Sprachmodelle lesen einen Abschnitt ähnlich wie ein Mensch. Ein leistungsfähiges Modell hält die Szene im Kopf: wer anwesend ist, wer zuletzt gesprochen hat, wessen Handlung neben dem Zitat steht. All das nutzt es zur Zuordnung, auch bei unmarkierten Zeilen. Das ist keine Zauberei, und fehlerfrei ist es nicht, aber ein großer Schritt gegenüber dem bloßen Abgleichen von Sprechverb und nächstem Namen.
Was BookNPC damit macht
BookNPC führt diese Analyse Seite für Seite durch. Die App erarbeitet die Figurenliste, löst Aliase auf und ordnet jede Zeile zu, auch die unmarkierten Passagen. Dann bekommt der Erzähler und jede Figur eine eigene Stimme. Das ist der einmalige Schritt hinter der Besetzung eines Buches, und deshalb hat die Besetzung einen kleinen Preis: Die Arbeit steckt in der Analyse, nicht in der Wiedergabe.
Kein Zuordnungssystem ist bei schwieriger Prosa fehlerfrei. Deshalb behältst du die Kontrolle. Während der Wiedergabe wird die aktuelle Zeile in der Farbe der sprechenden Figur eingefärbt und deren Name unter der Seite angezeigt, damit du siehst, wer die App gerade für den Sprecher hält. Die vollständige Besetzungsliste ist jederzeit offen, und du kannst jede Stimme tauschen. Wenn ein schwieriger Wechsel falsch erkannt wurde, siehst du das sofort und kannst es korrigieren, anstatt stillschweigend damit zu leben.
Warum das der schwierige und wertvolle Teil ist
Stimmen aufzunehmen ist die einfache Hälfte eines Vollbesetzungs-Hörbuchs. Die teure, anspruchsvolle Hälfte war immer die Regie: zu entscheiden, wer welche Zeile spricht und wie. Automatische Sprecher-Zuordnung ist Software, die genau diese Regiearbeit übernimmt. Sie ist inzwischen gut genug, um aus jedem Buch, das du mitbringst, eine vollständige Besetzung zu machen, nicht nur aus den wenigen, die ein Studio ausgewählt hat.
Das ist die Technik hinter einem Feature, das von außen einfach klingt: Jede Figur hat eine Stimme. Um es in Aktion zu sehen, besetze ein dialoglastiges Buch in BookNPC und beobachte, wie die Sprechernamen beim Vorlesen erscheinen. Was diese Art des Hörens gegenüber einem einzelnen Erzähler ausmacht, zeigt der Vergleich zwischen Vollbesetzung und Einzelerzähler.