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...
Fuente del modelo
- Tipo
- Other
- Tamaño del archivo
- 59,6 MB–1,23 GB
- Modelo base
- hvoss-techfak/F5-TTS-German
- Versión
- vF5 Decode
- Actualizado
- 26 oct 2026
- Fuente
- Hugging Face
Descripción de la fuente
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):
AttnProcessornow honorspe_attn_head— for v0 checkpoints RoPE is applied to the first head only, not all heads.TextEmbeddingnow honorsmask_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)
- 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). - Load the reference voice clip as 24 kHz mono int16.
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.- Loop
F5_Transformerfor N steps (default 32), feeding the step index intotime_step.1and the runningnoise/denoisedback in. 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
- Model weights derive from
hvoss-techfak/F5-TTS-Germanand inherit its CC-BY-NC-4.0 (non-commercial) license. - Base architecture: F5-TTS (SWivid et al.).
- ONNX export tooling: DakeQQ/F5-TTS-ONNX.
If you use this, please credit the original hvoss-techfak/F5-TTS-German checkpoint.
Fuentes
1 fuente
Fuentes
1 fuenteVerificado 26 oct
Download files
Artefactos del modelo
3 artefactos
Artefactos del modelo
3 artefactosExtractos de fuentes
2 extractos
Extractos de fuentes
2 extractos--- license: cc-by-nc-4.0 language: - de base_model: - hvoss-techfak/F5-TTS-German pipeline_tag: text-to-speech tags: - f5-tts - text-to-speech - tts - onnx - onnxruntime - german - voice-cloning --- # F5-TTS-German — ONNX Pure-**ONNX** export of the German F5-TTS voice-cloning model [`hvoss-techfak/F5-TTS-German`](https://huggingface.co/hvoss-techfak/F5-TTS-German), runnable with plain [ONNX Runtime](https://onnxruntime.ai/) — **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](https://github.com/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](https://github.com/DakeQQ/F5-TTS-ONNX/pull/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_s...
Source context: 0 downloads · 1 likes · Pipeline text-to-speech · Library f5-tts · Repo nibor1896/F5-TTS-German-ONNX
