mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-08 18:14:42 +02:00
feat(stt-client): ASR enfichable — backend onnx Parakeet/Nemotron en plus de whisper (#32)
Phase 0 (abstraction) + Phase 1 (backend onnx), additif et rétrocompatible. - voice/asr/ : protocole ASRBackend (load + transcribe) + factory make_backend pilotée par cfg["asr_engine"]. Imports lourds lazy → stt --help/config OK sans aucun moteur installé. - whisper.py : faster-whisper extrait tel quel (défaut, comportement inchangé). - onnx_parakeet.py : onnx-asr (Parakeet/Canary/Nemotron ONNX, multilingue FR, ~600M, CPU rapide / GPU AMD via onnxruntime-rocm). Providers configurables ; message d'install actionnable si onnx-asr absent. - engine.py : délègue load()/_transcribe() au backend (le reste — VAD, wake word, TTS — inchangé). - config : [voice] asr_engine="whisper" (défaut), onnx_model, onnx_providers. - pyproject : extras optionnels onnx / onnx-rocm ; bump 0.6.1 → 0.7.0. Bascule à chaud par config, rollback = asr_engine="whisper". Streaming = phase 2 (spike séparé). admin/ia/stt.md mis à jour. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
470c69881c
commit
4d8cc1968d
7 changed files with 153 additions and 20 deletions
|
|
@ -144,7 +144,8 @@ au prompt système (`STT_DISABLE_THINKING`, défaut `true` ; inoffensif hors Qwe
|
|||
| Composant | Emplacement | Description |
|
||||
|---|---|---|
|
||||
| Client `stt` | `stt/client/` (pipx) | `stt` (voix+HUD), `stt --text` (chat texte), `stt --setup`, `stt --server <url>`, `stt --model <hermes\|claude\|qwen\|opus>` |
|
||||
| — voix | `stt/client/stt/voice/` | wake word, STT faster-whisper, TTS Piper |
|
||||
| — voix | `stt/client/stt/voice/` | wake word, ASR enfichable (`voice/asr/`), TTS Piper |
|
||||
| — ASR | `stt/client/stt/voice/asr/` | backend enfichable : `whisper` (faster-whisper CPU, défaut) \| `onnx` (Parakeet/Canary/Nemotron via onnx-asr, multilingue, streaming-ready). Choisi par `[voice] asr_engine` |
|
||||
| — api | `stt/client/stt/api.py` | `ServerClient` → `POST /v1/ask` |
|
||||
| — UI/HUD | `stt/client/stt/ui/` + `hud/` | HTTP statique + websocket bidirectionnel (états → HUD ; réglages **et messages texte** → backend) ; HUD embarqué dans le package |
|
||||
| STT-server | `stt/server/` (conteneur) | FastAPI : `/healthz`, `/v1/ask` ; `brain.py` → LiteLLM |
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue