docs: lokales TTS (piper in-process) + Start-Warm-up dokumentieren

README/BEDIENUNGSANLEITUNG/Architektur: piper laeuft in-process (gecachtes
Stimmmodell, kein Subprozess pro Satz), In-Process-Resampling, lokale Modelle
werden beim Start vorgeladen. .[local] installiert jetzt faster-whisper UND
piper-tts. Latenz-Hinweis erster Ton 5,8 s -> ~1,6 s.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Dieter Schlüter 2026-06-18 08:32:05 +02:00
commit 1899663308
3 changed files with 18 additions and 10 deletions

View file

@ -148,6 +148,12 @@ Markdown/Emojis — schlecht zum Vorlesen und spürbar träge. Der Provider
Modell `base`. Auf einer RTX 3090 lohnt `FASTER_WHISPER_DEVICE=cuda` +
`FASTER_WHISPER_COMPUTE_TYPE=float16`; das verkürzt die Transkriptionszeit pro Turn.
**Dritter Hebel — lokales TTS (piper):** piper läuft **in-process** über die piper-Python-API
(im `.[local]`-Extra). Das Stimmmodell wird **einmal** geladen und prozessweit gecacht —
früher startete piper als Subprozess **pro Satz** und zahlte jedes Mal ~2 s Modell-Ladezeit.
Zusätzlich werden lokale Modelle **beim Serverstart vorgeladen** (Warm-up), sodass auch der
erste Nutzer keinen Kaltstart spürt. Messung (lokales Setup): erster Ton **5,8 s → ~1,6 s**.
### Komplett lokal: Profil `local-dev`
`VA_PROFILE=local-dev` betreibt **alle** KI-Module ohne Cloud. Die Route löst auf zu:
@ -160,8 +166,8 @@ Modell `base`. Auf einer RTX 3090 lohnt `FASTER_WHISPER_DEVICE=cuda` +
**Voraussetzungen:**
- **LLM:** llama.cpp-Container läuft (`make llm-up`)
- **STT:** faster-whisper installiert (`pip install -e .[local]`)
- **TTS:** piper-Binary + Stimme vorhanden (siehe `PIPER_*` in `.env.example`)
- **STT + TTS:** `pip install -e .[local]` (installiert faster-whisper **und** piper-tts);
ein piper-Stimmmodell (`<name>.onnx` + `.onnx.json`) im `PIPER_VOICES_DIR` (siehe `PIPER_*`)
**Start (Reihenfolge):**