alimpfard/breeze-tts-2-int4
Breeze TTS 2 @ int4
A weight-quantized build of Breeze TTS 2, packaged so it loads without ever materialising the bf16 model. Intended for GPUs that cannot hold the original: it runs in just under 3 GB of VRAM.
License. These are derivative weights. They remain governed by the BreezeBlue Research and Non-Commercial License, which is reproduced in full in this repository. Research and non-commercial use only.
What was quantized
Measured per-layer relative error is ~0.10.
Measured performance on constrained devices
Steady-state realtime factor, conditioning chained across turns:
Usage
Requires the breeze-tts inference code (Apache 2.0) with the quantized-checkpoint loader.
You may use alimpfard/breeze-tts-2 for a known-working implementation.
from pathlib import Path
from models.quantized_checkpoint import load_quantized_runtime
tokenizer, model, audio_tokenizer, stats = load_quantized_runtime(
Path("breeze-tts-2-int4"),
device="cuda",
offload_embeddings=True, # keeps ~1.7 GB of lookup tables in host memory
)offload_embeddings=True places the text-side embedding tables in host memory as they load, so they never occupy VRAM. They are gathered once per request (~2 MB moved).
Note CPU offload and CUDA graphs cannot both apply to the same module; a host round trip is not capturable. This only affects prefill and text-encoder graphs, not the per-frame decode path that provides the speedup.
Requirements
- Minimum (tested) CUDA GPU with compute capability 8.0+ (tinygemm int4). Verified on sm86 (Ampere) and sm121 (Blackwell).
- PyTorch 2.11+ (verified on 2.11 and 2.12).
- ~3 GB VRAM with embedding offload and decode-only graphs.
Samples
sample_dialogue.wav: five conversational turns with cross-request voice conditioning.sample_long.wav: 85s of narrative prose and dialogue, generated atmax_seq_len=512to match a constrained deployment.
Both use a synthetic reference voice, not a recorded speaker.
Attribution
Base model: Breeze TTS 2 by RESONIA, INC. dba BreezeBlue. Upstream: https://github.com/breezeblue-ai/breeze-tts
This repository redistributes the base model's tokenizer and audio tokenizer unchanged so the checkpoint is self-contained. All of it remains subject to MODEL_LICENSE.
