yunfengwang/IndexTTS-2.5-mnn
0
IndexTTS-2.5-mnn
IndexTTS-2.5 zero-shot voice cloning on MNN — fast CPU inference (x86 / ARM), torch-free, via the companion package `index-tts-2.5-mnn`:
uvx index-tts-2.5-mnn synth --ref voice.wav \
--text "大家好, this is IndexTTS." --out out.wavTwo quant sets (select with --quant, default fp16):
Verification (vs PyTorch CPU reference)
- fp32 and fp16 both reproduce the reference greedy acoustic tokens exactly (fx0 73/73, fx1 83/83); fp32 is bit-exact at every stage (vocoder mel-SNR ≈ 70 dB)
- int8/int4 sets were measured and rejected: int8/int4 BigVGAN ≤ 15 dB SNR (fp32 64.5 dB), int8 CFM mel outliers collapse the vocoder, int8 CAMPPlus/semantic encoder flips GPT greedy argmax (17% tokens), int8 GPT 35%, fp16 GPT compute ≤ 7% — fp16 is only safe as a weight format, never as compute precision
Layout
<name>_<quant>.mnn semantic_model / emo_vec / campplus /
length_regulator / semantic_codec_decode /
bigvgan / cfm_estimator / gpt_prefill / gpt_step
x quant ∈ {fp16, fp32}
gpt_prefill_<q>.mnn.weight external weight file (auto-loaded by MNN)
multilingual_zh_ja_yue_char_del.tiktoken tokenizer
spk_proj.npz speaker projection
hf_cache/w2v-bert-2.0/ feature-extractor configs onlySibling packages: `index-tts-2.5-mlx` (Apple Silicon GPU), `index-tts-2.5-onnx` (portable / CUDA).
Model weights are subject to the original Bilibili IndexTTS license. Use voice cloning responsibly and only with consent from the voice owner.
