Views
No views yet
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.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.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.--omegacfg_path .../F5TTS_Base.yaml.| 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) |
text_ids (int32). For German, a plain
character → vocab-index mapping is sufficient (jieba/pinyin segmentation is not required).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.F5_Transformer for N steps (default 32), feeding the step index into time_step.1 and
the running noise/denoised back in.F5_Decode(denoised, ref_signal_len) → int16 audio @ 24 kHz.F5-TTS-ONNX-Inference.py in the
DakeQQ/F5-TTS-ONNX repo.faster-whisper large-v3: language de, confidence 1.00,
exact target transcript.hvoss-techfak/F5-TTS-German
and inherit its CC-BY-NC-4.0 (non-commercial) license.hvoss-techfak/F5-TTS-German checkpoint.