Skip to content

loudr-1

LoudKit

Natural-sounding text-to-speech with twenty voices, ten languages and voice cloning.

loudr-1 runs on your own hardware through loudkit. Download it once and work offline from Python, Swift, Go, Rust or TypeScript with PyTorch, ONNX Runtime or CoreML.

Hear all 20 voices | Open in Colab | GitHub | Documentation

Joe

Kathleen

Both voices read the same passage from Alice’s Adventures in Wonderland. Open the gallery to compare every shipped voice with the enrollment reference used to create its profile.

English is the only language we could evaluate ourselves by ear. We do not speak the other nine languages well enough to judge their naturalness reliably. If you do, please listen and share what sounds good or wrong. Feedback from native speakers is very welcome.

Terminal window
pip install "loudkit[torch,audio,hub]"
import loudkit as lk
engine = lk.load("loudreader/loudr-1")
voice = lk.voice("joe", repo="loudreader/loudr-1")
engine.synthesize("Hello from loudkit.", voice, seed=7).save("hello.wav")

The first run downloads the 747 MB synthesis checkpoint and the voices. Later runs use the local cache. The same path from a shell is:

Terminal window
loudkit speak --checkpoint loudreader/loudr-1 --voice joe \
"Hello from loudkit." -o hello.wav

To enroll a voice that you own or have permission to use:

mine = lk.enroll("my-recording.wav", "loudreader/loudr-1", name="my-voice")
mine.save("voices/my-voice.safetensors")

The reusable profile is about 150 KB. Install loudkit[torch,audio,enroll,hub] for enrollment.

The repository contains all supported formats, but the downloader fetches only the runtime you select. Add --with-cloning when the installation also needs enrollment.

pathcommanddownload
Python, synthesisloudkit download loudreader/loudr-1 --for torch750 MB
Python, with cloning--for torch --with-cloning1.28 GB
JS, Go or Rust with ONNX--for onnx2.60 GB
ONNX, with cloning--for onnx --with-cloning3.13 GB
Swift or Python with CoreML--for coreml1.16 GB
CoreML, with cloning--for coreml --with-cloning1.69 GB

Add --local-dir loudr-1 to create a portable directory instead of using the shared cache. The synthesis checkpoint will be at loudr-1/loudr-1.safetensors.

pathhardwarereal-time factor
PyTorch with CUDA graphsRTX 30907.47x
PyTorch with CUDA graphsJetson Orin Nano1.83x
split PyTorch engine*Apple M3 Pro3.43x
ONNX Runtime, CPU providerApple M3 Pro1.21x
PyTorch CPU referenceApple M3 Pro0.33x

* “Split” describes device placement, not a different model or checkpoint. The token generator runs on the CPU while the mel and vocoder renderer runs on the Apple GPU through MPS. Adjacent windows can overlap across the two devices.

Higher is faster, and 1.0x means real time. ONNX Runtime on the measured M3 Pro CPU is faster than real time. The PyTorch CPU reference path on the same machine is not.

For batched workloads, the token generator reaches 20.1x aggregate throughput at batch 1 and 153.1x at batch 64 on the RTX 3090. The highest measured result is 170.8x on an A100 at batch 64. These are generator-only throughput numbers, not single-request latency or end-to-end RTF. See the benchmark report for commands, hardware and caveats.

artefactsizeused by
loudr-1.safetensors747 MBsynthesis
loudr-1-enrollment.safetensors523 MBPyTorch enrollment
ve.safetensors5.7 MBPyTorch enrollment
onnx/2.38 GBnine graphs: six synthesis, three enrollment
coreml/941 MBsix packages: three synthesis, three enrollment
voices/3.1 MBtwenty voice profiles
samples/108 KBthe two players above
tokenizer.json70 KBtext processing

Synthesis and enrollment are separate so users who only need speech generation do not download the enrollment weights. ONNX and CoreML use their own enrollment graphs. loudkit also verifies that paired model files came from the same source checkpoint.

The release includes two profiles for each of these languages: English, Spanish, French, German, Italian, Polish, Portuguese, Dutch, Swedish and Danish.

The profiles were built from recordings donated for speech technology or from CC0 and CC-BY speech corpora. No scraped celebrity voices ship with the model. The full roster records the source, licence and consent basis for every profile. The voice gallery provides a generated sample and enrollment preview for all twenty.

The source enrollment WAVs are not redistributed in the model repository. Their digests, construction notes and the digests of every shipped profile and sample are recorded in provenance.json.

loudr-1 is derived from Chatterbox, released by Resemble AI under the MIT licence. We optimized it for faster local inference by profiling the full synthesis path, changing the signal flow, separating synthesis from enrollment, and adjusting graph boundaries and device placement for PyTorch, ONNX Runtime and CoreML.

Release gates compare the implementations, check output length and early end of speech, and run ASR-based checks per measured language. These checks catch mechanical regressions. They do not replace listening by native speakers.

For a fixed build, device and backend, the same text, voice and seed produce the same waveform. Across devices or backends, loudkit checks the token stream and keeps waveform differences inside measured correlation bands. Floating-point execution means that waveforms are not promised to be byte-identical across different runtimes.

The exact contract and current measurements are in the identity contract and measured parity report.

  • Long passages are rendered in windows of about ten seconds. Sentence joins can occasionally be audible.
  • Difficult punctuation, numbers and abbreviations can change pronunciation or prosody.
  • Voice cloning requires consent. A recording being public does not grant permission to clone the speaker.
  • Saved WAVs and server responses include an unsigned C2PA Content Credentials manifest by default. It records the model, voice, seed, backend and audio digest in a machine-readable form.

Read Responsible use before exposing enrollment to other people.

loudr-1 is intended for local narration, accessibility, localisation, games, prototyping and speech research. It is not a voice-authentication system and must not be used for deceptive impersonation.

The original Chatterbox training data is controlled by Resemble AI and is not documented by this project. The shipped voice profiles use recordings made or released for speech-technology use; their sources and licences are listed in the public roster.

Apache-2.0. Upstream attributions and component licences are listed in NOTICE.