๐ Python API
July 15, 2025 ยท View on GitHub
Install with:
pip install piper-tts
Download a voice, for example:
python3 -m piper.download_voices en_US-lessac-medium
Use PiperVoice.synthesize_wav:
import wave
from piper import PiperVoice
voice = PiperVoice.load("/path/to/en_US-lessac-medium.onnx")
with wave.open("test.wav", "wb") as wav_file:
voice.synthesize_wav("Welcome to the world of speech synthesis!", wav_file)
Adjust synthesis:
syn_config = SynthesisConfig(
volume=0.5, # half as loud
length_scale=2.0, # twice as slow
noise_scale=1.0, # more audio variation
noise_w_scale=1.0, # more speaking variation
normalize_audio=False, # use raw audio from voice
)
voice.synthesize_wav(..., syn_config=syn_config)
To use CUDA for GPU acceleration:
voice = PiperVoice.load(..., use_cuda=True)
This requires the onnxruntime-gpu package to be installed.
For streaming, use PiperVoice.synthesize:
for chunk in voice.synthesize("..."):
set_audio_format(chunk.sample_rate, chunk.sample_width, chunk.sample_channels)
write_raw_data(chunk.audio_int16_bytes)