Instructions to use munasco/eko-stt-v1 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use munasco/eko-stt-v1 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("automatic-speech-recognition", model="munasco/eko-stt-v1")# pip install -U transformers accelerate # Load model directly from transformers import AutoProcessor, AutoModelForSpeechSeq2Seq processor = AutoProcessor.from_pretrained("munasco/eko-stt-v1") model = AutoModelForSpeechSeq2Seq.from_pretrained("munasco/eko-stt-v1", device_map="auto") - Notebooks
- Google Colab
- Kaggle
eko-stt-v1
State-of-the-art speech recognition for Nigerian English, Nigerian Pidgin, Yorรนbรก and Igbo, by Ekogenie. A 1.55B-parameter encoder-decoder recogniser, and the model behind Ekogenie's live voice agents.
Try it in your browser: eko-stt-v1 live demo. Speak or upload a clip and pick a language.
Headline
Compared with SBPN (paper, weights), the previous published state of the art for these four languages, on the same 16 test sets with the same scorer:
- Mean word error rate 13.9% vs 18.4% (24% relative reduction).
- Better on 14 of 16 test sets: every Nigerian English, Pidgin and Igbo set, and 2 of 4 Yorรนbรก sets.
- Pidgin error roughly halved (for example PidginMed 7.3 vs 13.5, WaZoBia 9.5 vs 17.8); Nigerian English AfriSpeech 9.3 vs 16.4.
- SBPN-large is still ahead on Common Voice Yorรนbรก and NaijaVoices Yorรนbรก. Both are corpora SBPN trained on.
| Language | eko-stt-v1 | SBPN-large |
|---|---|---|
| Nigerian English | 7.5 | 14.0 |
| Nigerian Pidgin | 9.3 | 16.9 |
| Igbo | 18.3 | 21.0 |
| Yorรนbรก | 20.3 | 20.8 |
Results
Word error rate in %, lower is better. Both models are scored on identical clips by the same scorer.
- Normalised: the reference and the hypothesis both go through the same normaliser: lowercase, no punctuation, numbers in one form, fillers dropped, hyphens split, documented spelling equivalences (including English and Naija spellings of the same Pidgin word). For Yorรนbรก and Igbo, tone marks are ignored and dot-below is kept, because published references mark tone inconsistently.
- Raw: lowercase and punctuation only.
- With tone: normalised, tone marks counted, against test references whose tone marks (Yorรนbรก) and dot-below (Igbo) were unified by a text-only pass (keep existing marks, add missing ones, letters never changed). Our model's output was not shown to that pass, so it does not favour this model.
| Test set | Language | Clips | Ours, normalised | SBPN-large, normalised | Ours, raw | SBPN-large, raw | Ours, with tone | SBPN-large, with tone |
|---|---|---|---|---|---|---|---|---|
| AfriSpeech-200 Nigerian test, reviewed | Nigerian English | 1517 | 9.3 | 16.4 | 12.0 | 20.3 | - | - |
| AfriSpeech-200 Nigerian test | Nigerian English | 1343 | 10.6 | 17.8 | 13.3 | 21.8 | - | - |
| Common Voice 27 Igbo test | Igbo | 500 | 19.4 | 21.6 | 27.9 | 29.5 | 21.1 | 23.5 |
| Common Voice 27 Pidgin test | Nigerian Pidgin | 326 | 16.4 | 26.3 | 22.7 | 33.9 | - | - |
| Common Voice 27 Yorรนbรก test | Yorรนbรก | 500 | 18.5 | 16.1 | 25.8 | 22.7 | 20.7 | 18.4 |
| DSN African Voices Igbo devtest | Igbo | 500 | 14.7 | 18.3 | 24.9 | 26.6 | 17.4 | 20.9 |
| DSN African Voices Yorรนbรก devtest | Yorรนbรก | 500 | 20.2 | 25.9 | 31.1 | 41.8 | 28.3 | 30.8 |
| FLEURS Igbo test | Igbo | 869 | 22.1 | 26.8 | 32.0 | 34.6 | 22.2 | 26.9 |
| FLEURS Yorรนbรก test | Yorรนbรก | 817 | 23.4 | 24.7 | 44.6 | 43.7 | 34.8 | 32.8 |
| NaijaVoices Igbo official test | Igbo | 1006 | 16.9 | 17.5 | 26.8 | 25.2 | 17.5 | 18.2 |
| NaijaVoices Yorรนbรก official test | Yorรนbรก | 1142 | 19.1 | 16.4 | 34.6 | 32.2 | 24.1 | 21.0 |
| Native Nigerian English (100 clips, held out) | Nigerian English | 100 | 2.5 | 7.6 | 3.9 | 8.3 | - | - |
| PidginMed test | Nigerian Pidgin | 976 | 7.3 | 13.5 | 8.8 | 20.3 | - | - |
| PidginMed test, reviewed | Nigerian Pidgin | 976 | 6.7 | 13.0 | 8.2 | 19.8 | - | - |
| WaZoBia Pidgin devtest, clean | Nigerian Pidgin | 500 | 9.5 | 17.8 | 14.7 | 26.4 | - | - |
| WaZoBia Pidgin devtest (300) | Nigerian Pidgin | 300 | 6.4 | 13.9 | 10.9 | 21.5 | - | - |
Mean over the 16 sets (normalised): 13.9 vs 18.4.
Usage
from transformers import pipeline
asr = pipeline("automatic-speech-recognition", model="munasco/eko-stt-v1", torch_dtype="float16", device="cuda")
asr("clip.wav", generate_kwargs={"language": "yo", "task": "transcribe"})
Language tokens: Nigerian English and Pidgin use en, Yorรนbรก uses yo, and Igbo uses the repurposed ln token (the base vocabulary has no Igbo token). Leaving the language unset (auto-detect) performs about the same as forcing it. Use greedy decoding for live use (beam 5 gains about 0.5 point at 6x the latency), and a repetition guard on long audio.
Training
- Full fine-tune of an open-weights (Apache-2.0) multilingual base, 13,000 updates, checkpoint chosen on a held-out dev mix.
- About 1,070 hours of transcribed Nigerian speech across the four languages: read speech, broadcast media and conversational Pidgin. No synthetic audio.
Limitations
- Yorรนbรก tone marking is the main remaining error. With unified references and tone counted, Yorรนbรก error is about 8 points higher than without tone.
- Names and rare words are the next most common error.
- Hausa is not covered yet.
Contact
Munachi Ernest-Eze, Ekogenie, munachi@ekogenie.com
- Downloads last month
- -
Model tree for munasco/eko-stt-v1
Base model
openai/whisper-large-v3Paper for munasco/eko-stt-v1
Evaluation results
- WER (normalised) on afrispeech-ng-test-reviewedself-reported9.340
- WER (normalised) on afrispeech-ng-test-v2self-reported10.610
- WER (normalised) on cv27-ig-testself-reported19.450
- WER (normalised) on cv27-pcm-testself-reported16.430
- WER (normalised) on cv27-yo-testself-reported18.460
- WER (normalised) on dsn-ig-devtestself-reported14.670
- WER (normalised) on dsn-yo-devtestself-reported20.180
- WER (normalised) on fleurs-igself-reported22.100