πŸŽ™οΈ 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
14
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