GrundlagenConversational AIKapitel 03von 12 im Pfad
Wenn das Gespräch nicht in Runden läuft
Ein Chatfenster arbeitet in Runden. Sie tippen, drücken Enter, das Modell antwortet, Sie sind wieder dran. Enter ist dabei mehr als eine Taste: Es ist das Zeichen, dass Sie fertig sind.
Im Gespräch gibt es diese Taste nicht. Jemand muss also entscheiden, wann ein Beitrag zu Ende ist, und dieser Jemand ist ein Programm.
Der Schalter davor
Das Bauteil heißt Voice Activity Detection, abgekürzt VAD, auf Deutsch Sprachaktivitätserkennung. Es hört das Mikrofon ab und schneidet den laufenden Ton in Stücke, die an das Modell gehen. Die einfache Bauart nimmt dafür die Stille:
It uses periods of silence to automatically chunk the audio. (externe Seite, developers.openai.com)
Das klingt naheliegend und geht oft schief. Menschen machen Pausen mitten im Satz, wenn sie nachdenken, eine Nummer vorlesen oder nach dem richtigen Wort suchen. Für ein Programm, das auf Stille wartet, sieht jede Denkpause aus wie ein Satzende.
Die zweite Bauart hört auf die Wörter
Deshalb gibt es inzwischen eine andere, die den Inhalt heranzieht:
Der Maßstab ist damit der angefangene Satz und seine Vollständigkeit. Den Gewinn beschreibt der Anbieter in der Sprache der Vorsicht:
Less likely, also seltener. Eine Garantie steht da nicht: Ob jemand fertig geredet hat, weiß im Zweifel nur er selbst.
Beide Bauarten sind Einstellungssache
Die Dokumentation führt für die erste Bauart vier Stellschrauben auf: wie laut es sein muss, wie viel Ton vor dem erkannten Beginn mitgeschickt wird, wie lange die Stille dauern soll, und ob nach dem Ende sofort geantwortet wird. Die zweite kennt stattdessen vier Stufen von zurückhaltend bis vorschnell.
Das ist die eigentliche Nachricht dieses Abschnitts. Wo ein Beitrag endet, ist eine Einstellung, getroffen von jemandem, der die Sprecher nie gehört hat. Wer sie zu eng wählt, baut ein System, das ins Wort fällt; wer sie zu weit wählt, eines, das nach jedem Satz schweigt.
Die offene Verbindung
Der Gegensatz zum Chatfenster liegt in der Verbindung. Statt einer Anfrage mit einer Antwort läuft ein Strom, der offen bleibt, und in dem beide Seiten jederzeit etwas beitragen können:
Genau deshalb steht dieses Thema in einem eigenen Kapitel, getrennt von der Erkennung in Kapitel 02. Eine offene Verbindung mit beidseitigem Zugriff gibt es auch dort, wo getippt wird, und alle Fragen dieses Kapitels stellen sich dann genauso.
Eine offene Verbindung heißt, dass beide Seiten gleichzeitig etwas tun können. Daraus folgen zwei Aufgaben, die es in einem Chatfenster gar nicht gibt.
Hineinreden
Wer merkt, dass die Antwort in die falsche Richtung läuft, sagt „nein, warte“. Der Fachbegriff dafür ist Barge-in. Die Erkennung, die vorhin über das Ende eines Beitrags entschieden hat, entscheidet hier über den Anfang eines neuen, und die Folge ist eindeutig:
Canceled and discarded: Der angefangene Satz wird abgebrochen und weggeworfen. Was davon in der Abschrift stehen bleibt, ist eine eigene Frage, und Kapitel 02 zeigt, warum die Abschrift beim durchgehenden Modell ohnehin auf einem eigenen Weg entsteht.
Damit ist die Hälfte der Arbeit getan. Die andere Hälfte steht in derselben
Dokumentation an unauffälliger Stelle, nämlich als Kommentar im Codebeispiel
zum Feld interrupted: Wenn die Anwendung den Ton selbst abspielt, muss sie an
dieser Stelle das Abspielen anhalten und die Warteschlange leeren.
Der Grund ist einfach und wird trotzdem gern übersehen. Ton wird vorausgeschickt, damit er ohne Stocken läuft. Im Moment der Unterbrechung liegen also mehrere Sekunden fertiger Sprache beim Empfänger, und die spielen weiter, egal was der Anbieter auf seiner Seite abgebrochen hat. Ein System, das nur auf das Signal reagiert und den eigenen Puffer stehen lässt, redet noch drei Sekunden weiter, nachdem es unterbrochen wurde.
Warum das System sich selbst hört
Sobald ein Lautsprecher und ein Mikrofon im selben Raum stehen, hört das Mikrofon die eigene Ausgabe. Für die Voice Activity Detection ist das Ton wie jeder andere: Das System unterbricht sich selbst, weil es sich selbst für einen Gesprächspartner hält.
Der Griff dagegen heißt Echo-Unterdrückung, und er ist in der Spezifikation der Aufnahme im Browser beschrieben:
Daneben stehen dort zwei verwandte Einstellungen, die Pegelregelung und die Rauschunterdrückung, sowie zwei Betriebsarten für die Frage, ob nur der Ton der Gegenseite oder auch der eigene aus dem Signal gerechnet wird.
Bemerkenswert ist, wo diese Beschreibung steht. In den Dokumentationen der Sprachschnittstellen von OpenAI und Google kommt Echo an keiner Stelle vor. Die Unterdrückung sitzt vor der Schnittstelle, im Browser oder im Gerät, und liegt damit in der Verantwortung dessen, der die Anwendung baut. Wer eine Sprachanwendung testet und dabei Kopfhörer trägt, bemerkt das Problem nie.
Das Latenzbudget
Die spürbare Wartezeit ist eine Summe, und wer sie senken will, muss wissen, welche Posten darin stehen.
| Posten | Was dort passiert |
|---|---|
| Aufnahme und Weg | Ton wird gepuffert, gepackt und übertragen |
| Ende des Beitrags | die Erkennung wartet, bis sie „fertig“ sagt |
| Erkennung | aus Ton wird Text, bei der Kette ein eigener Schritt |
| Antwort bis zum ersten Wort | das Modell beginnt zu erzeugen |
| Ausgabe bis zum ersten Ton | die Sprachausgabe setzt an |
| Rückweg | Übertragung und Abspielpuffer |
Der zweite Posten ist der, den man am ehesten übersieht, weil er nach Wartezeit gar nicht aussieht. Er ist trotzdem der einzige mit einer belegten Untergrenze. Wer die Erkennung selbst übernimmt, bekommt vom Anbieter eine Zahl genannt:
Eine halbe Sekunde, bevor irgendetwas anderes beginnt. Der Satz gilt für den Fall, dass die Anwendung selbst erkennt; für die eingebaute Erkennung nennt die Doku gar keine Zahl. In beiden Fällen ist diese Zeit der Preis dafür, dass niemandem ins Wort gefallen wird.
Die anderen Posten stehen hier ohne Zahlen, und das hat einen Grund: Für sie gibt es keine Herstellerangabe, die man ohne eigene Messung übernehmen könnte. Eine Summe unter diese Tabelle zu schreiben, wäre eine Rechnung aus geratenen Werten.
Die Erkennung des Sprecherwechsels läuft standardmäßig beim Anbieter. Sie lässt sich abschalten, und was dann zu tun ist, steht in der Dokumentation ausdrücklich:
Die Anwendung schickt dann selbst zwei Signale, eines für den Anfang und eines für das Ende eines Beitrags. Das klingt nach einer kleinen Verlagerung und ist in Wahrheit die Übernahme einer Aufgabe, die vorher jemand anders gelöst hat.
Was dabei wegfällt
Die Doku führt die Folgen in einem eigenen Abschnitt auf, und beide sind unangenehm.
Die eingebaute Erkennung schickt etwas Ton vor dem erkannten Beginn mit. Der Grund ist die Natur der Sache: Bis ein Verfahren merkt, dass jemand angefangen hat zu sprechen, ist die erste Silbe schon vorbei. Wer die Erkennung selbst übernimmt, muss diesen Vorlauf selbst mitschicken, sonst fehlt bei jeder Äußerung der Anfang. Aus „Termin verschieben“ wird „min verschieben“.
Das Ende-Signal wird also wörtlich genommen. Eine Nachdenkpause mitten im Satz beendet damit den Beitrag, wenn die eigene Erkennung sie für Stille hält, und die Antwort kommt auf einen halben Satz. Deshalb steht auf derselben Seite die Untergrenze von 500 Millisekunden, die in Tiefe 2 zitiert ist.
Daraus folgt eine klare Bedingung für diese Bauentscheidung. Die eigene Erkennung lohnt sich, wenn die Grenzen von woanders herkommen und dort sicher sind: eine Taste zum Sprechen, ein Kanal, der die Beiträge schon getrennt liefert, eine Aufnahme, die abschnittsweise eintrifft. Sie lohnt sich nicht, wenn man dabei nur dieselbe Aufgabe noch einmal lösen will.
Die Ausgabe
Auf der anderen Seite des Gesprächs steht die Sprachausgabe. Sie wird heute geführt wie ein Modell, also über eine Anweisung in Prosa:
You can prompt the model to control aspects of speech (externe Seite, developers.openai.com)
Die Doku zählt darunter auf, was dabei gemeint ist: Akzent, Gefühlsspanne, Betonung, Nachahmung, Sprechtempo, Klangfarbe und Flüstern. Die Anweisung dafür ist Prosa, im Beispiel des Anbieters ein einziger Satz („Speak in a cheerful and positive tone“).
Das ist bequem und hat den bekannten Preis. Eine Anweisung in Prosa wird ausgelegt, sie greift mal mehr und mal weniger, und sie lässt sich nur prüfen, indem man zuhört. Was für Anweisungen an ein Textmodell gilt, gilt hier genauso, siehe Grundkurs, Kapitel 06.
Die Stimme selbst ist bei den durchgehenden Modellen dieselbe wie bei der getrennten Ausgabe:
Wer die Bauform wechselt, behält also seine Stimme. Das ist keine Selbstverständlichkeit und einer der wenigen Punkte, an denen ein Wechsel zwischen den beiden Bauformen aus Kapitel 02 nichts kostet.
Warum die Ausgabe in Stücken kommen muss
Beides zusammengenommen, das Hineinreden aus Tiefe 2 und die stückweise Übertragung aus Kapitel 01, ergibt eine Anforderung an die Anwendung, die man beim Bau leicht übergeht.
Die Ausgabe muss an jeder Stelle abbrechbar sein. Wer den Ton erst zusammensetzt und dann abspielt, hat beim Abbruch nichts, was er anhalten könnte, und wer ihn stückweise abspielt, muss die Warteschlange kennen und leeren können. Das ist die Stelle, an der eine Sprachanwendung tatsächlich Zustand führt: Was liegt im Puffer, was davon ist schon zu hören, und was wird verworfen, wenn jemand dazwischenredet.
Ein zweiter Punkt kommt hinzu, der selten bedacht wird. Wenn die Ausgabe abgebrochen wird, hat der Nutzer einen Teil gehört, und das Modell weiß nur, dass es unterbrochen wurde. Wie viel angekommen ist, weiß die Anwendung, weil sie den Puffer verwaltet. Ohne diese Angabe wiederholt das System beim nächsten Versuch entweder alles oder setzt an einer Stelle an, die der Nutzer nie gehört hat.
Was dieses Kapitel offen lässt
Ein Punkt fehlt hier bewusst, und er fehlt, weil der Beleg fehlt: Wie ein System auseinanderhält, wer von mehreren Anwesenden gerade spricht. Der Fachbegriff dafür ist Diarisierung, und die Frage wird praktisch, sobald ein Gerät in einem Raum mit mehreren Menschen steht.
Die Sprachschnittstellen der Anbieter behandeln den Fall am Rande. Belastbar beschrieben ist er in den Modellkarten der Trennverfahren, und die gehören in ein eigenes Kapitel. Hier steht er als Lücke, damit die Aufzählung oben nicht so aussieht, als wäre sie vollständig.
Quellen
4 Einträgealle erreichbar
Erreichbarkeit automatisch geprüft
Dokumentationerreichbar
OpenAI, Voice activity detection (VAD) (externe Seite, developers.openai.com)
developers.openai.comgeprüft 24.09.2026
Die Seite hinter dem Schalter, der entscheidet, ob eine Aufnahme überhaupt beim Modell ankommt. Zwei Betriebsarten stehen dort nebeneinander: eine Lautstärkeschwelle, die lauteren Ton verlangt und in lauter Umgebung besser fährt, und eine zweite, die stattdessen anhand der gesprochenen Wörter entscheidet, ob jemand zu Ende geredet hat. Beleg dafür, dass die Lautstärkeprüfung vor der Erkennung ein dokumentierter Griff der Anbieter ist, und dafür, wo sie aufhört.
Dokumentationerreichbar
Google, Live API capabilities guide (externe Seite, ai.google.dev)
ai.google.devgeprüft 24.09.2026
Die Beschreibung zweier Einstellungen, die es nur beim durchgehenden Modell gibt: Das Modell darf entscheiden, ob es überhaupt antwortet, und es richtet seinen Ton nach dem des Gegenübers. Beides setzt voraus, dass mehr ankommt als der Wortlaut. Beide laufen nur über eine Vorabfassung der Schnittstelle und fehlen im neuesten Live-Modell des Anbieters, was die Seite unter jeder der beiden vermerkt. Dieselbe Seite vergleicht inzwischen drei Modelle in einer Tabelle: Das aktuelle Live-Modell führt Denken fest verdrahtet ohne wählbare Stufe, die Fassung mit ausgedehntem Denken erlaubt niedrig, mittel und hoch, und nur beim als Vorgänger geführten Gemini 3.1 Flash Live Preview gibt es zusätzlich die niedrigste Stufe als Voreinstellung, mit der Antwortzeit begründet. Sie beschreibt außerdem das Hineinreden: Das Modell verwirft seine laufende Erzeugung, und im Kommentar des Codebeispiels zum Feld interrupted steht, dass die Anwendung den schon gesendeten Ton selbst aus ihrem Puffer räumen muss. Die Erkennung der Sprechpausen lässt sich abschalten und an den Client übergeben. Der Preis dafür steht daneben: Die Pufferung auf der Gegenseite entfällt, und die Seite nennt 500 Millisekunden Stille als Untergrenze für die eigene Erkennung.
Originalarbeiterreichbar
W3C, Media Capture and Streams (externe Seite, w3.org)
w3.orggeprüft 24.09.2026
Die Spezifikation der Aufnahme im Browser, und der einzige Ort, an dem die Echo-Unterdrückung als eigene Einstellung beschrieben wird. Sie steht dort neben der Pegelregelung und der Rauschunterdrückung, mit zwei Betriebsarten für die Frage, ob nur die Gegenseite oder auch der eigene Ton aus dem Mikrofonsignal gerechnet wird. Weder OpenAI noch Google erwähnen Echo in ihrer Dokumentation zur Sprachschnittstelle: Der Griff sitzt vor der Schnittstelle, im Browser oder im Gerät.
Dokumentationerreichbar
OpenAI, Text to speech (externe Seite, developers.openai.com)
developers.openai.comgeprüft 24.09.2026
Die Seite zur Sprachausgabe, mit zwei Angaben, die für ein Gespräch zählen. Der Ton kommt stückweise und lässt sich abspielen, bevor die Datei fertig ist; ohne das käme die Antwort erst nach der letzten Silbe. Und die Stimme wird über eine Anweisung in Prosa geführt, mit einer Liste dessen, was sich damit erreichen lässt: Akzent, Gefühlsspanne, Betonung, Nachahmung, Tempo, Klangfarbe, Flüstern.