A fast, local neural text to speech system that sounds great and is optimized for the Raspberry Pi 4. Piper is used in a variety of projects.
echo 'Welcome to the world of speech synthesis!' | \
./piper --model en-us-blizzard_lessac-medium.onnx --output_file welcome.wavListen to voice samples and check out a video tutorial by Thorsten Müller
Voices are trained with VITS and exported to the onnxruntime.
Our goal is to support Home Assistant and the Year of Voice.
Download voices for the supported languages:
- Catalan (ca)
- Danish (da)
- German (de)
- British English (en-gb)
- U.S. English (en-us)
- Spanish (es)
- Finnish (fi)
- French (fr)
- Greek (el-gr)
- Icelandic (is)
- Italian (it)
- Kazakh (kk)
- Nepali (ne)
- Dutch (nl)
- Norwegian (no)
- Polish (pl)
- Brazilian Portuguese (pt-br)
- Russian (ru)
- Swedish (sv-se)
- Ukrainian (uk)
- Vietnamese (vi)
- Chinese (zh-cn)
Download a release:
If you want to build from source, see the Makefile and C++ source.
You must download and extract piper-phonemize to lib/Linux-$(uname -m)/piper_phonemize before building.
For example, lib/Linux-x86_64/piper_phonemize/lib/libpiper_phonemize.so should exist for AMD/Intel machines (as well as everything else from libpiper_phonemize-amd64.tar.gz).
- Download a voice and extract the
.onnxand.onnx.jsonfiles - Run the
piperbinary with text on standard input,--model /path/to/your-voice.onnx, and--output_file output.wav
For example:
echo 'Welcome to the world of speech synthesis!' | \
./piper --model en-us-lessac-medium.onnx --output_file welcome.wavFor multi-speaker models, use --speaker <number> to change speakers (default: 0).
See piper --help for more options.
Piper has been used in the following projects/papers:
- Home Assistant
- Rhasspy 3
- NVDA - NonVisual Desktop Access
- Image Captioning for the Visually Impaired and Blind: A Recipe for Low-Resource Languages
- Open Voice Operating System
- JetsonGPT
See the training guide and the source code.
Pretrained checkpoints are available on Hugging Face
See src/python_run
Run scripts/setup.sh to create a virtual environment and install the requirements. Then run:
echo 'Welcome to the world of speech synthesis!' | scripts/piper \
--model /path/to/voice.onnx \
--output_file welcome.wavIf you'd like to use a GPU, install the onnxruntime-gpu package:
.venv/bin/pip3 install onnxruntime-gpuand then run scripts/piper with the --cuda argument. You will need to have a functioning CUDA environment, such as what's available in NVIDIA's PyTorch containers.

