CoolFace
Modelpublic

berrkkaayy/IndexTTS-2.5-Turkish-LoRA

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

IndexTTS-2.5 Turkish LoRA (step 29000)

Fine-tuned GPT weights that add Turkish (<|tr|>, language embedding row 9) to IndexTeam/IndexTTS-2.5 while preserving zero-shot voice cloning and the five base languages (Chinese, English, Japanese, Spanish, Arabic).

Training was done with index-tts-2.5-ft (itts25ft).

Model Details

FieldValue
Base modelIndexTeam/IndexTTS-2.5
Fine-tuning repooberkayb/index-tts-2.5-ft
MethodLoRA (rank 32, alpha 64) + trainable lang_embedding row 9
Language init--lang-init-from es (Spanish row as seed)
Checkpointstep 29000 (~12.2 epochs, effective batch 36)
Trainable params~12.5% of GPT (LoRA adapters + lang row + text/mel heads)
Vocab / BPEUnchanged — no tokenizer surgery

Files in This Repository

FileDescription
gpt.pthMerged LoRA export; drop-in replacement for checkpoints/gpt.pth
export_metadata.jsonStep, epoch, and export provenance

All other weights (s2mel.pth, codec.pth, vocoder, BPE, etc.) come from the base IndexTeam/IndexTTS-2.5 checkpoint.

Quick Start

1. Install upstream IndexTTS-2.5

bash
git clone https://github.com/index-tts/index-tts.git && cd index-tts
pip install -U uv
uv sync --all-extras
hf download IndexTeam/IndexTTS-2.5 --local-dir=checkpoints

2. Replace GPT weights

bash
# back up the stock file first
cp checkpoints/gpt.pth checkpoints/gpt.pth.stock
cp /path/to/this/repo/gpt.pth checkpoints/gpt.pth

3. Synthesize Turkish (recommended path)

Clone the fine-tuning repo for the Turkish text frontend (turkish normalizer + tr_lower casing). Training and inference must use the same frontend.

bash
git clone https://github.com/oberkayb/index-tts-2.5-ft.git
cd index-tts-2.5-ft

uv run --project ../index-tts python scripts/synthesize.py \
  --gpt-checkpoint /path/to/gpt.pth \
  --lang tr --normalizer turkish --case tr_lower \
  --prompt-audio ref.wav \
  --text "Merhaba, bugün hava çok güzel." \
  --output out/tr_test.wav

Or load via IndexTTS2 after replacing checkpoints/gpt.pth, but you must still apply the Turkish frontend before calling infer(..., lang="tr", text_normalization=False).

Cross-lingual check

bash
uv run --project ../index-tts python scripts/synthesize.py \
  --gpt-checkpoint /path/to/gpt.pth \
  --lang tr --normalizer turkish --case tr_lower \
  --prompt-audio ref.wav \
  --cross-lingual-check \
  --output out/check.wav

Training Summary

ItemValue
Utterances43,292 (~856 speakers)
Train pairs85,824
Preprocessturkish + tr_lower, 1–20 s clips
Learning rate1e-4 (lang row ×10)
Precisionbf16
Target epochs12

See export_metadata.json for checkpoint-specific fields.

Limitations

  • —Turkish requires the itts25ft text frontend; stock webui.py does not apply turkish + tr_lower normalization.
  • —Long text is segmented; prosody may not carry across segment boundaries (same as base model).
  • —Occasional word substitutions under high temperature; lower temperature for production use.
  • —Subject to the bilibili Model Use License Agreement inherited from IndexTTS-2.5.

Citation

If you use this checkpoint, please cite the base IndexTTS-2.5 paper and link this repository:

bibtex
@misc{li2026indextts25technicalreport,
  title={IndexTTS 2.5 Technical Report},
  author={Yunpei Li and others},
  year={2026},
  eprint={2601.03888},
  archivePrefix={arXiv},
}

Fine-tuning pipeline: https://github.com/oberkayb/index-tts-2.5-ft