IndexTTS-2.5 Turkish (v2)
Fine-tuned GPT weights that add Turkish to IndexTeam/IndexTTS-2.5 with zero-shot voice cloning. The five base languages (zh, en, ja, es, ar) are kept. Trained with index-tts-2.5-ft.
v2 cuts word errors 9×: Freya-TR-Eval WER drops from 12.36% (v1) to 1.32%. v1 swapped short Turkish words for other words (yağmur → "arkadaş mur"). The cause was text-embedding rows the base model had never trained. v2 trains exactly those rows.
Freya-TR-Eval
Freya-TR-Eval has 495 everyday Turkish sentences. We ran it with the protocol of the PatientDesk re-run: three seeded takes per sentence, an 8 kHz band, faster-whisper large-v3 (beam 5), EMA's score_norm and UTMOS22-strong. The voice reference is the same one the cloning systems used there (Anka TTS male).
| System | WER % | CER % | Clean | UTMOS |
|---|---|---|---|---|
| EMA Lightning | 1.04 ± 0.17 | 0.22 | 93.7% | 3.30 |
| Trendyol-TTS | 1.16 ± 0.16 | 0.23 | 93.1% | 3.82 |
| Gemini 3.8 Flash TTS | 1.23 ± 0.10 | 0.29 | 92.9% | 3.53 |
| IndexTTS-2.5 Turkish v2 (this model) | 1.32 ± 0.10 | 0.26 | 92.2% | 3.17 |
| Gemini 3.8 Flash-Lite TTS | 1.34 ± 0.19 | 0.27 | 91.9% | 3.63 |
| Anka TTS | 1.42 ± 0.06 | 0.30 | 91.6% | 3.52 |
| ElevenLabs v4 | 1.43 ± 0.12 | 0.27 | – | – |
| Chatterbox Multilingual | 1.91 ± 0.35 | 0.43 | 88.8% | 3.51 |
| XTTS-v2 | 3.67 ± 0.37 | 1.50 | 77.1% | 2.97 |
| FreyaTTS-small | 12.02 ± 0.00 | 4.95 | 47.1% | 2.81 |
| IndexTTS-2.5 Turkish v1 | 12.36 ± 0.43 | 5.72 | 43.5% | 3.08 |
- Our rows (bold and v1) were run by us on 2026-10-08. All other rows are quoted from the PatientDesk re-run of 2026-10-07; it lists 19 systems.
- Clean is the share of sentences with no word error. v2 reads 427 of the 495 sentences correctly in all three takes; v1 does so for 161.
- Speed: RTF is 0.83 on an RTX 5070 Ti (bf16,
num_beams=3). This is not comparable with the L4 numbers in the re-run. - Raw data: transcripts, UTMOS per clip and timing are in
benchmark/.
v1 vs v2: listen
Same sentence, reference voice and seed (take 0). The v1 column shows what Whisper heard.
| Sentence | v1 (Whisper heard) | v1 | v2 |
|---|---|---|---|
| Yağmur birden bastırınca hepimiz sırılsıklam olduk! | Arkadaş mur birden bastırınca hepimiz kırılsıklam olduk. | ||
| Ne demek istediğini bilmiyorum. | Ne biraz geldiğimi zatım. | ||
| Akşamüstü kuaföre uğrayıp saçlarımı biraz kestirmek istiyorum. | Akşam düşüğü kuaföre uğrayıp hasırlarımı biraz kestirmek istiyorum. | ||
| Dünkü yemekten kalanları ısıtıp öğle yemeğinde afiyetle yedik. | Dört geçten kalanları sırtıp öğle yemeğinde afasırla yedik. | ||
| Birlikte sinemaya gitmeyeli neredeyse iki ay olmuş. | Artık sinemaya gitmeyeli söyleyse 2 ayıdır. |
Reference voice:
The reference is the AI-generated male voice of Anka TTS (not a real person), licensed CC-BY-NC-4.0. The clips in samples/ are derived from it and carry the same license.
Files
| File | Description |
|---|---|
gpt.pth |
v2, step 13000. Merged LoRA export; drop-in replacement for checkpoints/gpt.pth. |
export_metadata.json |
v2 provenance and training settings |
v1/gpt.pth, v1/export_metadata.json |
Previous release (step 29000, 2026-08-19), kept for comparison |
samples/, benchmark/ |
Listening samples and Freya-TR-Eval raw results |
All other weights (s2mel.pth, codec, vocoder, tokenizer, …) come from IndexTeam/IndexTTS-2.5.
Quick start
git clone https://github.com/index-tts/index-tts.git && cd index-tts
uv sync --all-extras
hf download IndexTeam/IndexTTS-2.5 --local-dir=checkpoints
hf download berrkkaayy/IndexTTS-2.5-Turkish-LoRA gpt.pth --local-dir=checkpoints/tr
cd .. && 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 ../index-tts/checkpoints/tr/gpt.pth \
--lang tr --normalizer turkish --case tr_lower \
--prompt-audio ref.wav --text "Merhaba, bugün hava çok güzel." --output out/tr.wav
Turkish needs the itts25ft text frontend (turkish normalizer + tr_lower). Training and inference must match. If you call IndexTTS2.infer directly, clean the text with the frontend and pass lang="tr", text_normalization=False. The fine-tuning repo also ships a WebUI (webui.bat) and an MCP server (mcp_server.py).
Training (v2)
| Item | Value |
|---|---|
| Data | 486.5 h Turkish, 143,609 utterances, 3,652 speakers; 286,606 prompt/target pairs |
| Validation | 674 pairs from 20 held-out speakers; step 13000 had the best validation loss |
| Method | LoRA r32/α64 on all GPT blocks, lang_embedding row 9 (seeded from es), mel/text heads |
| New in v2 | 1,530 untrained text-embedding rows trained (--train-text-rows). These rows carry 37% of the Turkish token occurrences. Gradient-masked, LR ×10, no weight decay, seeded from trained sub-word pieces. |
| Data quality | ASR transcripts filtered by duration, chars/s and repeated text; clips over 25 s dropped, not truncated |
| Optimisation | LR 1e-4, bf16, effective batch 32, 13,000 steps (~1.45 epochs) on an RTX 5070 Ti + RTX 4070 |
| Frozen | Emotion branch, speaker projection, all text rows the base model already trained |
Limitations
- Turkish requires the itts25ft frontend; stock
webui.pydoes not apply it. - Numbers are best written out as words. Long text is segmented, and prosody may reset between segments.
- UTMOS is an English-trained proxy and depends on the reference voice.
- Use is subject to the bilibili Model Use License Agreement inherited from IndexTTS-2.5.
Türkçe özet
v2, Freya-TR-Eval'de kelime hata oranını %12,36'dan %1,32'ye indirdi; doğru okunan cümle oranı %43,5'ten %92,2'ye çıktı. v1'deki kelime karışmasının sebebi, taban modelin Türkçe token satırlarını hiç eğitmemiş olmasıydı. v2 tam olarak bu 1.530 satırı eğitiyor. gpt.pth artık v2. Eski sürüm v1/ klasöründe duruyor. Kullanım için yukarıdaki Quick start bölümüne bak; Türkçe metin işleme (turkish + tr_lower) şart.
Citation
@misc{li2026indextts25technicalreport,
title={IndexTTS 2.5 Technical Report},
author={Yunpei Li and others},
year={2026},
eprint={2601.03888},
archivePrefix={arXiv},
}
@misc{pamuk2026freyattstechnicalreport,
title={FreyaTTS Technical Report},
author={Ahmet Erdem Pamuk and Ömer Yentür and Ahmet Tunga Bayrak and Yavuz Alp Sencer Öztürk and Mustafa Yavuz},
year={2026},
eprint={2607.09530},
archivePrefix={arXiv},
}
Model tree for berrkkaayy/IndexTTS-2.5-Turkish-LoRA
Base model
IndexTeam/IndexTTS-2.5