Automatic Speech Recognition
Transformers
ONNX
Safetensors
Igbo
whisper
igbo
asr
on-device
olu-igbo
Eval Results (legacy)

Whisper Small — Igbo (Olu Igbo)

A full fine-tune of openai/whisper-small for Igbo automatic speech recognition, built to run fully on-device on mid-range Android phones (developed and tested on a Redmi Note 10 / Snapdragon 678, CPU-only).

  • WER: 41.95% on the FLEURS Igbo test set (969 samples, normalized), down from a 68.95% zero-shot baseline.
  • Part of the Olu Igbo project: https://github.com/Elvaceishim/olu-igbo
  • INT8 ONNX exports of this model power the on-device Android app in that repo.

Language token

Igbo is not one of Whisper's 99 languages, so this model uses the Yoruba token <|yo|> (id 50325) as a language-token proxy, at both training and inference. Supply the forced decoder prefix shown below.

Usage

import numpy as np, torch
from transformers import WhisperProcessor, WhisperForConditionalGeneration

processor = WhisperProcessor.from_pretrained("openai/whisper-small")
model = WhisperForConditionalGeneration.from_pretrained("theelvace/whisper-small-igbo-25k").eval()
model.config.forced_decoder_ids = None

# audio: 16 kHz mono float32 numpy array
feats = processor.feature_extractor(audio, sampling_rate=16000, return_tensors="pt").input_features
ids = model.generate(
    feats,
    forced_decoder_ids=[[1, 50325], [2, 50359], [3, 50363]],  # <|yo|>, transcribe, no-timestamps
    num_beams=5,
    max_new_tokens=100,
)
print(processor.tokenizer.decode(ids[0], skip_special_tokens=True))

Training

  • Base: openai/whisper-small, warm-started from a LoRA adapter (q/v, r=32) that reached 62.45% WER, then full fine-tuned (all parameters — same on-device size as the base).
  • Data: FLEURS Igbo + Nigerian Common Voice (Igbo) + ~25k streamed utterances of NaijaVoices (a ~600-hour Igbo read-speech corpus).
  • SpecAugment enabled; checkpoints selected on the FLEURS validation split, WER reported on the held-out test split.
  • WER journey: 68.95% (zero-shot) → 62.45% (LoRA) → 48.58% (full fine-tune) → 41.95% (+ NaijaVoices).
  • Full training, export, and on-device inference code: https://github.com/Elvaceishim/olu-igbo

Limitations

  • Short, clear utterances transcribe well; long or complex sentences show the model's real error rate.
  • Live-mic audio is harder than clean test audio — on long/complex live speech the model may fail to emit an end-of-sentence token and ramble.
  • Borrowed words, proper nouns, and numbers are the weakest spots.

License

CC-BY-NC-SA-4.0 (non-commercial, share-alike) — inherited from the NaijaVoices training data. (Base Whisper is MIT; FLEURS is CC-BY-4.0; Common Voice is CC0.) If you need a permissively-licensed variant, the FLEURS + Common Voice–only model theelvace/whisper-small-igbo (62.45% WER) is not subject to the non-commercial restriction.

Downloads last month
176
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 theelvace/whisper-small-igbo-25k

Quantized
(222)
this model

Datasets used to train theelvace/whisper-small-igbo-25k

Evaluation results