Swap Voice¶
Two TTS backends, both configured in .config.yaml. For a curated list
of voices that suit Dotty's persona (with character notes and best-for
hints) see the Voice Catalog.
Piper (local, offline)¶
The fastest path is the install helper, which downloads any catalog
voice into models/piper/ and (optionally) rewrites .config.yaml for
you:
make voice-list # see the catalog
make voice-install VOICE=en_US-kristin-medium APPLY=1
docker compose restart xiaozhi-server
Or do it by hand:
-
Download a voice
.onnx+.onnx.jsonfrom Piper samples intomodels/piper/. -
Update
.config.yaml:
- Restart:
docker compose restart xiaozhi-server
EdgeTTS (cloud, many voices)¶
- List voices:
pip install edge-tts && edge-tts --list-voices | grep en- - Update
.config.yaml:
selected_module:
TTS: EdgeTTS # or StreamingEdgeTTS
TTS:
EdgeTTS:
voice: en-AU-WilliamNeural # change to your pick
- Restart:
docker compose restart xiaozhi-server
Tips¶
- Piper is fully offline with no latency jitter. Prefer it for reliability.
- EdgeTTS has more variety but needs internet and occasionally throttles.
- English voices only -- non-English voices produce empty audio. See voice-pipeline.md.