IndexTTS-2.5 — MLX (int8)

IndexTTS-2.5 ported to MLX for Apple Silicon, with an int8-quantized GPT decoder. Torch-free. This repo holds the weights consumed by the index-tts-2.5-mlx Python package (one-click uvx, auto-download).

Only the int8 variant is published: the GPT decode loop is the bottleneck and the only module where weight-only quantization gives a real GPU speedup; the remaining modules are compute-bound or fidelity-critical and stay fp32.

Features

  • Zero-shot voice cloning from a ≤15 s reference; build the speaker once, reuse across unlimited lines.
  • Multilingual + code-switchingzh / en / ja / yue, mixed in one sentence.
  • Text normalization (wetext) reads numbers/abbreviations correctly.
  • Rich decoding controls — greedy or sampling, repetition penalty, speech-rate, flow-matching solver knobs.
  • Faster than real-time on Apple Silicon — see Performance below.

Full CLI/API options, quality metrics (ASR / speaker-similarity / numeric-fidelity), and the PyTorch→MLX conversion notes are on the PyPI page.

Layout

gpt_int8.safetensors            # int8 GPT (weight + scales + biases), embeddings fp32
cfm_estimator.safetensors       # flow-matching DiT (fp32)
raw/semantic_model.safetensors  # w2v-bert semantic encoder
raw/emo.safetensors             # emotion vector
raw/campplus.safetensors        # speaker embedding
raw/length_regulator.safetensors
raw/semantic_codec.safetensors  # codec decoder
raw/bigvgan.safetensors         # vocoder
multilingual_zh_ja_yue_char_del.tiktoken
spk_proj.npz
hf_cache/w2v-bert-2.0/{config.json,preprocessor_config.json}  # feature extractor only (no weights)

Usage

uvx index-tts-2.5-mlx synth --ref voice.wav --text "大家好, this is IndexTTS." --out out.wav
from index_tts_2_5_mlx import IndexTTS
tts = IndexTTS()  # downloads this repo on first use
sr, pcm = tts.clone("AI 模型在 2025 年处理了 100 万条数据。", ref_audio_path="voice.wav", out="out.wav")

Performance (Apple M5 Pro, warm)

Backend RTF vs PyTorch MPS
PyTorch MPS (official) 1.11–1.17 1.0×
MLX fp32 0.67–0.71 ~1.7×
MLX int8 0.45–0.47 ~2.4×

RTF < 1 = faster than real-time. See the PyPI page for full quality (ASR / speaker-similarity / numeric-fidelity) and usage details.

License

Weights are subject to the original Bilibili IndexTTS license (see the upstream model card). Use voice cloning responsibly and only with the voice owner's consent.

Downloads last month

-

Downloads are not tracked for this model. How to track
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

Collection including yunfengwang/IndexTTS-2.5-mlx