Georgian F5-TTS

A Georgian (ka) reference-conditioned text-to-speech and zero-shot voice-cloning model adapted from F5TTS v1 Base.

The model was trained on a carefully filtered version of the Georgian training split of Mozilla Common Voice Scripted Speech 26.0 using a compact 49-token Georgian character vocabulary.

The released checkpoint contains EMA inference weights from update 34,520.

Highlights

  • Georgian F5-TTS based on F5TTS_v1_Base
  • 49-token Georgian character vocabulary
  • 98,436 final training utterances
  • 145.391 hours of training speech
  • 134 training speakers
  • all 134 training speakers retained after preprocessing
  • virtual speaker balancing without deleting valid recordings
  • 20 training epochs
  • EMA checkpoint exported to Safetensors
  • 24 kHz waveform generation with Vocos
  • reference-conditioned zero-shot voice cloning
  • 98% ECAPA-TDNN Top-1 reference-speaker retrieval accuracy in a 100-way held-out evaluation
  • 100% ECAPA-TDNN Top-5 accuracy
  • companion CLI + Gradio interface with personas, reference-based styles, pauses and multi-speaker dialogue

Model summary

Item Value
Architecture F5TTS v1 Base
Base checkpoint SWivid/F5-TTS / F5TTS_v1_Base
Language Georgian (ka)
Writing system Mkhedruli
Tokenizer Character-level
Vocabulary size 49 tokens
Final training utterances 98,436
Training speakers 134
Training duration 145.391 hours
Training epochs 20
Learning rate 2e-5
Final update 34,520
Exported weights EMA
Model format Safetensors
Parameters 335,818,884
Sample rate 24 kHz
Mel bins 100
Hop length 256
Vocoder Vocos
Recommended NFE steps 32
Recommended CFG strength 2.0
Recommended sway coefficient -1.0
Recommended speed 1.0

Files

README.md
config.json
georgian_f5_34520.safetensors
georgian_tts.py
vocab.txt

The interface creates personas/ and outputs/ locally. These folders should normally remain private and are not required in the model repository.

Download

Option 1 - Hugging Face CLI (recommended)

Install the Hugging Face CLI:

pip install -U huggingface_hub

Download the complete model repository:

hf download tabluka90/georgian-f5-tts \
  --local-dir georgian-f5-tts

Enter the downloaded directory:

cd georgian-f5-tts

The folder should contain:

README.md
config.json
georgian_f5_34520.safetensors
georgian_tts.py
vocab.txt

Install runtime dependencies:

pip install f5-tts gradio soundfile numpy

FFmpeg is also required.

For example, with Conda:

conda install -c conda-forge ffmpeg

Check the available commands:

python3 georgian_tts.py --help

Verify that the model files are detected:

python3 georgian_tts.py repo-info

Start the web interface:

python3 georgian_tts.py ui

Then open:

http://localhost:7860

Option 2 - Git clone

You can also clone the model repository:

git clone https://huggingface.co/tabluka90/georgian-f5-tts
cd georgian-f5-tts

Then install dependencies:

pip install f5-tts gradio soundfile numpy

Check the CLI:

python3 georgian_tts.py --help

Usage

Direct inference

from f5_tts.api import F5TTS

tts = F5TTS(
    model="F5TTS_v1_Base",
    ckpt_file="georgian_f5_34520.safetensors",
    vocab_file="vocab.txt",
    device="cuda:0",
    use_ema=True,
)

tts.infer(
    ref_file="reference.wav",
    ref_text="แƒ–แƒฃแƒกแƒขแƒแƒ“ แƒ˜แƒก แƒขแƒ”แƒฅแƒกแƒขแƒ˜, แƒ แƒแƒช แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒจแƒ˜ แƒ˜แƒกแƒ›แƒ˜แƒก.",
    gen_text="แƒ’แƒแƒ›แƒแƒ แƒฏแƒแƒ‘แƒ. แƒ”แƒก แƒแƒ แƒ˜แƒก แƒฅแƒแƒ แƒ—แƒฃแƒšแƒ˜ แƒ›แƒ”แƒขแƒงแƒ•แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒœแƒ—แƒ”แƒ–แƒ˜แƒก แƒ’แƒแƒ›แƒแƒชแƒ“แƒ.",
    nfe_step=32,
    cfg_strength=2.0,
    sway_sampling_coef=-1.0,
    speed=1.0,
    file_wave="output.wav",
)

