Piper
FreeLocal neural speech synthesis fast enough for a Raspberry Pi
A neural text-to-speech engine that runs locally, turning text into speech with no network involved. Models are small enough for real-time output on a Raspberry Pi 4, covering more than thirty languages with several voices each for English and Chinese. Maintained by the Open Home Foundation, it is the default local voice for Home Assistant.
Why we picked it
GPL-3.0, maintained by the Open Home Foundation.
Free speech synthesis has had an awkward gap: the good-sounding options call a cloud API, bill per character, and route every sentence you speak through someone else's server, while the offline options — eSpeak NG among them — sound robotic enough to suit screen readers and little else. Piper sits between them and much closer to the first: the models are VITS-trained and land near commercial TTS in listening quality, with inference entirely on your machine.
A model file is tens of megabytes, downloaded once and usable offline afterwards. Audiobooks, voice prompts in your own programs, announcements for home automation — none of these need to pay a cloud service per run. Home Assistant ships it as the default local voice, so the home automation stack already in this directory plugs straight in.
To be clear about:
- The original rhasspy/piper repository is archived. Maintenance moved to OHF-Voice/piper1-gpl and the licence changed from MIT to GPL-3.0. Watch which version a tutorial is describing.
- It is a command-line tool and a Python library, with no GUI. Without scripting there is a barrier.
- Emotion and prosody control are weak. Reading instructional text is fine; performing an expressive narration is not what it does.