CoolFace
Modelpublic

yunfengwang/IndexTTS-2.5-mnn

sourceHugging Faceotherupdated 1mo agoView on Hugging Face
0likes
Model Card

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`:

bash
uvx index-tts-2.5-mnn synth --ref voice.wav \
    --text "大家好, this is IndexTTS." --out out.wav

Two quant sets (select with --quant, default fp16):

setsizecontentsverification
fp16 (default)~3.6 GBevery module, fp16 weights (fp32 compute)greedy codes 100% both fixtures; bigvgan mel-SNR 26–29 dB (gate 25 dB)
fp32~7 GBall fp32bit-exact vs PyTorch CPU

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 only

Sibling 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.