For CPU inference use:

device="cpu"

GPU inference is recommended.

Reference audio

For best results:

  • use approximately 8-10 seconds of clean speech;
  • use one speaker only;
  • avoid music and strong background noise;
  • avoid long silences;
  • provide the exact transcript of the reference recording.

The companion interface rejects references longer than approximately 11.5 seconds.

A mismatched reference audio/transcript pair can cause speech to become too fast, omit words or become unstable.

Personas

Save a reference voice once:

python3 georgian_tts.py persona-save mei \
  --ref mei.wav \
  --ref-text "แƒ–แƒฃแƒกแƒขแƒแƒ“ แƒ˜แƒก แƒขแƒ”แƒฅแƒกแƒขแƒ˜, แƒ แƒแƒช แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒจแƒ˜ แƒ˜แƒกแƒ›แƒ˜แƒก."

Generate with the saved persona:

python3 georgian_tts.py speak \
  --persona mei \
  --text "แƒ’แƒแƒ›แƒแƒ แƒฏแƒแƒ‘แƒ. แƒ แƒแƒ’แƒแƒ  แƒฎแƒแƒ  แƒ“แƒฆแƒ”แƒก?" \
  --output output.wav

List saved personas:

python3 georgian_tts.py persona-list

Show persona information:

python3 georgian_tts.py persona-show mei

Dialogue

Saved personas can be used directly as speaker labels:

mei: แƒ’แƒแƒ›แƒแƒ แƒฏแƒแƒ‘แƒ. [pause=0.5] แƒ แƒแƒ’แƒแƒ  แƒฎแƒแƒ ?

luka: แƒ™แƒแƒ แƒ’แƒแƒ“ แƒ•แƒแƒ . แƒจแƒ”แƒœ แƒ แƒแƒ’แƒแƒ  แƒฎแƒแƒ ?

mei: แƒ›แƒ”แƒช แƒ™แƒแƒ แƒ’แƒแƒ“ แƒ•แƒแƒ .

The interface automatically switches reference voices and produces one output WAV.

Control tags

Supported controls include:

[pause=0.5]
[speed=0.90]
[style=question]
[persona=mei]

These tags are parsed by the wrapper and are not passed to the Georgian tokenizer.

Reference-based styles

Additional reference deliveries can be attached to a persona:

python3 georgian_tts.py style-add mei question \
  --ref question.wav \
  --ref-text "แƒ›แƒแƒ แƒ—แƒšแƒ แƒฎแƒ•แƒแƒš แƒ›แƒแƒ“แƒ˜แƒฎแƒแƒ ?"

Then:

mei: [style=question] แƒ›แƒแƒ แƒ—แƒšแƒ แƒฎแƒ•แƒแƒš แƒ›แƒแƒ“แƒ˜แƒฎแƒแƒ ?

Names such as question, warm, calm or serious are user-defined aliases for alternative reference recordings. They are not learned emotion or style tokens.

Gradio UI

Start the interface:

python3 georgian_tts.py ui

Open:

http://localhost:7860

For a remote server:

ssh -L 7860:localhost:7860 USER@SERVER

Then open http://localhost:7860 on the local machine.

Training data

Training data came from Mozilla Common Voice Scripted Speech 26.0 - Georgian (ka).

The original local training split contained:

98,484 recordings
134 speakers
~145.44 hours

A conservative preprocessing pipeline removed only clearly problematic recordings and transcripts.

Final training corpus:

