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
import torch, torchaudio
from generator import load_miso_8b # from the MisoTTS repo
gen = load_miso_8b("cuda") # GPU-sense pulls this bf16 repo on a card that fits it
audio = gen.generate(text="Hello from Miso.", speaker=0, context=[],
max_audio_length_ms=10_000)
torchaudio.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.