Favicon of Wyoming Piper

Wyoming Piper

A self-hosted text-to-speech server that connects Piper to Home Assistant through Wyoming, with custom ONNX voices and optional NVIDIA GPU support.

Wyoming Piper connects Piper's local text-to-speech engine to Home Assistant and other clients that use the Wyoming protocol. It's for people building a voice assistant on their own hardware who need speech generation as a self-hosted service. The project is open source under the MIT license.

You can run it as a Python service, in Docker, or through a Home Assistant add-on. Speech synthesis runs on your machine or server. An optional NVIDIA GPU image uses CUDA-enabled ONNX Runtime and is limited to Linux on amd64 hardware.

Piper supports custom voices supplied as ONNX models with matching JSON configuration files. Most voices use the built-in espeak-ng phonemizer. Japanese and Thai voices need additional language components, as do Chinese voices that use pinyin; the supplied Chinese espeak voices don't need that extra component.

An experimental OmniVoice backend adds reference-audio voice cloning and voice design. It uses an INT4 ONNX export downloaded through Hugging Face, with an explicit local-files-only mode for offline use after caching.

An optional browser interface lets you upload and delete custom Piper voices and view details such as their language and quality. The server detects voice additions and removals without restarting, though Home Assistant needs to refresh its cached voice list before those changes appear there. A separate browser demo lets you test speech output.

The voice management interface has no authentication. It supports access restrictions by IP address or network range and can sit behind Home Assistant's ingress.

Similar to Wyoming Piper