Latence d’une IA vocale
La latence perçue n’est pas un nombre unique. Elle résulte d’une chaîne complète : réseau, détection de parole, traitement du modèle et restitution audio.
1. Décomposer la latence
Une conversation temps réel cumule plusieurs délais : capture audio, transport réseau, éventuelle conversion de codec, détection de fin de parole, traitement par le modèle, génération des premiers échantillons audio puis lecture côté téléphonie.
Le chiffre utile n’est donc pas seulement le temps d’inférence. Ce qui compte pour l’utilisateur est le temps entre la fin de sa phrase et le moment où la réponse commence à être audible.
2. Turn detection et VAD
La détection d’activité vocale — VAD — sert à déterminer quand l’appelant parle et quand il s’arrête. Un seuil trop agressif peut couper des fins de phrase ; un silence trop long avant validation ralentit la réponse.
Les systèmes temps réel exposent souvent un seuil de détection, une durée de silence et un padding avant la parole. Ces paramètres doivent être adaptés au contexte : téléphone mobile, bruit de chantier, accent, appels depuis une voiture ou environnement calme.
silence_duration_ms trop court → l’agent répond pendant une micro-pause. Trop long → chaque tour paraît lent. Il faut tester sur de vrais appels, pas uniquement au casque en bureau.
3. Pipeline classique vs modèle audio temps réel
Une architecture classique sépare STT, LLM et TTS. Elle offre une bonne observabilité : on voit la transcription, le texte généré puis l’audio synthétisé. En contrepartie, chaque étape ajoute son propre buffering et sa latence.
Un modèle speech-to-speech temps réel peut recevoir et produire directement de l’audio. OpenAI Realtime, par exemple, accepte WebRTC, WebSocket et SIP, et peut gérer des formats comme PCM, PCMU et PCMA. Cette architecture réduit certaines transitions mais demande une orchestration différente.
4. Barge-in et interruption
Une IA vocale crédible doit accepter d’être interrompue. Lorsqu’un nouvel input vocal commence, la sortie en cours doit être coupée ou tronquée, puis la conversation doit reprendre sur le nouveau tour.
C’est plus subtil qu’un simple stop audio : si le modèle a déjà généré du contenu qui n’a pas été entendu, ce contenu ne doit pas rester dans le contexte comme s’il avait réellement été prononcé.
5. Mesurer correctement
Un test utile couvre plusieurs scénarios : phrase courte, phrase longue, interruption, silence hésitant, bruit ambiant, changement de langue et reprise après interruption.
Mesurer médiane, p95 et taux d’interruption involontaire donne une image plus réaliste qu’une seule valeur moyenne.