Views
No views yet
IndexTeam/IndexTTS-1.5 for use with CrispStrobe/CrispASR.| File | Quant | Size | Notes |
|---|---|---|---|
indextts-gpt-q8_0.gguf | Q8_0 | 613 MB | GPT-2 + Conformer + Perceiver — recommended |
indextts-gpt-q4_k.gguf | Q4_K | 347 MB | GPT-2 + Conformer + Perceiver — smallest |
indextts-gpt.gguf | F16 | 2.2 GB | GPT-2 + Conformer + Perceiver — reference quality, bit-exact Python parity |
indextts-bigvgan.gguf | F16 | 256 MB | BigVGAN vocoder (shared across all GPT quants) |
1# Easiest: auto-download (~870 MB on first run)
2./build/bin/crispasr --backend indextts -m auto \
3 --voice reference_speaker.wav \
4 --tts "Hello world, this is IndexTTS speaking."
5
6# Output: tts_output.wav (24 kHz mono)1# 1. Build CrispASR
2git clone https://github.com/CrispStrobe/CrispASR
3cd CrispASR
4cmake -B build -DCMAKE_BUILD_TYPE=Release
5cmake --build build -j --target crispasr-cli
6
7# 2. Pull model files (pick your preferred quant)
8huggingface-cli download cstr/indextts-1.5-GGUF indextts-gpt-q8_0.gguf --local-dir .
9huggingface-cli download cstr/indextts-1.5-GGUF indextts-bigvgan.gguf --local-dir .
10
11# 3. Synthesise with voice cloning
12./build/bin/crispasr --backend indextts \
13 -m indextts-gpt-q8_0.gguf \
14 --codec-model indextts-bigvgan.gguf \
15 --voice reference_speaker.wav \
16 --tts "Hello world, this is IndexTTS speaking."Input text → uppercase → SentencePiece unigram tokenizer (12000 vocab)
Reference audio → 24kHz resample → mel spectrogram (100 bands, hop=256)
→ Conformer encoder (6 blocks, d=512, 8 heads, Conv2d subsampling)
→ Perceiver resampler (2 layers, 32 latents, d=1280, GEGLU FFN)
→ 32 conditioning vectors
GPT-2 AR decoder:
[32 cond latents | text_embs + text_pos | start_mel + mel_pos]
→ 24 transformer blocks (d=1280, 20 heads, GELU FFN)
→ gpt.ln_f → final_norm → mel_head → beam search (B=3)
→ mel codes (stop token = 8193)
Latent extraction (2nd pass):
Full sequence → GPT-2 → gpt.ln_f → final_norm → [n_mel+1, 1280]
BigVGAN vocoder:
latent [T, 1280] → conv_pre → 6× (ConvTranspose1d + AMPBlock1 with
anti-aliased SnakeBeta) → conv_post → tanh → 24kHz PCM
+ ECAPA-TDNN speaker embedding for voice conditioning1python models/convert-indextts-to-gguf.py \
2 --model-dir /path/to/IndexTTS-1.5 \
3 --output indextts-gpt.gguf \
4 --vocoder-output indextts-bigvgan.gguf1@misc{indextts2024,
2 title={IndexTTS: An Industrial-Level Zero-Shot Text-to-Speech System with Controllable Timbre},
3 author={IndexTeam},
4 year={2024},
5 url={https://github.com/index-tts/IndexTTS}
6}