feat(stt): echtes lokales STT via faster-whisper (optional .[local])
- FasterWhisperProvider implementiert (CTranslate2): Modell prozessweit gecacht (lru_cache), Transkription in asyncio.to_thread; robuster CPU-Fallback wenn GPU/compute_type nicht verfuegbar - Config: FASTER_WHISPER_MODEL/DEVICE/COMPUTE_TYPE (Defaults base/auto/default) - pyproject: optionales Extra [local] = faster-whisper - Test: transcribe-Endpunkt nutzt jetzt einen Stub-STT (kein Platzhalter mehr) - Doku: Voraussetzungen, Hybrid-Beispiel (STT+LLM lokal, TTS remote), Architektur/README Live verifiziert: TTS->WAV->faster-whisper transkribiert korrekt (de); voller Hybrid ueber /ws/voice (faster-whisper + Ollama llama3.2 + OpenRouter-TTS) funktioniert. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
e1167951e1
commit
c25f081f9f
8 changed files with 92 additions and 8 deletions
|
|
@ -195,10 +195,14 @@ erkennung und Barge-in (`interrupt`)**; **Resilienz (Fallback-Ketten je Modul,
|
|||
In-Memory-Metriken `/api/metrics`), Tageskontingent pro Nutzer und heuristische
|
||||
Notfall-Eskalation**; automatisierte Tests.
|
||||
|
||||
**Echtes lokales STT:** `faster-whisper` (optionale Dependency `.[local]`,
|
||||
CTranslate2) transkribiert real — damit ist ein Hybrid „STT+LLM lokal, TTS remote"
|
||||
möglich (live verifiziert).
|
||||
|
||||
**Platzhalter (Gerüst):** Audio-Endpunkte (`local-default`, `bluetooth`,
|
||||
`mobile-ws`, `mobile-webrtc`) liefern leere Chunks — nur Auswahl/Lifecycle sind
|
||||
verdrahtet, kein echtes Hardware-I/O. Lokale Provider `faster-whisper`, `piper`,
|
||||
`chatterbox` sind Stubs. `transport_router.py` (Ebene 4) existiert, ist aber noch
|
||||
verdrahtet, kein echtes Hardware-I/O. Lokale TTS-Provider `piper`, `chatterbox`
|
||||
sind noch Stubs. `transport_router.py` (Ebene 4) existiert, ist aber noch
|
||||
nicht aktiv (lokal/remote trägt vorerst der Provider-Name).
|
||||
|
||||
## 9. Roadmap / bewusste nächste Schritte
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue