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

@ -237,19 +237,20 @@ python scripts/voice_loop.py --recorder arecord --device plughw:5,0 --session hy
--llm-provider local-openai-compatible \
--tts-provider openrouter
```
Erster Turn ist langsamer (Whisper-Modell lädt; das LLM-Modell ist nach `make llm-up`
bereits geladen), danach zügig. STT-Modell
Die lokalen Modelle (faster-whisper, piper) werden **beim Serverstart vorgeladen**
(Warm-up im Hintergrund) — der erste Turn ist daher nicht mehr spürbar langsamer. STT-Modell
und Gerät steuern `FASTER_WHISPER_MODEL`/`FASTER_WHISPER_DEVICE` in `.env`. Satzweises
Vorlesen ist Standard (früher Ton); `--stream-text` zeigt den Text live dazu.
**Voll-lokal-Beispiel** (STT + LLM + TTS **alles lokal** — kein API-Geld, maximaler
Datenschutz). TTS läuft hier über **piper** (lokales, CPU-freundliches Neural-TTS):
Datenschutz). TTS läuft hier über **piper** (lokales Neural-TTS, **in-process**: das
Stimmmodell wird einmal geladen und gecacht, kein Subprozess-Start pro Satz):
```bash
# einmalig: lokales STT installieren
# einmalig: lokales STT + TTS installieren (faster-whisper + piper-tts)
pip install -e .[local]
# lokalen llama.cpp-Server starten (großes, unzensiertes Modell):
make llm-up # mit make llm-status auf "HTTP OK" warten
# piper-Binary + Stimme bereitstellen: die Stimm-Dateien (<name>.onnx + <name>.onnx.json)
# piper-Stimme bereitstellen: die Stimm-Dateien (<name>.onnx + <name>.onnx.json)
# liegen im PIPER_VOICES_DIR (Default ~/.local/share/piper/voices). Deutsche Stimmen z. B.
# von huggingface 'rhasspy/piper-voices' (de_DE-thorsten-high, de_DE-kerstin-low).
# Verfügbare Stimmen prüfen: ls ~/.local/share/piper/voices/*.onnx