Instructions to use tabluka90/georgian-f5-tts with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- F5-TTS
How to use tabluka90/georgian-f5-tts with F5-TTS:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
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
Model tree for tabluka90/georgian-f5-tts
Base model
SWivid/F5-TTS