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.

Sentencev1 (Whisper heard)v1v2
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.py does 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},
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for berrkkaayy/IndexTTS-2.5-Turkish-LoRA

Finetuned
(7)
this model

Dataset used to train berrkkaayy/IndexTTS-2.5-Turkish-LoRA

Papers for berrkkaayy/IndexTTS-2.5-Turkish-LoRA