DOCS/kanban/cards/5-planifie/030-accuse-de-reception-parle-a-la-place-du-bip-d.md
2026-09-03 14:00:51 +02:00

1.7 KiB
Raw Blame History

title, area, horizon, tags, flag, src
title area horizon tags flag src
Accusé de réception parlé à la place du bip du wake word visitapp v1 visitapp, vocal warn | Après les tests voice-latency-plan.md §2

Remplacer wake_detected.mp3 par une phrase dans la langue et la voix du visiteur — « Oui, je vous écoute » — avec 2-3 variantes, un visiteur entendant l'ack des dizaines de fois sur une visite.

Retenu, mais explicitement après les tests : ça demande de générer et valider à l'oreille ~40 fichiers (2 voix × 4 langues × 5 phrases), et une partie du besoin que l'ack compense disparaît si le découpage par phrase fait baisser la latence. Décider avant d'avoir entendu le flux, ce serait décider à l'aveugle.

⚠️ Trois pièges déjà identifiés. pubspec.yaml:133 déclare assets/sounds/ mais les déclarations de dossier ne sont pas récursives en Flutter. Générer avec exactement le même voicePrompt que le runtime, sinon le timbre décroche entre l'ack et la réponse — et Gemini TTS n'est pas déterministe, prévoir plusieurs prises. Et une règle de cohérence non négociable : sans GEMINI_API_KEY le moteur retombe sur la voix système Android — des acks en Sulafat suivis d'une réponse en voix système seraient pires que le bip. Acks actifs seulement si le moteur runtime est Gemini et que la voix correspond à guideVoiceId.

Ordonnancement à calibrer sur place : ouvrir le micro à player.duration - 150ms plutôt que de faire de l'AEC — sur Ray-Ban, micro et haut-parleur partagent la monture.