DOCS/kanban/cards/4-a-tester/020-latence-vocale-et-commandes-multilingues-a-va.md
2026-09-03 14:00:51 +02:00

13 lines
2.0 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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
---
<p>Cinq réglages livrés le 13/08 dans <code>voice_orchestrator.dart</code>, tous à éprouver en visite réelle avec Viva <strong>et</strong> Marco, sur lunettes <strong>et</strong> téléphone.</p>
<p><strong>1. <code>done.mp3</code> retardait la réponse de toute sa durée</strong><code>await _playDoneSound()</code> juste avant <code>speak()</code>, et dans <code>just_audio</code> le future de <code>play()</code> ne se résout qu'à la <em>fin</em> de la lecture. En prime un doublon : la parole <em>est</em> le signal de fin. Retiré, helper et constante supprimés.</p>
<p><strong>2. Sons préchargés</strong><code>setAsset</code> décodait à chaque wake word, sur le chemin le plus sensible à la latence du pipeline. <strong>3. Escalade du son de réflexion</strong> — silence 700 ms, puis fondu d'entrée à 45 % ; une réponse rapide ne déclenche plus aucun son. ⚠️ <code>stop()</code> n'appelait pas <code>_stopThinkingLoop()</code> : le timer pouvait jouer une nappe après l'arrêt de l'orchestrateur.</p>
<p><strong>4. Les commandes n'existaient qu'en français</strong><code>_isStopCommand</code> 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 <code>contains</code> à <strong>mot entier</strong>. ⛔ Ce changement a révélé deux faux positifs déjà présents : « je ne com<strong>prends</strong> pas » déclenchait une photo, « raconte <strong>encore</strong> une histoire » rejouait la réponse précédente. Et <code>code</code> nu ne déclenche plus de scan QR (« what's the code of this painting »). <strong>16 cas joués via <code>dart run</code>, 16/16.</strong></p>
<p><strong>5. Limite 4 langues actée</strong> dans le code. <code>flutter analyze lib/Services/Glasses/</code> → 0 erreur.</p>