You need to agree to share your contact information to access this model

This repository is publicly accessible, but you have to accept the conditions to access its files and content.

This model was fine-tuned on non-standard Kenyan English speech data, including speech from individuals with speech-related personal circumstances. By requesting access, you agree to use this model for research, accessibility, or product development purposes only, to cite this work if used in a publication or product, and not to use it in any way that stigmatizes or misrepresents the speakers whose data contributed to this model.

Log in or Sign Up to review the conditions and access this model content.

Whisper-small-kenyan-english-nonstandard-v2 (Non-Standard, Noise-Robust)

Fine-tuned from openai/whisper-small on non-standard Kenyan English speech, with waveform-level noise augmentation to improve robustness under real-world Kenyan field deployment conditions (mobile networks, ambient crowd noise, device volume variation).

Developed by Alexander Sheldon Mainye.

Model Details

Property Value
Base model openai/whisper-small
Total parameters 241,734,912
Trainable parameters 241,734,912 (full fine-tuning)
Language Kenyan English (en-KE)
Task Automatic Speech Recognition
Domain Non-standard Kenyan English
Training dataset cdli/kenyan_english_nonstandard_speech_v1.0

Training Report

View Run 3 Report

Performance

Evaluated on the held-out test split of cdli/kenyan_english_nonstandard_speech_v1.0 (926 examples). Clean evaluation uses unaugmented audio; noisy evaluation applies the same waveform augmentation pipeline used during training.

Split WER CER
Dev set (clean) 21.65% 13.47%
Test set (clean) 15.77% 9.32%
Test set (noise-augmented) 21.62% 13.61%
Robustness gap (clean → noisy) 5.85 pp 4.29 pp

The 5.85 pp robustness gap represents a 56% relative reduction compared to earlier runs trained at higher augmentation probability (prior best: 13.5 pp gap), while clean test WER remained competitive.

Training Details

Dataset

cdli/kenyan_english_nonstandard_speech_v1.0 — nnon-standard Kenyan English speech covering etiologies.

Split Raw size Filtered (<= 30s)
Train 4,378 4,243
Validation 542 542
Test 928 926

Augmentation Pipeline

Waveform-level augmentation was applied during training only (AUGMENT_PROB = 0.4). Evaluation always used clean audio for reproducible WER/CER comparisons.

Augmentation Parameters Purpose
Volume perturbation Gain range 0.7–1.3 (always applied) Device volume variation
Gaussian noise Level 0.002–0.015 Ambient crowd noise
GSM codec simulation 8kHz downsample/resample Mobile network compression
Room reverb Disabled (AUG_REVERB = False) —

SpecAugment was also applied during training (mask_time_prob = 0.05, mask_feature_prob = 0.05).

Hyperparameters

Hyperparameter Value
Learning rate 3e-6
LR scheduler Polynomial decay (lr_end = 1e-8, power = 1)
Warmup steps 100
Weight decay 0.01
Batch size 32
Max steps 2,000
Early stopping patience 7
Best checkpoint step 1,800
Precision FP16

Training ran the full 2,000-step budget without early stopping triggering. The best validation WER (21.65%) was achieved at step 1,800, confirming that patience 7 and the polynomial decay schedule were appropriate for this dataset size.

Usage

from transformers import WhisperProcessor, WhisperForConditionalGeneration
import torch

processor = WhisperProcessor.from_pretrained("smainye/whisper-small-kenyan-english-nonstandard")
model = WhisperForConditionalGeneration.from_pretrained("smainye/whisper-small-kenyan-english-nonstandard")

# Load your audio (must be 16kHz, mono)
# audio is a numpy array or torch tensor of shape (samples,)
inputs = processor(audio, sampling_rate=16000, return_tensors="pt")

with torch.no_grad():
    predicted_ids = model.generate(
        inputs["input_features"],
        language="en",
        task="transcribe"
    )

transcription = processor.batch_decode(predicted_ids, skip_special_tokens=True)
print(transcription[0])

Notes on intended use

  • Optimised for non-standard Kenyan English.
  • Most robust to ambient crowd noise and GSM/mobile codec artifacts (as trained).
  • Not fine-tuned for standard American or British English; general-purpose WER on those varieties may be lower than openai/whisper-small baseline.
  • Evaluation was conducted on a noise-augmented test set simulating field conditions; real-world WER will vary based on recording quality and acoustic environment.

Limitations

  • Dataset size: the training set comprises 4,243 examples. Performance on speaker demographics, dialects, or acoustic conditions not well-represented in cdli/kenyan_english_nonstandard_speech_v1.0 may degrade.
  • Room reverb not covered: reverb-heavy environments (lecture halls, large rooms) were not part of the augmentation pipeline in this run. Performance in strongly reverberant conditions is untested.
  • Model capacity: based on whisper-small (241M parameters). Larger Whisper variants may yield lower WER on this domain.
  • Language: Suited for Kenyan English speakers.

Training Infrastructure

Training was conducted using Modal GPU infrastructure with the Hugging Face transformers Seq2SeqTrainer.

Citation

If you use this model in your work, please cite it as:

@misc{whisper-small-kenyan-english-nonstandard,
  author       = {Mainye, Alexander Sheldon},
  title        = {Whisper Small Fine-tuned on Non-Standard Kenyan English Speech},
  year         = {2026},
  publisher    = {Hugging Face},
  url          = {https://huggingface.co/smainye/whisper-small-kenyan-english-nonstandard}
}

Buy Me A Coffee

Downloads last month
-
Safetensors
Model size
0.2B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for smainye/whisper-small-kenyan-english-nonstandard-v2

Finetuned
(3675)
this model

Dataset used to train smainye/whisper-small-kenyan-english-nonstandard-v2

Collection including smainye/whisper-small-kenyan-english-nonstandard-v2