mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-08 18:34:43 +02:00
feat(stt): transcription partielle live + veille/réveil vocal (« Asa » / « Asa stop »)
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>
This commit is contained in:
parent
34b235305b
commit
4ef579405f
7 changed files with 223 additions and 50 deletions
|
|
@ -182,6 +182,28 @@ au prompt système (`STT_DISABLE_THINKING`, défaut `true` ; inoffensif hors Qwe
|
|||
|
||||
---
|
||||
|
||||
## Interaction vocale — veille/réveil & transcription live (client ≥ 0.14.0)
|
||||
|
||||
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`.
|
||||
- **É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.
|
||||
- **Transcription partielle live** — en éveil, le buffer en cours est re-transcrit toutes les
|
||||
`partial_interval_sec` et poussé au HUD (`partial`) → le texte se forme en direct, puis la bulle
|
||||
finale le remplace. Auto-activée seulement avec l'ASR **onnx** (Parakeet, rapide en CPU) ;
|
||||
forçable via `[voice].partial_transcription = true|false`. Whisper large-v3 CPU est trop lent.
|
||||
|
||||
> Le wake word par défaut est désormais **`asa`** (était `hermes`). Les configs existantes
|
||||
> (`~/.config/stt/stt.toml`) gardent leur valeur — changer `[voice].wake_word` ou via le HUD
|
||||
> (réglage « mot de réveil ») / la commande `/wake`.
|
||||
|
||||
---
|
||||
|
||||
## Personnalisation (« l'image, le design, la voix »)
|
||||
|
||||
Côté client, pilotable depuis `stt/client/config/` + l'écran de réglages du HUD :
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue