Latenz optimieren
Dieser Leitfaden zeigt Ihnen, wie Sie die Text-to-Speech-Latenz in Ihrer Anwendung reduzieren.
Dieser Leitfaden behandelt die wichtigsten Prinzipien zur Verbesserung der Text-to-Speech-Latenz. Eine konzeptionelle Erklärung, was Latenz ist und welche Faktoren dazu beitragen, finden Sie unter Latenz verstehen.
Es gibt viele einzelne Techniken, die wir in vier Prinzipien zusammenfassen.
Vier Prinzipien
Enterprise-Kunden profitieren von höheren Parallelitätslimits und bevorzugtem Zugriff auf unsere Rendering-Warteschlange. Vertrieb kontaktieren, um mehr über unsere Enterprise- Pläne zu erfahren.
Ein Echtzeitmodell verwenden
Eleven v4 Turbo und Flash v2.5 sind für den Echtzeiteinsatz konzipiert und erreichen eine mittlere Latenz von etwa 100 ms. Flash-Modelle bieten im Vergleich zu Multilingual v2 eine leicht geringere Audioqualität.
Diese Werte schließen Netzwerkzeit und Ihre Anwendung aus. Die tatsächliche End-to-End-Latenz variiert je nach Faktoren wie Ihrem Standort und dem verwendeten Endpunkttyp. Siehe wie die Latenz gemessen wird.
Streaming nutzen
In unserer API-Referenz stehen drei Arten von Text-to-Speech-Endpunkten zur Verfügung:
- Regulärer Endpunkt: Gibt eine vollständige Audiodatei in einer einzigen Antwort zurück.
- Streaming-Endpunkt: Gibt Audioblöcke schrittweise über Server-sent Events zurück.
- WebSockets-Endpunkt: Ermöglicht bidirektionales Streaming für die Audioerzeugung in Echtzeit.
Streaming
Streaming-Endpunkte geben Audio während der Echtzeiterzeugung schrittweise zurück und verkürzen so die Zeit bis zum ersten Byte. Dieser Endpunkt wird empfohlen, wenn der Eingabetext im Voraus verfügbar ist.
Streaming wird von der Text to Speech-API, der Stimmenverzerrer-API und der Audio- Isolation-API unterstützt.
WebSockets
Der Text-to-Speech-WebSocket-Endpunkt unterstützt bidirektionales Streaming und eignet sich daher ideal für Anwendungen mit Texteingaben in Echtzeit, etwa LLM-Ausgaben.
Wenn Sie auto_mode auf true setzen, werden Auslöser für die Generierung automatisch verarbeitet. Sie müssen
Chunk-Strategien nicht manuell verwalten.
Wenn auto_mode deaktiviert ist, wartet das Modell auf genügend Text, um dem Chunk-Zeitplan zu entsprechen, bevor es mit der Audioerzeugung beginnt.
Wenn Sie beispielsweise einen Chunk-Zeitplan von 125 Zeichen festlegen, aber nur 50 Zeichen eintreffen, wartet das Modell, bis weitere Zeichen eingehen. Das kann die Latenz erhöhen.
Details zur Implementierung finden Sie im Leitfaden für Text-to-Speech-WebSockets.
Geeignete Stimmen wählen
Wir haben festgestellt, dass die Stimmenauswahl in einigen Fällen die Latenz beeinflussen kann. Die Reihenfolge von schnell nach langsam:
- Standardstimmen (früher vorgefertigte Stimmen), synthetische Stimmen und Instant Voice Clones (IVC)
- Professional Voice Clones (PVC)
Ausgabeformate mit höherer Audioqualität können die Latenz erhöhen. Wägen Sie Ihre Latenzanforderungen gegen die benötigte Audiotreue ab.
Geografische Nähe berücksichtigen
Wir stellen unsere Modelle aus mehreren Regionen bereit, um die Latenz basierend auf Ihrem geografischen Standort zu optimieren.
Bei Verwendung von Flash-Modellen mit WebSockets können Sie beispielsweise abhängig von Ihrem Standort mit folgenden TTFB-Latenzen rechnen:
Sie können prüfen, welche Backend-Region Ihre Anfrage bedient, indem Sie den x-region-Header in der API-Antwort prüfen.
Aktuell verwendete Regionen sind: USA, Niederlande und Singapur.
Enterprise-Kunden können unsere dedizierten Datenresidenzumgebungen in der EU und Indien nutzen, um Garantien zum Serverstandort sowie niedrige Latenz zu erhalten. Wenden Sie sich an Ihren Vertriebsmitarbeiter, um für unsere Datenresidenzinfrastruktur freigeschaltet zu werden.
Um das globale Routing zu deaktivieren und immer Server in den USA zu verwenden, nutzen Sie für Ihre API-Anfragen die Basis-URL api.us.elevenlabs.io:
Die globalen Server waren zuvor über die Basis-URL api-global-preview.elevenlabs.io optional verfügbar.
Dies ist nicht mehr erforderlich, da es jetzt das Standardverhalten ist. Aktualisieren Sie Ihre Anwendungen,
sodass sie stattdessen einfach api.elevenlabs.io verwenden.