Experimental Kalenjin text-to-speech model fine-tuned from F5-TTS.
This is a research proof of concept, not a production-quality speech model. It
was trained to explore whether the available Kalenjin speech data can support a
usable first public Kalenjin TTS demo.
Fine-tuning data: scripted Kalenjin subset from Anv-ke/Kalenjin
Training subset: speakers with at least about 1 hour of scripted audio
Approximate F5-prepared training set: 26,864 samples
Exported checkpoint: non-EMA model_state_dict
Exported checkpoint update: 19,980
Tokenizer/vocab: custom F5-TTS vocab from the fine-tuning run
Vocoder used for inference: Vocos 24 kHz
Intended Use
This model is intended for:
Kalenjin speech synthesis research
proof-of-concept demos
low-resource language experimentation
community feedback and dataset/model iteration
It is not intended for high-stakes, production, identity-sensitive, or
misleading voice generation use.
Limitations
Pronunciation and prosody can be wrong.
Short text can sound less natural than longer sentences.
The model may skip words or speak too quickly for some prompts.
Speaker consistency depends on the reference audio used at inference time.
The training data was released for ASR and related research, not specifically
curated as a polished TTS dataset.
Files
model_last.safetensors: exported non-EMA model weights
vocab.txt: custom vocab used by the fine-tuned model
export_info.json: export metadata from the Modal training/export pipeline
Reference audio is not included in this repo. F5-TTS inference requires a
reference audio clip and exact reference transcript. The live demo uses one
curated internal reference clip.
Local Inference
Install F5-TTS:
pip install f5-tts soundfile
Example:
bash
1f5-tts_infer-cli \2 --model F5TTS_v1_Base \3 --ckpt_file model_last.safetensors \4 --vocab_file vocab.txt \5 --ref_audio path/to/reference.wav \6 --ref_text "Exact text spoken in the reference audio."\7 --gen_text "Kalenjin text to synthesize."\8 --output_dir outputs \9 --output_file kalenjin_tts.wav \10 --nfe_step 32\11 --cfg_strength 2.0\12 --speed 0.8
The local wrapper used during development is available in the project code:
6_local_f5tts_inference.py
Dataset and Acknowledgements
This experiment depends on data work from Africa Next Voices and the
Anv-ke/Kalenjin dataset. Thanks to the Africa Next Voices team and the people
who contributed to the Kalenjin speech data effort.
Disclaimer
This model is experimental. Generated speech may be inaccurate, unclear, or
unnatural. Please treat it as a research artifact and community demo.