Evaluation
Scored on a frozen 198-clip held-out set with the canonical decoding recipe: 30 s chunks, stride (5, 5), beam size 5, temperature fallback.
Table with columns: Model, CER, CER (orthography-normalized)| Model | CER | CER (orthography-normalized) |
|---|
| This model (v1) | 0.1959 | 0.1629 |
| Previous best Kalenjin Whisper fine-tune | 0.2170 | 0.1848 |
Both rows use the same evaluation harness. The improvement is significant under a paired bootstrap test (p = 0.005).
Training data
Trained on the scripted split of AfriVoices-KE (the Anv-ke/Kalenjin dataset, CC-BY-4.0; Wanzare et al., 2026), with online speed, noise, and gain augmentation plus SpecAugment. Fine-tuning used LoRA (rank 16, learning rate 2e-4); the adapter was merged into the base model for this release.
Usage
import torch
from transformers import pipeline
asr = pipeline(
"automatic-speech-recognition",
model="Rekody/whisper-large-v3-turbo-kalenjin",
torch_dtype=torch.float16,
device="cuda",
)
result = asr(
"audio.wav",
chunk_length_s=30,
stride_length_s=(5, 5),
generate_kwargs={"language": "sw", "task": "transcribe", "num_beams": 5},
)
print(result["text"])
Why language="sw"?
Whisper's tokenizer has no Kalenjin language token. This model was trained with the Swahili token (sw) standing in for Kalenjin, so pass language="sw" at inference. The output is Kalenjin text.
Limitations
- Strongest on scripted, read-style speech similar to the training data. Spontaneous conversation and deep-accent social audio remain harder.
- Evaluation scores are pending native-speaker validation, as described in the paper.
- Kipsigis and Nandi are the covered dialects; other Kalenjin dialects are not represented in the training data.
License
MIT, matching the base model. The training dataset is separately licensed (CC-BY-4.0) under its own access and consent terms.
Citation
If you use this model, please cite:
Kipkemboi, T. (2026). Open Kalenjin Automatic Speech Recognition: Adapting Parakeet-TDT to a Low-Resource Nilotic Language. Zenodo. https://doi.org/10.5281/zenodo.21764656
For the dataset, cite Wanzare et al. (2026), AfriVoices-KE.
Code
Training and evaluation code: https://github.com/rekody/kalenjin-asr