Downloads · 30 days
0
christopherthompson81/chatterbox-tts-onnx
chatterbox-tts-onnx is a text-to-speech model from christopherthompson81. Use it when you need text read aloud. It is set up for onnxruntime. The card lists the license as mit.
A complete ONNX export of ResembleAI/chatterbox (Resemble AI's open zero-shot TTS: an 0.5B Llama-style speech-token LM over a CosyVoice-style flow-matching vocoder), for use as the Chatterbox text-to-speech engine in…
Downloads · 30 days
0
Access
Public
Updated Sep 6, 2026
Repo size
9.6 GB
Likes
0
Public
Click a slice to open those files.
.onnx_data9.5 GB · 98%
From the Hugging Face model README
A complete ONNX export of ResembleAI/chatterbox
(Resemble AI's open zero-shot TTS: an 0.5B Llama-style speech-token LM over a CosyVoice-style
flow-matching vocoder), for use as the Chatterbox text-to-speech engine in
Vernacula.
scripts/chatterbox_export/ResembleAI/chatterboxonnx-community), or three of the four graphs without
the language model.Loop (what the C# runtime loads), and the three split graphs it was built from
(flow encoder, CFM estimator, mel-to-wave) for orchestrating the Euler loop outside the
graph. Per-graph parity against upstream eager passes on all five checks.docs/tts_alignment_desync_investigation.md.Every graph keeps its weights in an external-data sidecar named <graph>.onnx_data
(that spelling, with an underscore, is what the graphs reference — keep the pair
together).
| File | Purpose |
|---|---|
speech_encoder.onnx (+ .onnx_data, 2.1 GB) | Reference clip → speaker embedding, speaker features, prompt speech tokens |
embed_tokens.onnx (+ .onnx_data, 118 MB) | Text + speech token embedding |
language_model.onnx (+ .onnx_data, 5.9 GB) | The speech-token LM, one step per call with KV cache in/out |
conditional_decoder_loop.onnx (+ .onnx_data, 549 MB) | Merged vocoder: speech tokens + speaker conditioning → 24 kHz waveform, CFM solve as an ONNX Loop |
flow_encoder.onnx, cfm_estimator.onnx, mel2wav.onnx (+ .onnx_data) | The same vocoder split in three, for driving the Euler loop yourself |
tokenizer.json | Chatterbox's English text tokenizer (from the upstream repo, unchanged) |
export-report.json | What was exported from where: upstream revision, opsets, per-graph hashes, environment |
manifest.json | Per-file MD5 hashes for integrity checks |
The bundle is about 9.3 GB in fp32.
Exported via scripts/chatterbox_export/
in the Vernacula repo (export_chatterbox_to_onnx.py --device cuda --dtype float32). The
export applies scoped, self-restoring patches to the upstream modules for tracing —
real-valued STFT/iSTFT in place of the complex ones, a dynamic-shape solve_euler,
deterministic noise — and records the pinned ResembleAI/chatterbox revision it read in
export-report.json. The design log is
docs/chatterbox_investigation.md;
the merged-Loop vocoder is Run 10 of
docs/chatterbox_perf_investigation.md.
MIT, inherited from
ResembleAI/chatterbox. tokenizer.json
is upstream's file, redistributed unchanged.
Not included: upstream's Perth audio watermarker. The Python package applies it to every output; this export is the synthesis path only. Please respect the upstream project's guidance on responsible use of voice cloning.
In Vernacula, point Settings → Text-to-Speech → Chatterbox at a folder holding these
files (or use its Download button) and pick a reference clip per job. Outside Vernacula
the graphs need orchestration — speaker encoding, the LM rollout with its KV cache, then
the vocoder — which the C# ChatterboxPipeline in
src/Vernacula.Tts.Base
implements end to end; it is the reference for the I/O names and shapes.
from huggingface_hub import snapshot_download
import onnxruntime as ort
path = snapshot_download(repo_id="christopherthompson81/chatterbox-tts-onnx")
lm = ort.InferenceSession(f"{path}/language_model.onnx")
print([i.name for i in lm.get_inputs()]) # token embeddings + KV cache in; logits + KV cache out
English only. A rollout is capped at 1024 LM steps per chunk; Vernacula splits documents into paragraphs first and flags a chunk that hits the cap. Everything else is upstream's — see the Chatterbox model card.
See the upstream model card and github.com/resemble-ai/chatterbox.
Issues with the ONNX export specifically: open an issue on the Vernacula repo. Issues with the underlying model: see the upstream model card.
scripts/chatterbox_export/)ResembleAI/chatterbox — upstream model card