πŸŽ™οΈ Karamojong TTS β€” VITS

An open-source neural text-to-speech model for Ng'akarimojong (kdj) β€” an Eastern Nilotic language spoken by approximately 370,000 people in the Karamoja sub-region of northeastern Uganda.

One of the first open-weights TTS systems for this language.


πŸ”Š Samples

Karamojong English Model Audio
"Abaraka noi ejok akim" "Thank you very much, it is good" best_model sample_1.wav
"Ijo noi Anu ejok noi" "Yes indeed, Anu is fine indeed" best_model sample_2.wav
"Abunit ayong Najie anerai acamit ayong akisyom ngiemuto ka ngitalio a Ngijie" "I came to Najie because I want to learn about the history and culture of the Jie" best_model samples/best_model__abunit_ayong_najie_anerai_acamit_ayong_akisyom_ngiemuto.wav
"Abunit ayong Najie anerai acamit ayong akisyom ngiemuto ka ngitalio a Ngijie" "I came to Najie because I want to learn about the history and culture of the Jie" best_model_9918 samples/best_model_9918__abunit_ayong_najie_anerai_acamit_ayong_akisyom_ngiemuto.wav

🌍 Why this matters

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.


πŸš€ Quick start

CLI

# Install with pinned versions to avoid dependency conflicts
pip install \
    "coqui-tts==0.27.5" \
    "transformers==4.57.6" \
    "tokenizers>=0.22,<0.23" \
    "numpy>=2.0,<2.3" \
    "numba>=0.61,<0.62" \
    "librosa>=0.11,<0.12" \
    "huggingface_hub>=0.34,<0.40"

# Pull model + config from the Hub
python -c "from huggingface_hub import snapshot_download; \
    snapshot_download('speedykom-group/karamojong-tts-vits-beta', local_dir='./karamojong-tts')"

# Synthesize
tts --text "Ejok noi! Iyalama ngesi?" \
    --model_path ./karamojong-tts/best_model.pth \
    --config_path ./karamojong-tts/config.json \
    --out_path output.wav

Python

from huggingface_hub import snapshot_download
from TTS.utils.synthesizer import Synthesizer

repo_dir = snapshot_download("speedykom-group/karamojong-tts-vits-beta")

syn = Synthesizer(
    tts_checkpoint=f"{repo_dir}/best_model.pth",
    tts_config_path=f"{repo_dir}/config.json",
)

wav = syn.tts("Ejok noi! Iyalama ngesi?")
syn.save_wav(wav, "output.wav")

πŸ—οΈ Model

Architecture VITS (end-to-end TTS)
Framework Coqui TTS
Sample rate 22,050 Hz, mono WAV
Speakers Single-speaker
Language Ng'akarimojong (ISO 639-3: kdj)
Family Eastern Nilotic β†’ Ateker (Teso–Turkana)
License CC BY-NC 4.0

πŸ§ͺ Training

Trained on a single NVIDIA L4 GPU (24 GB) with Coqui TTS. Key design choices:

  • Source data β€” 4,622 clips (1–8 s, ~5–6 hours total) from speedykom-group/karamojong-speech-dataset.
  • Audio preprocessing β€” Stationary noise reduction via noisereduce applied to the source audio. Cleaner training signal translates directly to more natural output.
  • Loss balancing β€” mel_loss_alpha=40, feat_loss_alpha=2.5, gen_loss_alpha=1.5. The boosted feature-matching weight pushes outputs from "correct mel-spectrogram" toward "naturally human."
  • Schedule β€” Cosine annealing with warm restarts; balanced generator/discriminator learning rates.

Beta-15 is the latest checkpoint in an iterative training process and represents the current best perceptual quality.

Training progress

Early training history (beta-0 β†’ beta-13) on raw audio. Beta-15 uses a denoised dataset β€” values aren't directly comparable.


🀝 Dataset & ethics

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.


πŸ‘₯ Credits

Dataset Speedykom Group
Model training @dhiakassab
TTS framework Coqui TTS
Hardware NVIDIA L4 GPU (24 GB) Γ—1

πŸ“„ License

CC BY-NC 4.0 β€” free for research and non-commercial use with attribution to Speedykom Group. For commercial licensing, contact Speedykom Group.


Part of an effort to build speech technology for underserved African languages.

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

Dataset used to train speedykom-group/karamojong-tts-vits-beta