piper-tts
Fast and local neural text-to-speech engine
What it is and what it does
Piper TTS is a neural text-to-speech system designed for offline, local synthesis without cloud dependencies. It uses onnxruntime for inference and embeds espeak-ng for phonemization, supporting multiple languages and voices. The package provides a Python API, command-line interface, and HTTP server, making it suitable for integration into applications like Home Assistant, NVDA screen readers, and voice assistants.
The project is actively maintained by the Open Home Foundation and has been adopted by numerous open-source projects and accessibility tools. It trades off some quality for speed and local execution, positioning itself as a practical alternative to cloud-based TTS for developers who need on-device speech synthesis without external API calls or licensing overhead.
Use it for:
- Add speech output to Home Assistant automations and voice assistants without cloud dependencies
- Enable text-to-speech in accessibility tools like screen readers (NVDA) for visually impaired users
- Synthesize narration for video processing or content generation pipelines running locally
- Embed speech synthesis in IoT or embedded systems (Jetson, edge devices) with low latency
- Build multilingual chatbots or voice interfaces that operate entirely offline
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Piper TTS is a local neural text-to-speech engine that converts text to speech using embedded phonemization, with support for multiple languages and voices.
Yes, if you need local, offline text-to-speech without cloud APIs. The package is actively maintained, widely adopted in production (Home Assistant, NVDA), has no known vulnerabilities, and supports modern Python versions. The GPL-3.0 copyleft license is a consideration for commercial use. Medium install friction is manageable given the availability of pre-built wheels across platforms.
Install
piper-tts on PyPI
pip
pip install piper-ttsuv
uv add piper-ttspoetry
poetry add piper-ttsInstalling piper-tts
Before you install
Medium install friction due to compiled wheels for multiple platforms (macOS x86/ARM, Linux x86/ARM, Windows). Active maintenance with recent release (1 day old) and strong community adoption (5130 stars). Requires Python 3.9+.
License in practice
GPL-3.0-or-later (copyleft): any derivative work or distribution must also be open-source under GPL-compatible terms. Suitable for open-source projects and internal use, but requires careful review before commercial deployment.
Quickstart
pip install piper-tts
from piper.voice import PiperVoice
voice = PiperVoice.load('en_US-lessac-medium')
voice.synthesize('Hello world', 'output.wav')
Requires onnxruntime and pathvalidate as runtime dependencies; espeak-ng is embedded for phonemization.
Verify before relying
- Whether pre-trained voice models are included or must be downloaded separately
- Typical latency and throughput characteristics for real-time speech synthesis
- Memory footprint and GPU acceleration support via onnxruntime
Package facts
| License | GPL-3.0-or-later (copyleft) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 2 — onnxruntime, pathvalidate |
| Maintenance | actively maintained — 1 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 891,323/month — #4,801 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: piper_tts-1.6.1-cp39-abi3-macosx_10_9_x86_64.whl; piper_tts-1.6.1-cp39-abi3-macosx_11_0_arm64.whl; piper_tts-1.6.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl; piper_tts-1.6.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl; piper_tts-1.6.1-cp39-abi3-win_amd64.whl
Keywords: home, assistant, tts, text-to-speech
Tags
More Speech packages
Performs speech recognition and transcription…
permissive · top 5,000 on PyPI
gTTSgTTS converts text to speech using Google…
permissive · top 5,000 on PyPI
lhotseLhotse prepares multimodal (speech, audio,…
permissive · top 5,000 on PyPI
funasrFunASR is a speech recognition toolkit that…
permissive · top 15,000 on PyPI
pocketsphinxPocketSphinx provides Python bindings for…
permissive · top 15,000 on PyPI
aic-sdkPython bindings for ai-coustics audio…
permissive · top 15,000 on PyPI
kokoro-onnxConverts text to speech using ONNX Runtime,…
unclear · top 15,000 on PyPI
pyttsx3pyttsx3 converts text to speech offline using…
copyleft · top 5,000 on PyPI
pocket-ttsPocket TTS generates speech from text on CPU…
unclear · top 15,000 on PyPI
TTSTTS is a deep learning library for…
copyleft · top 15,000 on PyPI
espeakng-loaderLoads the espeak-ng shared library and makes it…
unclear · top 5,000 on PyPI
pyopenjtalkWraps OpenJTalk to provide Japanese…
permissive · top 15,000 on PyPI
coqui-ttsCoqui TTS synthesizes speech from text using…
copyleft · top 15,000 on PyPI
sileroSilero provides pre-trained text-to-speech…
permissive · top 15,000 on PyPI
kokoroKokoro is an inference library for the…
permissive · top 15,000 on PyPI