feat(stt-client): voix Kokoro (TTS enfichable) + commande --install-kokoro

Ajoute un moteur TTS plus naturel (Kokoro, ONNX/CPU) au choix, Piper restant
le défaut et le repli.

- engine.py : synthèse enfichable (_synthesize → _synth_piper | _synth_kokoro).
  Kokoro chargé une fois (préchargé au boot si sélectionné), WAV via wave stdlib
  (numpy → PCM16), lecture/interruption inchangées. Repli SILENCIEUX si le modèle
  ou le paquet kokoro-onnx manque (jamais de crash).
- config : [voice].tts_engine ("piper"|"kokoro") + kokoro_voice (ff_siwis, FR),
  kokoro_speed, kokoro_lang.
- cli : `stt --install-kokoro` télécharge kokoro-v1.0.onnx + voices-v1.0.bin dans
  ~/.local/share/kokoro et imprime les étapes (pipx inject kokoro-onnx, espeak-ng).
- pyproject : extra optionnel [kokoro] ; client 0.15.0.
- doc : stt.example.toml + admin/ia/stt.md + journal.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
alkatrazz 2026-06-22 23:52:47 +02:00
parent 5de575bc9b
commit 9f3631adb5
7 changed files with 161 additions and 19 deletions

View file

@ -1,6 +1,6 @@
[project]
name = "stt"
version = "0.14.0"
version = "0.15.0"
description = "STT — client vocal Jarvis du homelab Funk (voix + HUD, parle au STT-server)"
requires-python = ">=3.11"
readme = "README.md"
@ -21,6 +21,9 @@ dependencies = [
[project.optional-dependencies]
onnx = ["onnx-asr>=0.11", "onnxruntime>=1.18"]
onnx-rocm = ["onnx-asr>=0.11", "onnxruntime-rocm>=1.18"]
# TTS Kokoro (tts_engine="kokoro") : voix nettement plus naturelle, ONNX/CPU.
# Modèle téléchargé par `stt --install-kokoro` ; phonémisation FR via espeak-ng (système).
kokoro = ["kokoro-onnx>=0.4.0"]
[project.scripts]
stt = "stt.cli:main"