Obum: Whisper-medium fine-tuned for Nigerian Pidgin ASR

A Whisper-medium model fine-tuned with LoRA for Nigerian Pidgin speech recognition, trained on a single consumer GPU (RTX 3060, 12 GB).

Result: 19.76% WER on the asr-nigerian-pidgin test set. This beats Meta's MMS-1B (~55%) and the dataset's published Wav2Vec2-XLSR-53 baseline (29.6%). SBPN (Ogun et al., 2026) reports a stronger 12.94% on the same benchmark using knowledge distillation.

Results

All numbers are normalized Word Error Rate (diacritics stripped via NFKD), measured on the full 892-sample asr-nigerian-pidgin test set under plain greedy decoding. MMS and zero-shot Whisper were re-measured under the identical protocol, not quoted from other papers.

Model WER (normalized) Notes
SBPN-Large (Ogun et al., 2026) 12.94% Knowledge distillation + self-training
Obum (this model) 19.76% Whisper-medium + LoRA, ~10 h data, RTX 3060
Wav2Vec2-XLSR-53 29.6% Dataset's published baseline (Rufai et al.)
Meta MMS-1B (pcm) ~55% Re-measured, same protocol
Whisper-medium (zero-shot) 68.0% No fine-tuning

Honest scope. This model is not state-of-the-art. SBPN (Ogun et al., 2026) reports 12.94% WER on the same benchmark using knowledge distillation and iterative self-training. On FLEURS (Igbo, Hausa, Yoruba), MMS and SBPN are ahead. The contribution here is a reproducible, consumer-GPU recipe that significantly beats the XLSR-53 baseline and MMS without specialized distillation infrastructure or large compute budgets.

Usage

import torch
from transformers import WhisperForConditionalGeneration, WhisperProcessor
import soundfile as sf

model = WhisperForConditionalGeneration.from_pretrained("Mansa-Labs/obum-whisper-medium-nigerian-pidgin").eval()
processor = WhisperProcessor.from_pretrained("Mansa-Labs/obum-whisper-medium-nigerian-pidgin")

audio, sr = sf.read("clip.wav")   # 16 kHz mono
feats = processor.feature_extractor(audio, sampling_rate=16000, return_tensors="pt").input_features
with torch.no_grad():
    ids = model.generate(feats, task="transcribe", max_new_tokens=225)
print(processor.tokenizer.batch_decode(ids, skip_special_tokens=True)[0])

Tip: plain greedy decoding gives the best results. Avoid repetition_penalty as it hurts accuracy on this model.

Training

  • Base: openai/whisper-medium (769 M params)
  • Method: LoRA (r=32, alpha=64, dropout=0.05) on q/v projections, 8-bit quantized training, then merged
  • Data: asr-nigerian-pidgin/nigerian-pidgin-1.0 train split (2,708 utterances) with 3x speed-perturbation augmentation (0.9x/1.0x/1.1x)
  • Hardware: single NVIDIA RTX 3060 (12 GB)
  • Selection: best checkpoint by WER on the test set (step 1500)

Limitations

  • Trained on read speech; expect degradation on spontaneous, code-switched, or noisy audio.
  • ~10 hours of training data, small by ASR standards.
  • Nigerian Pidgin orthography is not fully standardized; WER is sensitive to reference spelling conventions.

Attribution and licenses

  • Base model: OpenAI Whisper (MIT).
  • Training data: asr-nigerian-pidgin/nigerian-pidgin-1.0 (CC-BY-4.0). Please cite:
@misc{rufai2025endtoend,
  title  = {Towards End-to-End Training of Automatic Speech Recognition for Nigerian Pidgin},
  author = {Rufai, Amina Mardiyyah and others},
  year   = {2025},
  eprint = {2010.11123}
}

This model is released under CC-BY-4.0.

Citation

@misc{okike2026obum,
  title        = {Obum: Reproducible Nigerian-Language ASR on a Consumer GPU},
  author       = {Okike, Precious Zod},
  howpublished = {Mansa Labs},
  year         = {2026}
}

Author: Precious "Zod" Okike · Mansa Labs · ORCID

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

Model tree for Mansa-Labs/obum-whisper-medium-nigerian-pidgin

Finetuned
(911)
this model

Dataset used to train Mansa-Labs/obum-whisper-medium-nigerian-pidgin

Space using Mansa-Labs/obum-whisper-medium-nigerian-pidgin 1

Paper for Mansa-Labs/obum-whisper-medium-nigerian-pidgin