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>
Deux fonctionnalités sur l'assistant vocal Asa (client 0.13.0 → 0.14.0).
Transcription partielle live :
- en éveil, le buffer en cours est re-transcrit périodiquement (partial_interval_sec) et
poussé au HUD (event `partial`) → le texte se forme en direct dans une bulle dédiée,
remplacée par la bulle « user » finale.
- auto-activée seulement avec l'ASR onnx (Parakeet, rapide CPU) ; bornée min/max ;
forçable via [voice].partial_transcription.
Veille / réveil vocal (machine à états asleep ↔ éveil) :
- veille : Asa transcrit chaque énoncé UNIQUEMENT pour repérer le wake word, ne répond à
rien d'autre (HUD : portrait atténué, « SOMMEIL »).
- « Asa » (mot entier, alias ASR tolérés) réveille ; « Asa, <question> » exécute la question.
- « Asa stop » (ou stop/dors/au revoir… = sleep_words) remet en veille ; timeout aussi.
- wake word par défaut `asa` (était `hermes`) ; détection durcie en mot entier (plus de
sous-chaîne — « asa » matchait « casa », « phrase »…).
Validé : tests unitaires (wake/sleep/alias) + Playwright (rendu asleep, bulle partielle mise
à jour en place puis remplacée, nettoyage au changement d'état). Doc admin/ia/stt.md + journal.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>