MisoTTS bf16 (BigBlueCeiling)
Full-precision (bfloat16) weights for MisoTTS, the
reference variant in
BigBlueCeiling's optimization- and deployment-focused fork of
MisoLabsAI/MisoTTS. The model and the
original inference code are MisoLabs' work; this fork makes it fast and correct in
practice and easy to run across a range of hardware.
MisoTTS is an expressive, English, ~8B-parameter text-to-speech model: a
Llama-3.2-style backbone generates Mimi audio codes from text, a smaller
autoregressive decoder predicts the higher codebooks per frame, and the output is
watermarked with SilentCipher.
Variant family
This bf16 repo is the reference and the default. The serving core reads the GPU's
VRAM and loads the highest-quality weight precision that fits, pulling it at
runtime:
| Variant | Weights | Fits (gen peak) | Quality vs bf16 |
|---|
| bf16 (this repo) | bfloat16 | ~24 GB (A6000, 3090/4090, A100, ...) | reference |
| int8 | int8 weight-only | ~16 GB (4060 Ti 16G, 4070 Ti S, A4000) | even (CER/WER/UTMOS ~unchanged) |
| int4 | int4 weight-only | ~12 GB (3060 12G, 4070) | noticeably lower (experimental) |
int8/int4 are weight-only quantizations of these bf16 weights. They are a memory
lever, not a speed one (the frame-by-frame decode cannot feed the GPU's
low-precision tensor cores, so they dequantize to bf16 for the matmul). bf16 is
both the quality reference and the fastest path on a card that fits it.
Quality and performance
Measured on an A6000 over the 12 canonical eval prompts (3 lengths x 4 emotions),
scored with perceval: mean ASR CER 0.10, WER 0.15, UTMOS 3.94. With
torch.compile (reduce-overhead) generation runs near realtime (RTF ~1.1 after
warmup); eager is roughly 14x slower. The compile warmup caches across processes,
so a persisted Inductor cache brings cold start to a few minutes.
Use
1import torch, torchaudio
2from generator import load_miso_8b # from the MisoTTS repo
3
4gen = load_miso_8b("cuda") # GPU-sense pulls this bf16 repo on a card that fits it
5audio = gen.generate(text="Hello from Miso.", speaker=0, context=[],
6 max_audio_length_ms=10_000)
7torchaudio.save("miso.wav", audio.unsqueeze(0).cpu(), gen.sample_rate)
Requires torch>=2.7. See the
MisoTTS repo
for the serving container (RunPod and OpenAI-compatible APIs), the GPU-sense variant
selection, and the quality harness.
Safety, license, credit
Generated audio is watermarked with SilentCipher; if you deploy the model, use your
own private watermark key and keep it secret. Do not use the model to impersonate
people, create deceptive audio, or generate harmful content. The model and the
original inference code are MisoLabs' work, under the upstream license; see
MisoLabsAI/MisoTTS.