One of the first open-weights TTS systems for this language.
Of the world's ~7,000 languages, fewer than 100 have meaningful speech technology. Karamojong — despite hundreds of thousands of speakers — has been almost entirely absent from voice assistants, accessibility tools, and language-learning apps. This model is a step toward changing that.
1# Install with pinned versions to avoid dependency conflicts
2pip install \
3 "coqui-tts==0.27.5" \
4 "transformers==4.57.6" \
5 "tokenizers>=0.22,<0.23" \
6 "numpy>=2.0,<2.3" \
7 "numba>=0.61,<0.62" \
8 "librosa>=0.11,<0.12" \
9 "huggingface_hub>=0.34,<0.40"
10
11# Pull model + config from the Hub
12python -c "from huggingface_hub import snapshot_download; \
13 snapshot_download('speedykom-group/karamojong-tts-vits-beta', local_dir='./karamojong-tts')"
14
15# Synthesize
16tts --text "Ejok noi! Iyalama ngesi?" \
17 --model_path ./karamojong-tts/best_model.pth \
18 --config_path ./karamojong-tts/config.json \
19 --out_path output.wav
1from huggingface_hub import snapshot_download
2from TTS.utils.synthesizer import Synthesizer
3
4repo_dir = snapshot_download("speedykom-group/karamojong-tts-vits-beta")
5
6syn = Synthesizer(
7 tts_checkpoint=f"{repo_dir}/best_model.pth",
8 tts_config_path=f"{repo_dir}/config.json",
9)
10
11wav = syn.tts("Ejok noi! Iyalama ngesi?")
12syn.save_wav(wav, "output.wav")
Beta-15 is the latest checkpoint in an iterative training process and represents the current best perceptual quality.
Training data comes from the
Karamojong Speech Dataset by
Speedykom Group, derived from publicly available GRN recordings. This work is offered as a contribution to digital preservation and accessibility for an underrepresented language community. The non-commercial license reflects the spirit of the source material.
CC BY-NC 4.0 — free for research and non-commercial use with attribution to
Speedykom Group. For commercial licensing, contact
Speedykom Group.