Qu’est-ce que l’API WebSockets Text to Speech ?

Le point de terminaison de streaming WebSocket, aussi parfois appelé streaming d’entrée, permet la conversion de texte en parole en temps réel à l’aide de WebSockets. Vous pouvez ainsi envoyer un message texte et recevoir des données audio en temps réel.

Il est conçu pour commencer à générer des fragments audio à partir de simples fragments de texte partiels. Il peut réduire la latence en commençant à générer la sortie avant que l’ensemble du contexte ne soit transmis. Il est destiné à être utilisé avec d’autres outils, tels que les grands modèles de langage (LLM). L’audio généré conservera le son d’un flux de parole continu.

Bien que très flexible, l’API WebSockets n’est pas une solution universelle.

Elle convient particulièrement aux situations où :

  • Le texte d’entrée est diffusé en continu ou généré par fragments.
  • La latence la plus faible possible est nécessaire.
  • Des informations d’alignement entre les mots et l’audio sont requises.

 Elle n’est peut-être pas le meilleur choix lorsque :

  • L’intégralité du texte d’entrée est transmise en une seule fois. Les générations étant partielles, une mise en mémoire tampon est nécessaire, ce qui peut entraîner une latence légèrement plus élevée qu’une requête HTTP standard. Dans ce cas, utiliser uniquement le point de terminaison de streaming de sortie est probablement une meilleure option.
  • Vous souhaitez expérimenter ou créer rapidement un prototype. Travailler avec des WebSockets peut être plus difficile et complexe qu’utiliser une API HTTP standard, ce qui peut ralentir le développement et les tests rapides.
  • Une cohérence maximale est essentielle, car vous devez tenir compte de la compréhension du contexte par l’IA. Puisque l’IA ne reçoit pas l’intégralité du contexte au début de la requête, elle ne dispose que d’une compréhension partielle du texte, ce qui peut parfois causer des problèmes. Vous pouvez toutefois tester certains paramètres disponibles avec le streaming WebSocket, comme « chunk_length_schedule ». Ce paramètre détermine la taille des fragments avant que l’IA ne commence à générer du texte.

Dans ces cas, utilisez plutôt l’API Text to Speech.

Pour en savoir plus, consultez le Guide de l’API WebSockets.