--- title: Latence vocale et commandes multilingues — à valider sur le terrain area: visitapp tags: visitapp, vocal flag: good | Livré 13/08 src: voice-latency-plan.md §1 · STATUS.md §5bis ---

Cinq réglages livrés le 13/08 dans voice_orchestrator.dart, tous à éprouver en visite réelle avec Viva et Marco, sur lunettes et téléphone.

1. done.mp3 retardait la réponse de toute sa duréeawait _playDoneSound() juste avant speak(), et dans just_audio le future de play() ne se résout qu'à la fin de la lecture. En prime un doublon : la parole est le signal de fin. Retiré, helper et constante supprimés.

2. Sons préchargéssetAsset décodait à chaque wake word, sur le chemin le plus sensible à la latence du pipeline. 3. Escalade du son de réflexion — silence 700 ms, puis fondu d'entrée à 45 % ; une réponse rapide ne déclenche plus aucun son. ⚠️ stop() n'appelait pas _stopThinkingLoop() : le timer pouvait jouer une nappe après l'arrêt de l'orchestrateur.

4. Les commandes n'existaient qu'en français_isStopCommand et les trois autres cherchaient « répète », « arrête », « prends » en dur. Les quatre listes couvrent FR/NL/EN/DE, et le matching passe de contains à mot entier. ⛔ Ce changement a révélé deux faux positifs déjà présents : « je ne comprends pas » déclenchait une photo, « raconte encore une histoire » rejouait la réponse précédente. Et code nu ne déclenche plus de scan QR (« what's the code of this painting »). 16 cas joués via dart run, 16/16.

5. Limite 4 langues actée dans le code. flutter analyze lib/Services/Glasses/ → 0 erreur.