en_AU-librivox-medium
Ten Australian English voices in one Piper (VITS) model. 22,050 Hz mono, ~70M parameters, 77 MB, runs on CPU. Trained on public domain LibriVox recordings. Piper ships no en_AU voice, this fills that gap. The model was trained on a single RTX 6000 Pro over 24 hours, it was still improving slowly when training was paused, so there could still be room to improve.
Voices
Samples all say "I reckon we should head down to the beach before it gets too hot."
Usage
pip install piper-tts
echo "Good on ya mate." | python -m piper -m en_AU-librivox-medium.onnx -s 5 -f out.wav
import wave
from piper import PiperVoice, SynthesisConfig
voice = PiperVoice.load("en_AU-librivox-medium.onnx")
with wave.open("out.wav", "wb") as f:
voice.synthesize_wav("Good on ya.", f, SynthesisConfig(speaker_id=5))
The .onnx.json is required, it holds the speaker map.
Speech rate. length_scale 1.0 is the trained rate; higher is slower. Set tully and clancy to 1.25 and marlo to 1.08, they rush sometimes, and the samples above are all at 1.0. For serving layers that read the rate from the config instead, configs/ has ready made variants; copy the .onnx alongside under the matching name.
Training
See my training repo on github: https://github.com/DataCraftsmanAustralia/piper-en_AU
Limitations
- Narrow domain. All source text is 19th/early 20th century literature. No modern sentences, URLs, emails or timestamps. Numerals, abbreviations and technical terms are the weakest point.
- Period inflected accent - formal literary reading, not conversational.
- Voice quality is inherited from home recordings: poor mics, volume drift, band limiting. Training more probably won't fix it.
- Transcripts were machine generated (faster-whisper) and uncorrected.
- Not really certain about clancy being Australian, realised after training.
Licence
CC BY 4.0. Commercial use, redistribution and further fine tuning permitted.
Full terms, the ten narrators and provenance: ATTRIBUTION.md.