F5-TTS Romanian
Fine-tuned F5-TTS v1 Base (335M params, 22-layer DiT) for Romanian text-to-speech. 5.1% WER across 5 voices on 18 test sentences, measured via Whisper large-v3.
Demo & Audio Samples | Source Code
Audio Samples
Costel (male, literary narration) — 5.2% WER
"Copiii se jucau fericiți in gradina plina de flori colorate."
Georgel (male, solemn delivery) — 2.5% WER
"Ștefan cel Mare a construit manastiri și cetați in intreaga Moldova."
Dorel (male, conversational) — 5.2% WER
"Romania este o țara frumoasa cu munți inalți și campii intinse."
Marioara (female, expressive) — 6.3% WER
"Buna ziua, ma numesc Alexandru și sunt din București."
Lacramioara (female, broadcast) — 6.4% WER
"Profesorul a explicat cu rabdare lecția dificila de matematica."
Quick Start
Installation
pip install f5-tts
Download
# Download the full model
huggingface-cli download eduardem/f5-tts-romanian --local-dir f5-tts-romanian
# Or download just the checkpoint
python -c "
from huggingface_hub import hf_hub_download
hf_hub_download('eduardem/f5-tts-romanian', 'model_235000.pt', local_dir='.')
hf_hub_download('eduardem/f5-tts-romanian', 'vocab.txt', local_dir='.')
"
Inference
import soundfile as sf
from f5_tts.api import F5TTS
# Load model
tts = F5TTS(
model_type="F5TTS",
ckpt_file="model_235000.pt",
vocab_file="vocab.txt",
)
# Generate speech using one of the included reference voices
wav, sr, _ = tts.infer(
ref_file="reference_voices/costel.wav",
ref_text="Și totuși mă văd obligat să vă mai povestesc încă ceva.",
gen_text="Romania este o țara frumoasa cu munți inalți și campii intinse.",
nfe_step=64,
cfg_strength=2.0,
sway_sampling_coef=-1.0,
seed=42,
)
sf.write("output.wav", wav, sr)
Voice Cloning
Use any 5-15 second Romanian audio clip as a reference:
wav, sr, _ = tts.infer(
ref_file="your_reference.wav",
ref_text="Transcription of the reference audio.",
gen_text="Text you want the model to speak.",
nfe_step=64,
cfg_strength=2.0,
sway_sampling_coef=-1.0,
seed=42,
)
sf.write("cloned_output.wav", wav, sr)
Generation Parameters
| Parameter | Value | Description |
|---|---|---|
nfe_step |
64 | Number of function evaluations (ODE solver steps). Higher = better quality, slower. |
cfg_strength |
2.0 | Classifier-free guidance strength. Controls adherence to text. |
sway_sampling_coef |
-1.0 | Sway sampling coefficient for noise schedule. |
seed |
varies | Random seed. Different seeds produce different prosody/intonation. |
The F5-TTS default ODE method is midpoint. The generation_settings.json file included in this repo contains the exact seed and parameters used for every showcase sample, enabling full reproducibility.
Voices
| Name | WER | Perfect | Description |
|---|---|---|---|
| Costel | 5.2% | 13/18 | Male, literary narration style (20k training clips) |
| Georgel | 2.5% | 16/18 | Male, solemn measured delivery (16k training clips) |
| Dorel | 5.2% | 13/18 | Male, conversational style (3k training clips) |
| Marioara | 6.3% | 11/18 | Female, expressive storytelling (19k training clips) |
| Lacramioara | 6.4% | 11/18 | Female, clear broadcast voice (3.7k training clips) |
Reference audio for each voice is included in reference_voices/.
Training
Dataset
eduardem/romanian-speech-v1 — 48,401 clips (~112 hours), 5 speakers, 24kHz mono WAV.
Infrastructure
RunPod RTX 5000 Ada (32GB VRAM), PyTorch 2.4.1+cu124, bf16 precision.
Configuration
| Parameter | Value |
|---|---|
| Base model | F5-TTS v1 Base (335M, 22-layer DiT) |
| Batch size | 4,000 frames/GPU |
| Grad accumulation | 4 |
| Learning rate | 7.5e-5 |
| Warmup | 2,000 steps |
| Epochs | 100 (~235K updates) |
| Tokenizer | Custom, 2,550 tokens (extended with Romanian diacritics) |
Critical Details
- Vocab extension: Added 5 uppercase Romanian diacritics (Ă, Ș, Ț, „, ") to the default vocab. The trainer was patched to resize embedding weights when vocab size differs from checkpoint.
- Tokenizer type: Must use
custom(notchar) to match the extended vocab. - Full fine-tune: All 335M parameters trained (no LoRA/adapter).
Evaluation
WER measured via Whisper large-v3 on Romanian test sentences. Early checkpoints evaluated on 15 sentences with a single voice. Final evaluation: 18 sentences across all 5 voices with optimized generation parameters (seed search, midpoint ODE, 64 NFE steps).
| Step | WER | Notes |
|---|---|---|
| 15,000 | 17.4% | First checkpoint |
| 75,000 | 13.0% | Early best |
| 150,000 | 13.9% | |
| 195,000 | 12.3% | Best single-speaker |
| 230,000 | 11.8% | Best raw single-speaker |
| 235,000 | 5.1% | Final: 5 voices, optimized generation |
Model Files
| File | Size | Description |
|---|---|---|
model_235000.pt |
5.0 GB | Fine-tuned checkpoint (step 235,000) |
vocab.txt |
12 KB | Extended vocabulary (2,550 tokens) |
generation_settings.json |
88 KB | Exact parameters for every showcase sample |
reference_voices/ |
~2 MB | 5 reference audio clips (one per voice) |
samples/ |
~45 MB | 90 generated samples (18 sentences x 5 voices) |
All Samples with Generation Settings
Every sample below can be reproduced exactly using the listed parameters. All samples use cfg_strength=2.0, sway_sampling_coef=-1.0, and pad_trick=true. The full generation_settings.json file is included in this repo.
Costel
1. Țara românească și-a păstrat tradițiile străvechi de-a lungul secolelor.
ODE: midpoint | NFE: 64 | Seed: 123 | WER: 0%
2. Ștefan cel Mare a construit mănăstiri și cetăți în întreaga Moldovă.
ODE: midpoint | NFE: 64 | Seed: 1234 | WER: 9.1%
3. În această dimineață, bătrânul pescar și-a pregătit undițele pentru pescuit.
ODE: midpoint | NFE: 64 | Seed: 123 | WER: 0%
4. Fișierele și rețelele informatice sunt esențiale în științele moderne.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 0%
5. Așezările țărănești din câmpia Bărăganului sunt împrăștiate printre lanuri.
ODE: midpoint | NFE: 64 | Seed: 123 | WER: 0%
6. Bună ziua, mă numesc Alexandru și sunt din București.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 0%
7. Bună ziua, mă numesc Alexandra și sunt din Cluj-Napoca.
ODE: midpoint | NFE: 64 | Seed: 123 | WER: 0%
8. România este o țară frumoasă cu munți înalți și câmpii întinse.
ODE: midpoint | NFE: 64 | Seed: 2024 | WER: 0%
9. Copiii se jucau fericiți în grădina plină de flori colorate.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 0%
10. Profesorul a explicat cu răbdare lecția dificilă de matematică.
ODE: midpoint | NFE: 64 | Seed: 123 | WER: 0%
11. Această carte reprezintă o contribuție importantă la literatura contemporană.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 0%
12. S-a suit capra pe piatră, piatra a crăpat în patru, crăpai-ar capul caprei negre în patru cum a crăpat și piatra în patru.
ODE: midpoint | NFE: 64 | Seed: 7777 | WER: 8.7%
13. Un vultur stă pe pisc cu un pix în plisc.
ODE: midpoint | NFE: 64 | Seed: 777 | WER: 0%
14. Sinucisul asasin Silică se suise simandicos sus pe scândura scăriței.
ODE: midpoint | NFE: 64 | Seed: 123 | WER: 20.0%
15. Să sugi sucul socului sacru susține sasul sesios.
ODE: midpoint | NFE: 64 | Seed: 12345 | WER: 12.5%
16. Bucură-te de bucuria Bucuroaiei cum s-a bucurat și ea de bucuria lui Bucurel când a venit de la București.
ODE: midpoint | NFE: 64 | Seed: 777 | WER: 0%
17. Ce-ntâmplare întâmplăreață s-a-ntâmplat în tâmplărie, un tâmplar din întâmplare s-a lovit cu tâmpla-n cap.
ODE: midpoint | NFE: 64 | Seed: 7777 | WER: 42.9%
18. Cărămidarul cărămidărește cu cărămida cărămidarului din cărămidărie.
ODE: midpoint | NFE: 64 | Seed: 123 | WER: 0%
Georgel
1. Țara românească și-a păstrat tradițiile străvechi de-a lungul secolelor.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 0%
2. Ștefan cel Mare a construit mănăstiri și cetăți în întreaga Moldovă.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 0%
3. În această dimineață, bătrânul pescar și-a pregătit undițele pentru pescuit.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 0%
4. Fișierele și rețelele informatice sunt esențiale în științele moderne.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 0%
5. Așezările țărănești din câmpia Bărăganului sunt împrăștiate printre lanuri.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 0%
6. Bună ziua, mă numesc Alexandru și sunt din București.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 0%
7. Bună ziua, mă numesc Alexandra și sunt din Cluj-Napoca.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 0%
8. România este o țară frumoasă cu munți înalți și câmpii întinse.
ODE: midpoint | NFE: 64 | Seed: 123 | WER: 0%
9. Copiii se jucau fericiți în grădina plină de flori colorate.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 0%
10. Profesorul a explicat cu răbdare lecția dificilă de matematică.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 0%
11. Această carte reprezintă o contribuție importantă la literatura contemporană.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 0%
12. S-a suit capra pe piatră, piatra a crăpat în patru, crăpai-ar capul caprei negre în patru cum a crăpat și piatra în patru.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 8.7%
13. Un vultur stă pe pisc cu un pix în plisc.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 0%
14. Sinucisul asasin Silică se suise simandicos sus pe scândura scăriței.
ODE: midpoint | NFE: 64 | Seed: 777 | WER: 0%
15. Să sugi sucul socului sacru susține sasul sesios.
ODE: midpoint | NFE: 64 | Seed: 5678 | WER: 0%
16. Bucură-te de bucuria Bucuroaiei cum s-a bucurat și ea de bucuria lui Bucurel când a venit de la București.
ODE: midpoint | NFE: 64 | Seed: 777 | WER: 0%
17. Ce-ntâmplare întâmplăreață s-a-ntâmplat în tâmplărie, un tâmplar din întâmplare s-a lovit cu tâmpla-n cap.
ODE: midpoint | NFE: 64 | Seed: 777 | WER: 35.7%
18. Cărămidarul cărămidărește cu cărămida cărămidarului din cărămidărie.
ODE: midpoint | NFE: 64 | Seed: 123 | WER: 0%
Dorel
1. Țara românească și-a păstrat tradițiile străvechi de-a lungul secolelor.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 0%
2. Ștefan cel Mare a construit mănăstiri și cetăți în întreaga Moldovă.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 9.1%
3. În această dimineață, bătrânul pescar și-a pregătit undițele pentru pescuit.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 0%
4. Fișierele și rețelele informatice sunt esențiale în științele moderne.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 0%
5. Așezările țărănești din câmpia Bărăganului sunt împrăștiate printre lanuri.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 0%
6. Bună ziua, mă numesc Alexandru și sunt din București.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 0%
7. Bună ziua, mă numesc Alexandra și sunt din Cluj-Napoca.
ODE: midpoint | NFE: 64 | Seed: 9999 | WER: 0%
8. România este o țară frumoasă cu munți înalți și câmpii întinse.
ODE: midpoint | NFE: 64 | Seed: 777 | WER: 0%
9. Copiii se jucau fericiți în grădina plină de flori colorate.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 0%
10. Profesorul a explicat cu răbdare lecția dificilă de matematică.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 0%
11. Această carte reprezintă o contribuție importantă la literatura contemporană.
ODE: midpoint | NFE: 64 | Seed: 9999 | WER: 0%
12. S-a suit capra pe piatră, piatra a crăpat în patru, crăpai-ar capul caprei negre în patru cum a crăpat și piatra în patru.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 8.7%
13. Un vultur stă pe pisc cu un pix în plisc.
ODE: midpoint | NFE: 64 | Seed: 22222 | WER: 0%
14. Sinucisul asasin Silică se suise simandicos sus pe scândura scăriței.
ODE: midpoint | NFE: 64 | Seed: 55555 | WER: 20.0%
15. Să sugi sucul socului sacru susține sasul sesios.
ODE: midpoint | NFE: 64 | Seed: 88888 | WER: 12.5%
16. Bucură-te de bucuria Bucuroaiei cum s-a bucurat și ea de bucuria lui Bucurel când a venit de la București.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 0%
17. Ce-ntâmplare întâmplăreață s-a-ntâmplat în tâmplărie, un tâmplar din întâmplare s-a lovit cu tâmpla-n cap.
ODE: midpoint | NFE: 64 | Seed: 5678 | WER: 42.9%
18. Cărămidarul cărămidărește cu cărămida cărămidarului din cărămidărie.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 0%
Marioara
1. Țara românească și-a păstrat tradițiile străvechi de-a lungul secolelor.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 11.1%
2. Ștefan cel Mare a construit mănăstiri și cetăți în întreaga Moldovă.
ODE: midpoint | NFE: 64 | Seed: 2024 | WER: 9.1%
3. În această dimineață, bătrânul pescar și-a pregătit undițele pentru pescuit.
ODE: midpoint | NFE: 64 | Seed: 66666 | WER: 0%
4. Fișierele și rețelele informatice sunt esențiale în științele moderne.
ODE: midpoint | NFE: 64 | Seed: 3141 | WER: 0%
5. Așezările țărănești din câmpia Bărăganului sunt împrăștiate printre lanuri.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 11.1%
6. Bună ziua, mă numesc Alexandru și sunt din București.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 0%
7. Bună ziua, mă numesc Alexandra și sunt din Cluj-Napoca.
ODE: midpoint | NFE: 64 | Seed: 123 | WER: 0%
8. România este o țară frumoasă cu munți înalți și câmpii întinse.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 9.1%
9. Copiii se jucau fericiți în grădina plină de flori colorate.
ODE: midpoint | NFE: 64 | Seed: 777 | WER: 0%
10. Profesorul a explicat cu răbdare lecția dificilă de matematică.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 0%
11. Această carte reprezintă o contribuție importantă la literatura contemporană.
ODE: midpoint | NFE: 64 | Seed: 777 | WER: 0%
12. S-a suit capra pe piatră, piatra a crăpat în patru, crăpai-ar capul caprei negre în patru cum a crăpat și piatra în patru.
ODE: midpoint | NFE: 64 | Seed: 12345 | WER: 13.0%
13. Un vultur stă pe pisc cu un pix în plisc.
ODE: midpoint | NFE: 64 | Seed: 1234 | WER: 0%
14. Sinucisul asasin Silică se suise simandicos sus pe scândura scăriței.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 10.0%
15. Să sugi sucul socului sacru susține sasul sesios.
ODE: midpoint | NFE: 64 | Seed: 7777 | WER: 0%
16. Bucură-te de bucuria Bucuroaiei cum s-a bucurat și ea de bucuria lui Bucurel când a venit de la București.
ODE: midpoint | NFE: 64 | Seed: 4242 | WER: 0%
17. Ce-ntâmplare întâmplăreață s-a-ntâmplat în tâmplărie, un tâmplar din întâmplare s-a lovit cu tâmpla-n cap.
ODE: midpoint | NFE: 64 | Seed: 1234 | WER: 50.0%
18. Cărămidarul cărămidărește cu cărămida cărămidarului din cărămidărie.
ODE: midpoint | NFE: 64 | Seed: 7777 | WER: 0%
Lacramioara
1. Țara românească și-a păstrat tradițiile străvechi de-a lungul secolelor.
ODE: midpoint | NFE: 64 | Seed: 44444 | WER: 0%
2. Ștefan cel Mare a construit mănăstiri și cetăți în întreaga Moldovă.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 9.1%
3. În această dimineață, bătrânul pescar și-a pregătit undițele pentru pescuit.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 0%
4. Fișierele și rețelele informatice sunt esențiale în științele moderne.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 0%
5. Așezările țărănești din câmpia Bărăganului sunt împrăștiate printre lanuri.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 0%
6. Bună ziua, mă numesc Alexandru și sunt din București.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 0%
7. Bună ziua, mă numesc Alexandra și sunt din Cluj-Napoca.
ODE: midpoint | NFE: 64 | Seed: 123 | WER: 0%
8. România este o țară frumoasă cu munți înalți și câmpii întinse.
ODE: midpoint | NFE: 64 | Seed: 2024 | WER: 0%
9. Copiii se jucau fericiți în grădina plină de flori colorate.
ODE: midpoint | NFE: 64 | Seed: 777 | WER: 0%
10. Profesorul a explicat cu răbdare lecția dificilă de matematică.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 0%
11. Această carte reprezintă o contribuție importantă la literatura contemporană.
ODE: midpoint | NFE: 64 | Seed: 42 | WER: 0%
12. S-a suit capra pe piatră, piatra a crăpat în patru, crăpai-ar capul caprei negre în patru cum a crăpat și piatra în patru.
ODE: midpoint | NFE: 64 | Seed: 88888 | WER: 26.1%
13. Un vultur stă pe pisc cu un pix în plisc.
ODE: midpoint | NFE: 64 | Seed: 3141 | WER: 10.0%
14. Sinucisul asasin Silică se suise simandicos sus pe scândura scăriței.
ODE: euler | NFE: 32 | Seed: 7777 | WER: 10.0%
15. Să sugi sucul socului sacru susține sasul sesios.
ODE: midpoint | NFE: 64 | Seed: 7777 | WER: 12.5%
16. Bucură-te de bucuria Bucuroaiei cum s-a bucurat și ea de bucuria lui Bucurel când a venit de la București.
ODE: midpoint | NFE: 64 | Seed: 123 | WER: 5.3%
17. Ce-ntâmplare întâmplăreață s-a-ntâmplat în tâmplărie, un tâmplar din întâmplare s-a lovit cu tâmpla-n cap.
ODE: midpoint | NFE: 64 | Seed: 66666 | WER: 42.9%
18. Cărămidarul cărămidărește cu cărămida cărămidarului din cărămidărie.
ODE: midpoint | NFE: 64 | Seed: 123 | WER: 0%
Known Issues
- Marioara: Occasionally prepends "Heri"/"Harry" to the beginning of generated speech. This is training data bleeding from the Harry Potter audiobook source material.
- Lacramioara: Occasionally prepends "Iara pe Chichi" to the beginning of generated speech. This is reference audio text leaking — the reference clip contains "iara pe Chirica".
- Both issues can often be avoided by trying different random seeds.
Limitations
- 5 voices only — voice cloning with unseen speakers may vary in quality.
- WER is measured via Whisper large-v3 transcription, which may itself introduce errors (e.g., expanding contractions, changing capitalization).
- The model inherits F5-TTS limitations including occasional word repetition or skipping on very long sentences.
- Non-commercial use only (CC BY-NC 4.0 from base model).
License
- Model weights: CC BY-NC 4.0 (inherited from F5-TTS base model)
- Training scripts: MIT
Attribution
- F5-TTS by Yushen Chen et al.
- Whisper by OpenAI (evaluation)
- Dataset: Romanian audiobooks and broadcasts, transcribed with Whisper large-v3
Citation
@misc{f5tts-romanian-2026,
title={F5-TTS Romanian: Fine-tuned F5-TTS for Romanian Text-to-Speech},
author={Eduard Moldoveanu},
year={2026},
url={https://huggingface.co/eduardem/f5-tts-romanian}
}
Links
- Downloads last month
- 38
Model tree for eduardem/f5-tts-romanian
Base model
SWivid/F5-TTS