Breeze TTS 2 MLX โ€” INT8

This repository contains the ready-to-run INT8-only MLX checkpoint for BreezeBlue/Breeze-TTS-2. It is a direct replication of the chkpt-mlx-int8/ directory used by the breeze-tts-mlx inference project.

This Hugging Face repository contains INT8 weights only. It does not contain the original checkpoint, an INT4 checkpoint, FP16/FP32 variants, or the Python inference source. Clone the GitHub repository for the runtime.

Requirements

  • Apple-Silicon Mac (ARM64)
  • macOS
  • Python 3.12
  • uv
  • SoX

Clone the runtime and download the INT8 weights

git clone https://github.com/rishikksh20/breeze-tts-mlx.git
cd breeze-tts-mlx

brew install uv sox
sox --version
uv sync --locked

uv run hf download rishikksh20/Breeze-TTS-2-mlx \
  --local-dir chkpt-mlx-int8

No checkpoint conversion is required. The downloaded directory already has the complete MLX INT8 layout, including the FP32 Qwen audio tokenizer.

Run inference

uv run python infer.py chkpt-mlx-int8 \
  --text "Hello from Breeze TTS 2 running with MLX INT8." \
  --instruction "Speak warmly and clearly." \
  --output output_mlx.wav

The terminal reports generated codec frames, audio duration, elapsed generation time, loaded weight memory, and generation speed such as 0.53x realtime.

Voice design with CFG

uv run python infer.py chkpt-mlx-int8 \
  --text "This voice was generated from the published INT8 checkpoint." \
  --instruction "Use a calm, confident delivery." \
  --cfg-scale 4 \
  --output output_cfg_mlx.wav

Reference voice editing

uv run python infer.py chkpt-mlx-int8 \
  --text "This is the new sentence." \
  --instruction "Keep the reference speaker and use a calm delivery." \
  --ref-audio reference.wav \
  --ref-text "The exact transcript of the reference recording." \
  --output output_reference_mlx.wav

--ref-audio and --ref-text must be provided together, and the transcript must match the reference recording exactly.

INT8 checkpoint policy

  • MLX 8-bit affine weight-only quantization with group size 64 is applied to eligible linear and embedding layers in the active text encoder, Qwen3 backbone, depth decoder, audio embedding, and depth codebook heads.
  • The small text projection and LM head remain FP16.
  • The bundled Qwen audio tokenizer remains unchanged in FP32.
  • Inactive embed_text_tokens.* and embedded codec_model.* weights are omitted from the MLX package.

This model repository is intended for local inference through the linked GitHub project; it is not configured for the Hugging Face hosted Inference API.

Benchmark and listening sample

uv run python benchmark.py \
  --precisions int8 \
  --artifact int8=chkpt-mlx-int8 \
  --max-new-tokens 64 \
  --audio-output-dir mlx_benchmark_audio \
  --json-output mlx_benchmark_int8.json

The measured WAV is saved as mlx_benchmark_audio/int8.wav for subjective listening checks, and its path is included in the JSON report.

Attribution and limitations

This is an MLX INT8 conversion of BreezeBlue/Breeze-TTS-2. Review the upstream model card for intended use, supported languages, training details, and model-specific limitations. INT8 quantization can change sampling decisions and audio quality relative to the original model. Validate speaker similarity, intelligibility, and pronunciation for your use case.

The runtime currently targets Apple Silicon and is not a CUDA, Linux, or Intel Mac inference implementation.

Downloads last month
32
MLX
Hardware compatibility
Log In to add your hardware

Quantized

Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for rishikksh20/Breeze-TTS-2-mlx

Finetuned
(4)
this model