mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-08 19:34:42 +02:00
fix(stt): détecte « Asa » même découpé par l'ASR (« a so »/« à ça ») + log diagnostic
Test sur poste : Parakeet FR ne transcrit pas « Asa » comme un mot mais comme « a so » / « à ça » / « ah ça » (deux tokens) → la détection mot-entier ne matchait jamais (« rien ne se passe »). - _detect_wake : glisse une fenêtre de 1-2 mots, joint (sans espace) + déaccentue, compare en égalité exacte à des alias COMPACTS (asa, aso, aca, ahca…). L'exact évite les faux positifs (« à cause » → « acause » ≠ alias). Extrait la commande après le wake. - wake_aliases (engine + config) : formes compactes reflétant les rendus ASR réels. - Log diagnostic [stt.voice] sur stderr/journalctl (transcription + décision), coupable via STT_VOICE_LOG=0 — précieux pour ajuster les alias selon l'ASR. - .gitignore : build/ + *.egg-info (artefacts d'install locale du client). Validé en live (poste) : « Asa » réveille, « Asa stop » endort, partiels en direct. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
4ef579405f
commit
2842446c15
5 changed files with 58 additions and 13 deletions
|
|
@ -188,8 +188,12 @@ Machine à états du moteur vocal (`stt/client/stt/voice/engine.py`) :
|
|||
|
||||
- **Veille (`asleep`)** — état par défaut. Asa transcrit chaque énoncé **uniquement** pour y
|
||||
repérer le wake word ; elle ne répond à rien d'autre (HUD : portrait atténué, « SOMMEIL »).
|
||||
- **Réveil** — dire **« Asa »** (mot entier) la passe en éveil. « Asa, <question> » exécute
|
||||
directement la question. Variantes ASR tolérées via `[voice].wake_aliases`.
|
||||
- **Réveil** — dire **« Asa »** la passe en éveil. « Asa, <question> » exécute directement la
|
||||
question. ⚠️ L'ASR (Parakeet FR) ne transcrit **pas** « Asa » comme un mot : il l'entend
|
||||
« a so » / « à ça » / « ah ça »… La détection **joint les 1-2 premiers mots** (déaccentués,
|
||||
sans espace) et compare en égalité exacte à `[voice].wake_aliases` (formes compactes :
|
||||
`asa`, `aso`, `aca`, `ahca`…). Ajuster cette liste si l'ASR rend encore autrement — le log
|
||||
`[stt.voice] (veille) entendu: '…'` (journalctl, cf. `STT_VOICE_LOG`) montre la transcription réelle.
|
||||
- **Éveil (`listening`)** — elle répond à tout. **« Asa stop »** (ou « stop », « au revoir »,
|
||||
« dors »… — `[voice].sleep_words`) la **remet en veille** ; un timeout d'inactivité
|
||||
(`chat_timeout_sec`) aussi.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue