Text to Speech vs. Text to Dialogue WebSockets
Dieser Leitfaden zeigt, wie Sie den richtigen WebSocket für Streaming-Sprache wählen und worin sich die beiden Protokolle unterscheiden.
ElevenLabs bietet zwei WebSocket-Produktfamilien für das Streaming synthetisierter Sprache. Jede Familie hat eine Single-Stream-Variante und eine Multi-Context-Variante, die mehrere unabhängige Streams über eine Verbindung multiplexiert. Sie lösen unterschiedliche Probleme, akzeptieren unterschiedliche Nachrichtenformate und richten sich an unterschiedliche Modelle.
Welchen WebSocket sollte ich verwenden?
Verwenden Sie den Text to Speech (TTS) WebSocket, wenn Sie einfachen Text für eine Stimme pro Verbindung streamen (die Stimme ist in der URL festgelegt) und keine v3-Modelle wie Flash oder Multilingual v2, optionales SSML, Chunk-Zeitpläne oder die Multi-Context-Variante für die Behandlung von Unterbrechungen im Agentenstil benötigen.
Verwenden Sie den Text to Dialogue (TTD) WebSocket, wenn Sie das Dialogverhalten von Eleven v3 benötigen: ausdrucksstarke Wiedergabe, **voice_id pro Chunk **, Gesprächsgrenzen (new_turn) und dieselbe dialogorientierte Pufferung, die serverseitig für v3 verwendet wird.
Verwenden Sie den TTD Multi-Context WebSocket, wenn Sie dasselbe Dialogverhalten von Eleven v3 und mehrere gleichzeitige oder verschachtelte Streams über eine Verbindung benötigen – beispielsweise für einen Conversational Agent, der Dialoge unterbrechen und neu starten muss, ohne jedes Mal einen neuen Socket zu öffnen.
Für Batch- oder HTTP-Streaming von Dialogen (vollständige Anfrage in einem Aufruf) verwenden Sie Dialog erstellen oder Dialog streamen statt eines WebSockets.
Vergleich
Wann der TTS WebSocket besser geeignet ist
- Sie integrieren bereits Flash oder Multilingual v2 für geringe Latenz oder Sprachabdeckung.
- Sie möchten eine Erzählerstimme pro Verbindung und ein einfaches Text-pro-Frame-Protokoll.
- Sie benötigen Multi-Context-Orchestrierung für Unterbrechungen und parallele Äußerungen (Multi-Context-Leitfaden).
Eine vollständige Anleitung zum TTS WebSocket finden Sie unter Audio in Echtzeit generieren.
Wann der TTD WebSocket besser geeignet ist
- Sie verwenden Eleven v4 für Dialoge (ausdrucksstarke Tags, natürliches Gesprächstempo, Zeilen mit mehreren Sprechern).
- Sie streamen geskriptete oder LLM-generierte Dialoge, bei denen die Sprechstimme pro Zeile wechseln kann, ohne eine neue Verbindung zu öffnen.
- Sie möchten schrittweise Eingaben im WebSocket-Format mit nur für v4 verfügbarer Dialoggenerierung auf dem Server.
Eine praktische Anleitung finden Sie unter Echtzeit-Text to Dialogue. Protokolldetails finden Sie in der API-Referenz.
Multi-Context WebSockets
Beide Produkte bieten eine Multi-Context-Variante, die mehrere unabhängige Streams über eine einzelne WebSocket-Verbindung multiplexiert. Jeder Kontext wird durch eine vom Client gewählte context_id identifiziert, puffert eigenen Text und gibt Audio-Chunks aus, die mit dieser context_id versehen sind. TTS-Kontexte verwenden die voice_id aus der Verbindungs-URL, während TTD-Kontexte eigene Stimmen und Einstellungen registrieren. Verwenden Sie dieses Format, wenn Sie gleichzeitige oder verschachtelte Generierung mit Unterbrechungsbehandlung benötigen – beispielsweise für einen Sprachagenten, der eine laufende Äußerung abbrechen und eine neue starten muss, ohne die Verbindung zu trennen.
Wann der TTD Multi-Context WebSocket besser geeignet ist
- Sie benötigen das Dialogverhalten von Eleven v3 (ausdrucksstarke Wiedergabe,
voice_idpro Chunk, Gesprächsgrenzen) und gleichzeitige oder verschachtelte Streams über eine Verbindung. - Sie entwickeln einen Conversational Agent, der Dialoge unterbrechen und neu starten muss, ohne jedes Mal einen neuen Socket zu öffnen.
- Sie möchten mehrere unabhängige v3-Dialog-Sitzungen – beispielsweise parallele Szenen oder Sprecher – über eine einzelne authentifizierte Verbindung verteilen.
Für den Single-Stream TTD WebSocket siehe Echtzeit-Text to Dialogue. Für den TTS Multi-Context WebSocket siehe den Multi-Context-WebSocket-Leitfaden. Protokolldetails für den TTD Multi-Context-Endpunkt finden Sie in der API-Referenz.