Passer à la navigation

Optimisation de la latence

Ce guide explique comment réduire la latence de la synthèse vocale dans votre application.

Ce guide présente les principes fondamentaux pour améliorer la latence de la synthèse vocale. Pour une explication théorique de la latence et des facteurs qui y contribuent, consultez Comprendre la latence.

Il existe de nombreuses techniques, que nous regrouperons en quatre principes.

Quatre principes

  1. Utiliser les modèles Flash
  2. Tirer parti du streaming
  3. Tenir compte de la proximité géographique
  4. Choisir les voix adaptées

Les clients Enterprise bénéficient de limites de requêtes simultanées plus élevées et d’un accès prioritaire à notre file de rendu. Nous contacter pour en savoir plus sur nos forfaits Enterprise.

Utiliser un modèle en temps réel

Eleven v4 Turbo et Flash v2.5 sont conçus pour une utilisation en temps réel, avec une latence médiane d’environ 100 ms. Les modèles Flash présentent une légère baisse de qualité audio par rapport à Multilingual v2.

Ces chiffres excluent le temps réseau et votre application. La latence réelle de bout en bout varie selon des facteurs tels que votre emplacement et le type de point de terminaison utilisé. Consultez la méthode de mesure de la latence.

Tirer parti du streaming

Trois types de points de terminaison de synthèse vocale sont disponibles dans notre Guide de l’API :

  • Point de terminaison standard : renvoie un fichier audio complet en une seule réponse.
  • Point de terminaison de streaming : renvoie progressivement des fragments audio à l’aide des événements envoyés par le serveur.
  • Point de terminaison WebSocket : permet un streaming bidirectionnel pour la génération audio en temps réel.

Streaming

Les points de terminaison de streaming renvoient progressivement l’audio au fur et à mesure de sa génération en temps réel, ce qui réduit le délai avant le premier octet. Ce point de terminaison est recommandé lorsque le texte d’entrée est disponible à l’avance.

Le streaming est pris en charge par l’API Text to Speech, l’API Voice Changer et l’API Isolation audio.

WebSockets

Le point de terminaison WebSocket de synthèse vocale prend en charge le streaming bidirectionnel, ce qui le rend idéal pour les applications avec des entrées de texte en temps réel, comme les sorties de LLM.

Définir auto_mode sur true gère automatiquement les déclencheurs de génération et évite de gérer manuellement les stratégies de découpage.

Si auto_mode est désactivé, le modèle attendra suffisamment de texte pour correspondre au calendrier de fragments avant de commencer à générer l’audio.

Par exemple, si vous définissez un calendrier de fragments de 125 caractères, mais que seulement 50 caractères arrivent, le modèle attend l’arrivée de caractères supplémentaires, ce qui peut augmenter la latence.

Pour les détails d’implémentation, consultez le guide WebSocket de synthèse vocale.

Choisir les voix adaptées

Nous avons constaté que, dans certains cas, le choix de la voix peut affecter la latence. Voici l’ordre de la plus rapide à la plus lente :

  1. Voix par défaut, anciennement prédéfinies, voix synthétiques et clonages de voix instantanés (IVC)
  2. Clonages de voix professionnels (PVC)

Les formats de sortie audio de qualité supérieure peuvent augmenter la latence. Veillez à équilibrer vos exigences de latence et vos besoins de fidélité audio.

Nous travaillons activement à optimiser la latence des PVC pour Flash v2.5.

Tenir compte de la proximité géographique

Nous proposons nos modèles depuis plusieurs régions afin d’optimiser la latence selon votre emplacement géographique.

Par exemple, avec les modèles Flash et les WebSockets, vous pouvez vous attendre aux latences TTFB suivantes selon votre emplacement :

RégionTTFB
Amérique du Nord100-150 ms
Europe100-150 ms
Asie du Sud-Est100-150 ms
Asie du Sud150-200 ms
Asie du Nord-Est150-200 ms

Vous pouvez vérifier quelle région backend traite votre requête en examinant l’en-tête x-region de la réponse de l’API. Les régions actuellement utilisées incluent les États-Unis, les Pays-Bas et Singapour.

Les clients Enterprise peuvent utiliser nos environnements dédiés d’hébergement des données en Europe et en Inde afin de garantir l’emplacement des serveurs tout en bénéficiant d’une faible latence. Contactez votre représentant commercial pour accéder à notre infrastructure de résidence des données.

Pour vous désinscrire du routage global et toujours utiliser les serveurs américains, utilisez l’URL de base api.us.elevenlabs.io pour vos requêtes API :

import os
from elevenlabs.client import ElevenLabs
elevenlabs = ElevenLabs(
api_key=os.getenv("ELEVENLABS_API_KEY"),
base_url="https://api.us.elevenlabs.io"
)

Les serveurs globaux étaient auparavant accessibles sur inscription via l’URL de base api-global-preview.elevenlabs.io. Cela n’est plus nécessaire, car il s’agit désormais du comportement par défaut. Mettez à jour vos applications pour utiliser simplement api.elevenlabs.io à la place.