98,436 recordings
145.391 hours
134 speakers

Therefore:

48 recordings removed
134 / 134 training speakers retained

Audio-quality rejection criteria included:

  • unreadable or decoding-failed audio;
  • RMS below -60 dBFS;
  • more than 95% near-silence;
  • clipping ratio above 0.1%.

The final text-validation stage also rejected rows containing characters that could not be represented safely by the finalized Georgian vocabulary.

No automatic rewriting of Georgian transcript content was used.

Speaker balancing

The training split was strongly speaker-imbalanced. The largest speaker contributed approximately:

42,749 recordings
59.42 hours

Instead of deleting valid recordings, virtual repeat-based balancing was used:

alpha:          0.5
maximum repeat: 2x

This produced:

154,123 virtual training examples

Every original training recording remained represented at least once.

Evaluation

The model was evaluated for speaker preservation on held-out Georgian speakers.

Evaluation design

10 held-out Common Voice test speakers
10 unseen target sentences per speaker
100 generated utterances
100 candidate reference speakers
1% random Top-1 chance level

The 100-speaker candidate pool contained:

10 target speakers
90 additional Georgian distractor speakers

The target speakers were not part of the training-speaker set.

Each generated utterance used a held-out reference speaker and target text distinct from the reference transcript.

Two independent pretrained speaker encoders were used:

  • SpeechBrain ECAPA-TDNN (spkrec-ecapa-voxceleb)
  • Microsoft WavLM-Base-Plus for Speaker Verification

100-way speaker-preservation results

Metric ECAPA-TDNN WavLM-Base-Plus-SV
Mean target cosine 0.6622 ยฑ 0.1003 0.9547 ยฑ 0.0245
Speaker-level 95% CI [0.6096, 0.7057] [0.9405, 0.9649]
Mean closest-impostor cosine 0.3915 0.9500
Mean target-impostor margin +0.2707 +0.0047
Positive-margin samples 98% 64%
Top-1 accuracy 98% 64%
Top-5 accuracy 100% 85%
Mean target rank 1.020 2.950
Maximum target rank 2 18
Mean Reciprocal Rank 0.9900 0.7347

Under ECAPA-TDNN, the intended reference speaker ranked first for 98 of 100 generated utterances and never ranked below second place among 100 candidates.

The difference between ECAPA-TDNN and WavLM demonstrates that absolute speaker-similarity values are encoder-dependent. A single cosine threshold should therefore not be interpreted as a universal measure of voice quality.

Limitations

  • Intended primarily for modern Georgian Mkhedruli text.
  • Synthesis quality and speaker similarity depend strongly on reference quality.
  • Reference audio and transcript must match closely.
  • Named styles are reference recordings, not learned emotion classes.
  • Long text should preferably be split into natural sentences or paragraphs.
  • Generated speech may contain pronunciation, repetition, omission or prosody errors.
  • Speaker-embedding results measure preservation under particular pretrained encoders and should not be treated as identity verification.

Responsible use

Only use reference voices you have permission to use.

Do not use generated speech for fraud, deceptive impersonation, harassment or misleading attribution.

Saved persona directories may contain identifiable reference recordings and should be treated as private data unless the speaker has agreed to publication.

License

The model was initialized from official F5-TTS pretrained weights distributed under CC-BY-NC-4.0.

Mozilla Common Voice Georgian 26.0 is distributed under CC0-1.0.

The upstream F5-TTS source code is MIT licensed.

Citation

If you use this model in research, please cite:

@misc{tabagari2026georgianf5tts,
  title={Georgian F5-TTS: Reference-Conditioned Georgian Text-to-Speech and Voice Cloning},
  author={Luka Tabagari},
  year={2026},
  url={https://huggingface.co/tabluka90/georgian-f5-tts}
}

All computations were done on MICM HPC SERVER

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

Model tree for tabluka90/georgian-f5-tts

Base model

SWivid/F5-TTS
Finetuned
(147)
this model