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 conceptuelle de la latence et des facteurs qui y contribuent, consultez Comprendre la latence.

Il existe de nombreuses techniques individuelles, 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 des voix adaptées

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

Utiliser les modèles Flash

Les modèles Flash offrent une vitesse d’inférence d’environ 75 ms, ce qui les rend idéaux pour les applications en temps réel. Le compromis est une légère baisse de la qualité audio par rapport à Multilingual v2.

Les 75 ms correspondent uniquement au temps d’inférence du modèle. La latence réelle de bout en bout varie selon des facteurs tels que votre emplacement et le type de point de terminaison utilisé.

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 dans une seule réponse.
  • Point de terminaison de streaming : renvoie progressivement des fragments audio via des événements envoyés par le serveur.
  • Point de terminaison WebSocket : permet le streaming bidirectionnel pour la génération audio en temps réel.

Streaming

Les points de terminaison de streaming renvoient progressivement l’audio à mesure qu’il est généré 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 dès le départ.

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

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 recevant du texte en temps réel, par exemple les sorties de LLM.

Définir auto_mode sur true gère automatiquement les déclencheurs de génération, sans avoir à gérer manuellement les stratégies de fragments.

Si auto_mode est désactivé, le modèle attendra d’avoir suffisamment de texte pour correspondre au calendrier des 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 attendra des caractères supplémentaires, ce qui peut augmenter la latence.

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

Choisir des voix adaptées

Nous avons observé que, dans certains cas, le choix de la voix peut influer sur 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 servons nos modèles depuis plusieurs régions afin d’optimiser la latence en fonction de 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-150ms
Europe100-150ms
Asie du Sud-Est100-150ms
Asie du Sud150-200ms
Asie du Nord-Est150-200ms

Vous pouvez vérifier quelle région backend traite votre requête en examinant l’en-tête x-region dans 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 bénéficier de garanties sur l’emplacement des serveurs et d’une faible latence. Contactez votre représentant commercial pour être intégré à notre infrastructure de résidence des données.

Pour désactiver le routage global et toujours utiliser les serveurs américains, utilisez l’URL de base api.us.elevenlabs.io pour vos requêtes d’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. Ce 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.