Aller au contenu principal

Voix en direct

L'écran Voix en direct permet d'ouvrir une session vocale temps réel, de parler dans votre micro et de suivre la transcription et la consommation de la session. Chemin du portail : /multimodal/voice. Les développeurs l'utilisent pour tester le pipeline vocal avant qu'un agent ne s'en serve.

Ce que montre l'écran​

Le titre de la page est Testeur voix en direct. La section Session temps réel contient :

  • Pipeline : Écho (boucle locale) (echo, par défaut) ou Transcription vocale (stt) ;
  • Voix : alloy (par défaut), verse, aria, sage ;
  • le bouton Démarrer au repos ; une fois la session ouverte, Couper le micro (ou Réactiver le micro) et Terminer ;
  • un badge d'état : Inactif, Connexion ou Connecté ;
  • l'identifiant de session après le démarrage, et la dernière erreur s'il y en a une.

La section Transcription affiche les lignes de Vous et de Agent au fil de l'eau (« La transcription s'affiche ici pendant que vous parlez. » avant la première ligne), puis la consommation de la session (unités et coût) quand le serveur l'envoie.

Le navigateur reçoit un jeton LiveKit, publie votre micro (annulation d'écho et réduction de bruit actives) et joue l'audio de l'agent. Un WebSocket de contrôle transporte les événements de transcription et de consommation ; s'il se ferme de façon inattendue, le portail se reconnecte un nombre limité de fois avec un nouveau jeton à usage unique.

Actions​

Bouton ou actionCe qu'il faitAppel APIRôles
DémarrerCrée la session avec le pipeline et la voix, rejoint la salle LiveKit, ouvre le canal de contrôlePOST /v1/realtime/sessionstenant_admin, developer, agent
Reconnexion automatiqueDemande un nouveau jeton WebSocket pour la session ouvertePOST /v1/realtime/sessions/{session_id}/tokentenant_admin, developer, agent
Couper le micro / Réactiver le microCoupe ou réactive le micro dans la salle (sans appel API)aucunle titulaire de la session
TerminerFerme le canal et la salle, puis termine la session et enregistre sa consommationPOST /v1/realtime/sessions/{session_id}/endtenant_admin, developer, agent

Rôles​

Le portail affiche tous les boutons. Dans services/control-plane/src/eai/domains/realtime/__init__.py créer une session, renouveler son jeton et la terminer exigent tenant_admin, developer ou agent, et la création passe par la décision de politique realtime.session.create. Un utilisateur n'ouvre une session qu'en son propre nom.

Tâches courantes​

Vérifier le chemin audio avec le pipeline écho​

  1. Démarrer une session. Le pipeline écho rejoue ce que vous dites, sans aucun modèle. Gardez Pipeline sur Écho (boucle locale), cliquez sur Démarrer et autorisez le micro dans le navigateur.

    Résultat attendu : le badge passe à Connecté et l'identifiant de session s'affiche.

    En cas d'échec : une erreur sous les boutons donne le code ; un accès au micro refusé arrête le démarrage.

  2. La terminer. Cliquez sur Terminer.

    Résultat attendu : le badge revient à Inactif et la consommation de la session s'affiche sous la transcription.

    En cas d'échec : le serveur termine de toute façon une session déjà close.

Tester la transcription vocale​

  1. Enregistrer le consentement. Hors des environnements dev et test, la transcription exige un consentement actif du participant. Démarrez une session, copiez son identifiant et enregistrez le consentement dans Consentements vocaux.

    Résultat attendu : un consentement avec Transcription autorisée cochée.

    En cas d'échec : voir la page des consentements vocaux.

  2. Parler. Choisissez Pipeline Transcription vocale, cliquez sur Démarrer et parlez.

    Résultat attendu : des lignes de Vous apparaissent dans Transcription.

    En cas d'échec : consent_required signifie qu'aucun consentement actif ne couvre la transcription.

Dépannage​

SymptômeCauseCorrection
forbidden (403) sur DémarrerVous n'êtes pas tenant_admin, developer ou agentDemandez le rôle developer
invalid_request (400) avec pipelinePipeline inconnuUtilisez echo ou stt
Erreur 503 sur Démarrer hors dev et testLes identifiants LiveKit sont absents ou faiblesConfigurez des identifiants LiveKit robustes sur le Control Plane
livekit_unavailable (502)Le serveur LiveKit est injoignable ou a refusé l'appelVérifiez le service LiveKit et les règles de sortie réseau
« Le canal d'événements temps réel a échoué »Le WebSocket de contrôle n'a pas pu s'ouvrirVérifiez que la route WebSocket du Control Plane est joignable
« Le canal d'événements temps réel s'est fermé et n'a pas pu se reconnecter »Les tentatives de reconnexion sont épuiséesCliquez sur Terminer, puis de nouveau sur Démarrer
session_ended (409) à la reconnexionLa session est terminéeDémarrez une nouvelle session
consent_required (403)Aucun consentement actif pour la transcription ou l'enregistrementEnregistrez-le dans Consentements vocaux
stt_failed (502)L'adaptateur de transcription a échoué sur un segment audioRéessayez ; vérifiez le modèle de transcription

Pages liées​