feat(stt-client): volume de la voix réglable + fenêtrage persistant

Deux demandes côté client :

- VOLUME : slider « Volume de la voix » (0–200 %) dans le drawer Réglages du HUD,
  appliqué À CHAUD (canal settings → engine.cfg.tts_volume) et persisté
  (localStorage). Gain appliqué au WAV avant lecture, commun Piper/Kokoro
  (engine._apply_gain, PCM16 ×gain, clip). Config [voice].tts_volume (0.0 muet …
  2.0 amplifié, défaut 1.0). 0 = muet (le tour se déroule sans son).
- FENÊTRAGE : le mode existait ([ui].window_mode app|kiosk|none) ; `stt --window`
  PERSISTE désormais le choix → `stt --window app` rend le HUD fenêtré (déplaçable/
  redimensionnable, type Discord) durablement, y compris pour le service systemd.

Client 0.17.0. Doc : stt.example.toml + admin/ia/stt.md. Validé : gain ×0.5 exact,
HUD sans erreur JS (slider + collectSettings + label live).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
alkatrazz 2026-06-23 00:25:49 +02:00
parent 0b117916be
commit 37f47e57bc
8 changed files with 75 additions and 5 deletions

View file

@ -13,6 +13,7 @@ model = "hermes-default" # modèle demandé au serveur
wake_word = "hermes" # "Ok Hermès"
whisper_model = "large-v3" # STT faster-whisper (CPU int8) — "small" pour tester
tts_engine = "piper" # "piper" (rapide) | "kokoro" (plus naturel — voir ci-dessous)
tts_volume = 1.0 # volume voix : 0.0 muet · 1.0 normal · 2.0 amplifié (réglable dans le HUD)
piper_voice = "fr_FR-upmc-medium" # voix Piper — ~/.local/share/piper/<voix>.onnx
# Voix Kokoro (si tts_engine = "kokoro") : `stt --install-kokoro` + `pipx inject stt kokoro-onnx`
# kokoro_voice = "ff_siwis" # voix FR (femme) ; kokoro_speed = 1.0 ; kokoro_lang = "fr-fr"