Fast & lightweight · Standard German, Hessian dialect and various emotions. Piper runs as a standalone program without any cloud dependency — even on a Raspberry Pi. Installation works almost identically on Windows, Mac, Linux and Raspberry Pi.
Download the right version for your operating system (Windows, Mac, Linux or Raspberry Pi) from the Piper GitHub releases page.
Go to the GitHub releases page ↗Unpack the downloaded archive into any folder you like. No classic installation is needed — Piper runs directly from that folder.
On Linux/Mac, you may need to run chmod +x piper once to make the file executable.
Download the model and config file, put both into the same folder as piper, then run the command in the terminal (Mac/Linux/Raspberry Pi) or in the command prompt (Windows). All voices speak German, so the text you pass in should be German too.
The clear, neutral standard voice — the right choice for most use cases.
⌄echo "Hallo, ich bin Thorsten-Voice." | ./piper -m de_DE-thorsten-high.onnx -f output.wav My voice with a charming (South) Hessian accent.
⌄echo "Guude! Ich bin Thorsten-Voice." | ./piper -m Thorsten-Voice_Hessisch_Piper_high-Oct2023.onnx -f output.wav Angry, drunk, happy, sleepy and more — speech output with eight selectable emotions.
⌄echo "Hallo, ich bin Thorsten-Voice." | ./piper -m de_DE-thorsten_emotional-medium.onnx -f output.wav --speaker 1 The value after --speaker sets the emotion:
Piper needs espeak-ng and a few library files that come with the piper file in the archive. The most common mistake: only the piper file gets moved somewhere else. Instead, keep the complete unpacked folder together — just put the model and config file into it, rather than moving piper on its own.
This is the macOS Gatekeeper warning for unsigned programs. After the first (failed) launch, you will find an "Open Anyway" button under System Settings → Privacy & Security. Alternatively, run xattr -d com.apple.quarantine ./piper once in a terminal.
Most of the time, the model (.onnx) and config (.onnx.json) are not in the same folder or are named differently — both files have to stay together. Also make sure not to pass a --speaker parameter with the Standard German and Hessian models — it is only meant for the emotional model.
This mainly happens on very weak hardware (such as an older Raspberry Pi) when the computation cannot keep up. If available, try a smaller model, or switch to Kokoro if you have more computing power.
The file is not marked as executable after unpacking. Run chmod +x piper once in the folder where piper is located.