Wyoming Piper
A self-hosted text-to-speech server connects Piper to Home Assistant through Wyoming, with custom ONNX voices and optional NVIDIA GPU support.
Wyoming Piper provides local speech generation for Home Assistant and other Wyoming-compatible clients. It's for people building a voice assistant who want speech synthesis to run on their own machine or server.
- Home Assistant integration: Make Piper available as a speech service through the Wyoming protocol, with a Home Assistant add-on available alongside standalone operation.
- Custom voices: Use Piper voices in ONNX format with matching JSON configuration files, including voices for different languages.
- Browser voice management: An optional web interface lets you upload and delete custom Piper voices and inspect their language and quality; a separate browser demo lets you test speech output.
The server is open source under the MIT license and runs as a Python service or in Docker. An optional NVIDIA GPU image supports Linux on amd64 hardware and requires an NVIDIA driver and the NVIDIA Container Toolkit.
Most Piper voices use the built-in espeak-ng pronunciation engine. Japanese and Thai voices require extra language components, as do Chinese voices that use pinyin. The supplied Chinese espeak voices work without that additional component.
The server detects voice additions and removals without restarting, but Home Assistant caches the voice list and needs an integration refresh to show changes. The optional voice management interface is off by default and has no authentication. It supports restrictions on which clients can access it and can run behind Home Assistant's ingress.