CoolFace
Modelpublic

sharrnah/IndexTTS-2.5-German

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

IndexTTS 2.5 German – 310-hour community fine-tune

German GPT checkpoint for IndexTTS 2.5, fine-tuned on approximately 310 hours of German speech. It adds a trained German language-conditioning row while retaining the original zero-shot reference-voice conditioning.

This repository contains the German GPT checkpoint and its matching German text frontend. It does not duplicate the official codec, speech-to-mel model, vocoder, tokenizer, or other auxiliary weights. Download the official IndexTeam/IndexTTS-2.5 model separately.

Required upstream notice: Any modifications made to the original model in this Derivative Work are not endorsed, warranted, or guaranteed by the original right-holder of the original model, and the original right-holder disclaims all liability related to this Derivative Work.

Highlights

  • —German zero-shot voice cloning from one reference clip
  • —310.005 hours of German training audio
  • —105,616 source utterances and 211,226 training pairs
  • —balanced MLS, HUI Clean, and Emilia-YODAS mixture
  • —single-generation inference (num_beams=1), with no best-of reranking
  • —German numbers, dates, times, currency, units, and abbreviations are normalized
  • —input is lowercased to match training; this is important for pronunciation
  • —selected checkpoint: optimizer step 16,000

Files

FilePurpose
gpt.pthMerged German GPT checkpoint; use this alongside the official base files
inference.pyRecommended command-line inference entry point
german_text.pyDependency-free German text normalization used during training
training_config.yamlTraining hyperparameters
evaluation_summary.jsonMachine-readable evaluation results
NOTICE.mdUpstream license notice and training-data attribution
LICENSEOriginal Bilibili Model Use License Agreement
SHA256SUMS.txtIntegrity hashes for released files

Requirements

Use the installation instructions from the official IndexTTS repository. This model repository intentionally does not redefine or pin the upstream runtime dependencies.

Quick start

Clone and prepare the official project, then download both sets of weights:

bash
git clone https://github.com/index-tts/index-tts.git
cd index-tts
uv sync --all-extras

uv run hf download IndexTeam/IndexTTS-2.5 --local-dir checkpoints
uv run hf download <YOUR-HF-USERNAME>/IndexTTS-2.5-German --local-dir german-model

Run the included German inference script from the official repository directory:

bash
uv run python german-model/inference.py \
  --base-model checkpoints \
  --prompt-audio /path/to/reference.wav \
  --text "Dazu kommen 3 Gigabyte Speicher." \
  --output output.wav

The frontend converts the example internally to dazu kommen drei gigabyte speicher.. Do not bypass german_text.prepare_german() unless your application performs identical normalization and lowercasing.

The checkpoint is loaded after the official base model with acceleration disabled, because an acceleration snapshot created before loading the fine-tune would keep using the original GPT weights.

Python integration

The essential integration is:

python
from pathlib import Path

from indextts.infer_v2_5 import IndexTTS2
from indextts.utils.checkpoint import load_checkpoint
from german_text import prepare_german

base = Path("checkpoints")
tts = IndexTTS2(
    cfg_path=str(base / "config.yaml"),
    model_dir=str(base),
    use_bf16=True,
    use_accel=False,
    use_qwen_emo=False,
)
load_checkpoint(tts.gpt, "german-model/gpt.pth")
tts.gpt.eval()

tts.infer(
    spk_audio_prompt="reference.wav",
    text=prepare_german("Heute sind es 23 Grad."),
    lang="de",
    output_path="output.wav",
    text_normalization=False,
    num_beams=1,
    temperature=0.7,
    top_p=0.8,
    top_k=30,
    repetition_penalty=10.0,
)

The stock IndexTTS-2.5 UI does not expose this new German frontend automatically. Applications that call IndexTTS2.infer() directly must use prepare_german() first and pass text_normalization=False.

Training

The fine-tune started from the official IndexTTS-2.5 base checkpoint, not from an earlier German model.

SourceSelected hoursUtterancesSpeakers
Multilingual LibriSpeech, German train150.00338,782175
HUI-Audio-Corpus-German Clean140.00158,390112
Emilia-YODAS German, filtered subset20.0018,444645
Total310.005105,616—

The HUI contribution was speaker-balanced. Bernd Ungerer contributed 18.198 hours / 7,075 clips, less than 6% of the complete mixture. Speaker projection and the emotion path were preserved/frozen. LoRA rank 64 / alpha 128 was applied to all 24 GPT layers; text embeddings and output heads were trained. The merged release checkpoint is directly loadable by IndexTTS.

Evaluation

Three late checkpoints were compared with 30 fixed German sentences and two held-out reference speakers. Every checkpoint received one generation per text and speaker with the same seed. Whisper Small was used only as a consistent ASR evaluator.

CheckpointWord editsWordsWER
16,000 (released)234305.35%
19,000254305.81%
19,803264306.05%

For the released checkpoint, 48/60 transcripts were word-perfect. Category WER: simple sentences 1.49%, questions 0%, punctuation 0%, targeted German sounds 5.77%, compounds 6.25%, names 6.67%, and numeric/date forms 15.62%.

A targeted follow-up on “Dazu kommen 3 Gigabyte Speicher.” produced the complete sentence with both held-out voices at step 16,000. This does not guarantee identical results with every reference clip or seed.

Sample

Text: “Der große fröhliche Bär trägt einen grünen Regenschirm.”

Listen to the included German voice-cloning sample <audio controls><source src="https://huggingface.co/sharrnah/IndexTTS-2.5-German/resolve/main/examples/germanvoiceclone_sample.wav" type="audio/wav"></audio>

Limitations

  • —This is a community fine-tune, not an official IndexTeam/Bilibili release.
  • —It is substantially more intelligible in German, but pronunciation is not perfect.
  • —Numbers, dates, names, long compounds, and dense consonant clusters remain harder.
  • —Quality and word omissions can depend on the reference clip and sampling seed.
  • —The ASR metric includes recognition and text-normalization errors and is not a substitute for human listening tests.
  • —This release was evaluated with the included frontend and one-generation settings; other settings can change the results.
  • —Voice cloning requires permission from the person whose voice is used. Do not use the model for impersonation, deception, or privacy violations.

License and data provenance

This checkpoint is a Derivative Work of IndexTTS-2.5 and is distributed under the Bilibili Model Use License Agreement. Read it before using or redistributing the model; it contains usage restrictions, downstream obligations, and thresholds that require a separate license.

Training-data details and attributions are recorded in NOTICE.md. In particular, the official HUI download page does not state a separate license for the distributed audio. The public uploader must independently verify that the intended distribution satisfies all data and recording rights.

Citation

Please cite the original IndexTTS-2.5 technical report:

bibtex
@misc{li2026indextts25technicalreport,
  title        = {IndexTTS 2.5 Technical Report},
  author       = {Yunpei Li and Xun Zhou and Jinchao Wang and Lu Wang and
                  Yong Wu and Siyi Zhou and Yiquan Zhou and Yining Wang and
                  Yaogen Yang and Zhetao Hu and Jiacheng Xu and Bin Xia and
                  Jingchen Shu},
  year         = {2026},
  eprint       = {2601.03888},
  archivePrefix= {arXiv},
  primaryClass = {cs.SD},
  url          = {https://arxiv.org/abs/2601.03888}
}