F5-TTS-German β€” ONNX

Pure-ONNX export of the German F5-TTS voice-cloning model hvoss-techfak/F5-TTS-German, runnable with plain ONNX Runtime β€” no PyTorch, no Python required at inference time. This makes it easy to embed German text-to-speech in native applications (C#, C++, …) with only the ONNX Runtime dependency.

Exported with DakeQQ/F5-TTS-ONNX.

Why this export exists

hvoss-techfak/F5-TTS-German is a fine-tune of the F5TTS_Base (v0) architecture (text_mask_padding=False, pe_attn_head=1). DakeQQ's exporter was hard-wired for F5TTS_v1_Base, so exporting a v0 checkpoint produced fluent-but-wrong "word-salad" in the target language.

The root cause and fix were contributed upstream in DakeQQ/F5-TTS-ONNX#74 (merged):

  • AttnProcessor now honors pe_attn_head β€” for v0 checkpoints RoPE is applied to the first head only, not all heads.
  • TextEmbedding now honors mask_padding β€” v0 checkpoints must not zero out padding positions.

These files were exported from the fixed exporter with --omegacfg_path .../F5TTS_Base.yaml.

Files

File Size Role
F5_Preprocess.onnx ~65 MB Reference audio (int16) + text ids β†’ mel/text conditioning, RoPE tables, initial noise
F5_Transformer.onnx ~1.26 GB One denoising step of the DiT (run in an NFE loop, default 32 steps)
F5_Decode.onnx ~60 MB Denoised mel β†’ 24 kHz int16 waveform (vocoder + ISTFT)
vocab.txt β€” Character/token vocabulary (unchanged from the source checkpoint)

Inference (pipeline order)

  1. Tokenize the reference text + target text to text_ids (int32). For German, a plain character β†’ vocab-index mapping is sufficient (jieba/pinyin segmentation is not required).
  2. Load the reference voice clip as 24 kHz mono int16.
  3. F5_Preprocess β†’ noise, rope_cos_q, rope_sin_q, rope_cos_k, rope_sin_k, cat_mel_text, cat_mel_text_drop, ref_signal_len.
  4. Loop F5_Transformer for N steps (default 32), feeding the step index into time_step.1 and the running noise/denoised back in.
  5. F5_Decode(denoised, ref_signal_len) β†’ int16 audio @ 24 kHz.

A reference implementation is F5-TTS-ONNX-Inference.py in the DakeQQ/F5-TTS-ONNX repo.

Verification

The exported models were verified end-to-end (pure ONNX Runtime) on an umlaut-heavy German sentence and transcribed with faster-whisper large-v3: language de, confidence 1.00, exact target transcript.

License & attribution

If you use this, please credit the original hvoss-techfak/F5-TTS-German checkpoint.

Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for nibor1896/F5-TTS-German-ONNX

Base model

SWivid/F5-TTS
Quantized
(1)
this model