NaijaVox-2.0 is the second generation of Axiveri's open-weight automatic speech recognition model for Nigerian languages — Yoruba (with full diacritics), Hausa, Igbo, Nigerian Pidgin, and Nigerian-accented English. Built on OpenAI Whisper-large-v3 with PEFT LoRA fine-tuning, NaijaVox-2.0 delivers significant accuracy gains over V1 through a larger and more diverse training corpus (25,866 samples across 7 datasets), deeper LoRA adaptation (r=64 targeting attention and feed-forward layers), SpecAugment, and realistic noise augmentation for real-world robustness.
"Every Nigerian deserves to be heard and understood by AI — in their own language, with their own voice."
Evaluated on identical test sets with identical methodology (50 samples/language, strict WER, no normalization):
Language
V1 WER
V2 WER
Absolute Δ
Relative Gain
🇳🇬 Yoruba
28.8%
22.3%
−6.5pp
+22.6%
🇳🇬 Hausa
31.0%
25.8%
−5.2pp
+16.8%
🇳🇬 Igbo
41.9%
30.5%
−11.4pp
+27.2%
🇳🇬 Nigerian English
21.1%
19.6%
−1.5pp
+7.1%
🇳🇬 Nigerian Pidgin
16.8%
14.7%
−2.1pp
+12.5%
Average
27.9%
22.58%
−5.3pp
+19.1%
Igbo sees the largest jump (+27.2% relative) — driven by WaxalNLP Igbo TTS data and Nigerian Common Voice Igbo samples, combined with SpecAugment frequency masking.
🗣️ Languages Supported
Language
ISO Code
Script
Token
Yoruba
yo
Latin + full diacritics (ẹ, ọ, ṣ, à, á, etc.)
<|yo|>
Hausa
ha
Latin + special chars (ƙ, ƴ, ɗ, etc.)
<|ha|>
Igbo
ig
Latin + diacritics
<|ig|>
Nigerian Pidgin
pcm
Latin
<|pcm|>
Nigerian English
en
Latin
<|en|>
Note:<\|ig\|> and <\|pcm\|> are custom language tokens added to the Whisper vocabulary. The extended tokenizer is included in this repository.
🚀 Quick Start
python
1from transformers import pipeline
23pipe = pipeline(4"automatic-speech-recognition",5 model="Axiveri/NaijaVox-2.0",6 device=0# use GPU, or remove for CPU7)89result = pipe("your_audio.wav")10print(result["text"])
Specifying Language
python
1from transformers import(2 WhisperForConditionalGeneration, WhisperFeatureExtractor,3 WhisperProcessor, PreTrainedTokenizerFast,4)5from huggingface_hub import hf_hub_download
6import torch
78MODEL_ID ="Axiveri/NaijaVox-2.0"910model = WhisperForConditionalGeneration.from_pretrained(MODEL_ID)1112# Standard load first; this model's custom <|pcm|> / <|ig|> tokens don't13# always come through cleanly this way, so fall back to manually rebuilding14# the tokenizer from tokenizer.json if they're missing.15try:16 processor = WhisperProcessor.from_pretrained(MODEL_ID)17 vocab = processor.tokenizer.get_vocab()18assert"<|pcm|>"in vocab and"<|ig|>"in vocab
19except Exception:20 fe = WhisperFeatureExtractor.from_pretrained(MODEL_ID)21 tok_file = hf_hub_download(repo_id=MODEL_ID, filename="tokenizer.json")22 tokenizer = PreTrainedTokenizerFast(tokenizer_file=tok_file)23 tokenizer.add_special_tokens({24"additional_special_tokens":[25 t for t in[26"<|startoftranscript|>","<|endoftext|>","<|transcribe|>",27"<|notimestamps|>","<|en|>","<|yo|>","<|ha|>","<|ig|>","<|pcm|>",28]29if t notin tokenizer.get_vocab()30]31})32 processor = WhisperProcessor(feature_extractor=fe, tokenizer=tokenizer)3334vocab = processor.tokenizer.get_vocab()3536LANG_TOKENS ={37"yoruba":"<|yo|>",38"hausa":"<|ha|>",39"igbo":"<|ig|>",40"nigerian_english":"<|en|>",41"pidgin":"<|pcm|>",42}4344deftranscribe(audio_array, sampling_rate, language="yoruba"):45 lang_id = vocab[LANG_TOKENS[language]]46 start = vocab["<|startoftranscript|>"]47 trans = vocab["<|transcribe|>"]48 nots = vocab["<|notimestamps|>"]49 decoder_input_ids = torch.tensor([[start, lang_id, trans, nots]])5051 inputs = processor.feature_extractor(52 audio_array, sampling_rate=sampling_rate, return_tensors="pt"53).input_features
5455with torch.no_grad():56 generated = model.generate(57 input_features=inputs,58 decoder_input_ids=decoder_input_ids,59 max_new_tokens=44860)61return processor.tokenizer.decode(generated[0], skip_special_tokens=True).strip()
📊 Benchmark Results
Evaluated on FLEURS test splits (Yoruba, Hausa, Igbo), Nigerian Pidgin ASR test set, and Nigerian Accented English dataset. 50 samples per language, greedy decoding, strict WER via jiwer (no text normalization). Identical methodology to V1 for direct comparison.
Language
WER (%)
Accuracy (%)
Test Set
Samples
🇳🇬 Nigerian Pidgin
14.7
85.3
asr-nigerian-pidgin/nigerian-pidgin-1.0
50
🇳🇬 Nigerian English
19.6
80.4
benjaminogbonna/nigerian_accented_english
50
🇳🇬 Yoruba
22.3
77.7
google/fleurs yo_ng
50
🇳🇬 Hausa
25.8
74.2
google/fleurs ha_ng
50
🇳🇬 Igbo
30.5
70.5
google/fleurs ig_ng
50
Average
22.58
77.62
—
250
Lower WER = better. Human-level transcription ≈ 5–10%.
🛡️ Robustness Improvements over V1
SpecAugment
Frequency masking (up to 27 mel bins) and time masking (up to 100 time steps) applied to mel spectrograms during training. This prevents over-reliance on specific frequency bands or time positions, improving generalization to real-world recordings.
Noise Augmentation
30% of training samples received realistic background noise injection at random SNR levels before mel extraction. This directly trains the model for common Nigerian recording conditions — market noise, phone compression artifacts, outdoor ambient sound, and crowd audio.
Code-Switching Robustness
Trained on Nigerian Pidgin and Nigerian English together with Yoruba, Hausa, and Igbo — all of which contain natural code-switching patterns present in everyday Nigerian speech, media, and social content.
🎙️ Sample Transcriptions
Real audio samples from FLEURS test, Nigerian English, and Pidgin datasets — data the model never saw during training. Transcriptions generated by the published merged model.
Yoruba
Reference
Audio
NaijaVox-2.0 Output
àwọn èyàn ti mọ̀ nípa àwọn kemika pepe bí wúrà fàdákà àti kọ́pa àtijọ́ torípé a lè rí wọn
àwọn èèyàn ti mọ̀ nípa àwọn kẹmíkà pèèpèé bí wúrà fàdákà àti kọpa àtijọ́ torí pé a lè rí wọn
àwọn ara ìrano lo kọ́kọ́ bẹ̀rẹ̀ si ni sin ewure ní bíi ọdún 15,0000 sẹ́yìn ní oke sagrosi
àwọn ará ìrà náà ló kọ́kọ́ bẹ̀rẹ̀ sí ní sin ewúrẹ́ ní bí ọdún 1500 sẹ́yìn ní òkè sagrosi
Hausa
Reference
Audio
NaijaVox-2.0 Output
an kwatanta faretin gine-ginen da ke yin sararin samaniyar hong kong da ginshiƙi mai walƙi
an kwatanta feretin gine-ginen da ke yin sararin samaniya hong kong da ginshiki mai walƙiy
aristotle masanin falsafa ne yayi tunanin cewa komai ya kunshi cakuda daya ko fiye daga ab
aristotle masanin falsafani ya yi tunanin cewa kome ya kunshi ca kuda daya ko fiye daga ab
Igbo
Reference
Audio
NaijaVox-2.0 Output
ka akara rossby na-adị obere karịa ka arụmarụ na-adịkwu obere nke kpakpando n'ikwanye ugwu
akara rossby na-adị obere karịa ka arụmarụ na-adịkwa obere nke kpakpando n'ịkwà nye monto
ka agha dara mba britenị jiri ndị agha elu mmiri gbochie ndị jamani inweta enyemaka
ka agha adara mba briten jiri ndị agha elu mmiri gbochie ndị jamanị inweta enyemaka
Nigerian English
Reference
Audio
NaijaVox-2.0 Output
Did it change plain? Yes. yes. Ok that means he was correct so this is if he's right that
Did it change green? Yes. Ok that means she was correct. So this is if its red then its no
Ebube Nwagbo studied Mass Communication at Nnamdi Azikiwe University.
Ebube Nwagbo studied Mass Communication at Nnamdi Azikiwe University.
Nigerian Pidgin
Reference
Audio
NaijaVox-2.0 Output
on top di injury her uncle no even carry her go hospital for treatment
on top di injury and her uncle no even carry her go hospital for treatment
she tell don jazzy for december 2016 say as she be
she tell don jazzy for december 2016 say i should be
❌ Deepfake pipelines — combining with TTS to fake audio attributed to real people
❌ Discriminatory systems — denying services based on language or accent identification
❌ Political disinformation — generating or verifying false transcripts of political speech
👤 Creator
Emmanuel Ariyo (Ememzyvisuals) — Founder, Axiveri
NaijaVox is conceived, built, and trained by Emmanuel Ariyo — combining ML engineering with a Nigerian cultural design identity to bring open-weight speech recognition to Nigerian language speakers.
👥 About Axiveri
Axiveri is building Africa's AI infrastructure — open models, open data, and open tools for African languages and developers.
1@misc{naijavox2026,
2 title = {NaijaVox-2.0: Open-Weight Speech Recognition for Nigerian Languages},
3 author = {Ariyo, Emmanuel (Ememzyvisuals)},
4 year = {2026},
5 publisher = {HuggingFace},
6 howpublished = {\url{https://huggingface.co/Axiveri/NaijaVox-2.0}}
7}
📜 License
The model weights in this repository are released under the Apache License 2.0.
Training Data Notice
NaijaVox-2.0 was fine-tuned using multiple publicly available datasets obtained from their respective publishers and repositories. Each dataset remains subject to its own original license, attribution requirements, and terms of use.
This repository does not claim ownership of the underlying training datasets and does not modify or supersede the licenses governing those datasets. Users are responsible for reviewing and complying with the applicable terms of any datasets used during training.
If any dataset attribution or licensing information requires correction or clarification, please open an issue or contact the maintainers.
Responsible Use
NaijaVox-2.0 is intended for lawful and ethical automatic speech recognition applications. Users are expected to comply with all applicable laws, regulations, and the licenses governing both this repository and any underlying datasets.