CoolFace
Modelpublic

Axiveri/NaijaVox-2.0

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
8likes525downloads
Model Card

<p align="center"> <img src="https://huggingface.co/Axiveri/NaijaVox-2.0/resolve/main/naijavoxv2banner.png" width="100%"/> </p>

<p align="center"> <img src="https://img.shields.io/badge/Model-NaijaVox--2.0-2ea44f?style=flat-square"/> <img src="https://img.shields.io/badge/License-Apache%202.0-2196F3?style=flat-square"/> <img src="https://img.shields.io/badge/Base-Whisper--Large--v3-8B5CF6?style=flat-square"/> <img src="https://img.shields.io/badge/Version-2.0-FF9800?style=flat-square"/> </p>

<p align="center"> <img src="https://img.shields.io/badge/Languages-Yoruba%20%7C%20Hausa%20%7C%20Igbo%20%7C%20Pidgin%20%7C%20Naija%20English-FF6B35?style=flat-square"/> </p>

<p align="center"> <img src="https://img.shields.io/badge/Built%20by-Axiveri-e11d48?style=flat-square"/> <img src="https://img.shields.io/badge/GPU-Tesla%20T4%20x2-64748b?style=flat-square"/> </p>

<div align="center">

LanguageWERvs V1
🇳🇬 Pidgin14.7%↓ 2.1pp
🇳🇬 Nigerian English19.6%↓ 1.5pp
🇳🇬 Yoruba22.3%↓ 6.5pp
🇳🇬 Hausa25.8%↓ 5.2pp
🇳🇬 Igbo30.5%↓ 11.4pp

</div>


Nigeria's Voice in AI. Now Sharper.

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."

[← NaijaVox-V1](https://huggingface.co/Axiveri/NaijaVox-V1) — the original model


📈 V1 → V2 Improvement

Evaluated on identical test sets with identical methodology (50 samples/language, strict WER, no normalization):

LanguageV1 WERV2 WERAbsolute ΔRelative Gain
🇳🇬 Yoruba28.8%22.3%−6.5pp+22.6%
🇳🇬 Hausa31.0%25.8%−5.2pp+16.8%
🇳🇬 Igbo41.9%30.5%−11.4pp+27.2%
🇳🇬 Nigerian English21.1%19.6%−1.5pp+7.1%
🇳🇬 Nigerian Pidgin16.8%14.7%−2.1pp+12.5%
Average27.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

LanguageISO CodeScriptToken
YorubayoLatin + full diacritics (ẹ, ọ, ṣ, à, á, etc.)`<\yo\>`
HausahaLatin + special chars (ƙ, ƴ, ɗ, etc.)`<\ha\>`
IgboigLatin + diacritics`<\ig\>`
Nigerian PidginpcmLatin`<\pcm\>`
Nigerian EnglishenLatin`<\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
from transformers import pipeline

pipe = pipeline(
    "automatic-speech-recognition",
    model="Axiveri/NaijaVox-2.0",
    device=0  # use GPU, or remove for CPU
)

result = pipe("your_audio.wav")
print(result["text"])

Specifying Language

python
from transformers import (
    WhisperForConditionalGeneration, WhisperFeatureExtractor,
    WhisperProcessor, PreTrainedTokenizerFast,
)
from huggingface_hub import hf_hub_download
import torch

MODEL_ID = "Axiveri/NaijaVox-2.0"

model = WhisperForConditionalGeneration.from_pretrained(MODEL_ID)

# Standard load first; this model's custom <|pcm|> / <|ig|> tokens don't
# always come through cleanly this way, so fall back to manually rebuilding
# the tokenizer from tokenizer.json if they're missing.
try:
    processor = WhisperProcessor.from_pretrained(MODEL_ID)
    vocab = processor.tokenizer.get_vocab()
    assert "<|pcm|>" in vocab and "<|ig|>" in vocab
except Exception:
    fe = WhisperFeatureExtractor.from_pretrained(MODEL_ID)
    tok_file = hf_hub_download(repo_id=MODEL_ID, filename="tokenizer.json")
    tokenizer = PreTrainedTokenizerFast(tokenizer_file=tok_file)
    tokenizer.add_special_tokens({
        "additional_special_tokens": [
            t for t in [
                "<|startoftranscript|>", "<|endoftext|>", "<|transcribe|>",
                "<|notimestamps|>", "<|en|>", "<|yo|>", "<|ha|>", "<|ig|>", "<|pcm|>",
            ]
            if t not in tokenizer.get_vocab()
        ]
    })
    processor = WhisperProcessor(feature_extractor=fe, tokenizer=tokenizer)

vocab = processor.tokenizer.get_vocab()

LANG_TOKENS = {
    "yoruba":           "<|yo|>",
    "hausa":            "<|ha|>",
    "igbo":             "<|ig|>",
    "nigerian_english": "<|en|>",
    "pidgin":           "<|pcm|>",
}

def transcribe(audio_array, sampling_rate, language="yoruba"):
    lang_id = vocab[LANG_TOKENS[language]]
    start   = vocab["<|startoftranscript|>"]
    trans   = vocab["<|transcribe|>"]
    nots    = vocab["<|notimestamps|>"]
    decoder_input_ids = torch.tensor([[start, lang_id, trans, nots]])

    inputs = processor.feature_extractor(
        audio_array, sampling_rate=sampling_rate, return_tensors="pt"
    ).input_features

    with torch.no_grad():
        generated = model.generate(
            input_features=inputs,
            decoder_input_ids=decoder_input_ids,
            max_new_tokens=448
        )
    return 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.

LanguageWER (%)Accuracy (%)Test SetSamples
🇳🇬 Nigerian Pidgin14.785.3asr-nigerian-pidgin/nigerian-pidgin-1.050
🇳🇬 Nigerian English19.680.4benjaminogbonna/nigerianaccentedenglish50
🇳🇬 Yoruba22.377.7google/fleurs yo_ng50
🇳🇬 Hausa25.874.2google/fleurs ha_ng50
🇳🇬 Igbo30.570.5google/fleurs ig_ng50
Average22.5877.62250
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

ReferenceAudioNaijaVox-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<audio controls><source src="https://huggingface.co/Axiveri/NaijaVox-2.0/resolve/main/audiosamples/yorubasample1.wav" type="audio/wav"></audio>à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<audio controls><source src="https://huggingface.co/Axiveri/NaijaVox-2.0/resolve/main/audiosamples/yorubasample2.wav" type="audio/wav"></audio>à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

ReferenceAudioNaijaVox-2.0 Output
an kwatanta faretin gine-ginen da ke yin sararin samaniyar hong kong da ginshiƙi mai walƙi<audio controls><source src="https://huggingface.co/Axiveri/NaijaVox-2.0/resolve/main/audiosamples/hausasample1.wav" type="audio/wav"></audio>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<audio controls><source src="https://huggingface.co/Axiveri/NaijaVox-2.0/resolve/main/audiosamples/hausasample2.wav" type="audio/wav"></audio>aristotle masanin falsafani ya yi tunanin cewa kome ya kunshi ca kuda daya ko fiye daga ab

Igbo

ReferenceAudioNaijaVox-2.0 Output
ka akara rossby na-adị obere karịa ka arụmarụ na-adịkwu obere nke kpakpando n'ikwanye ugwu<audio controls><source src="https://huggingface.co/Axiveri/NaijaVox-2.0/resolve/main/audiosamples/igbosample1.wav" type="audio/wav"></audio>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<audio controls><source src="https://huggingface.co/Axiveri/NaijaVox-2.0/resolve/main/audiosamples/igbosample2.wav" type="audio/wav"></audio>ka agha adara mba briten jiri ndị agha elu mmiri gbochie ndị jamanị inweta enyemaka

Nigerian English

ReferenceAudioNaijaVox-2.0 Output
Did it change plain? Yes. yes. Ok that means he was correct so this is if he's right that<audio controls><source src="https://huggingface.co/Axiveri/NaijaVox-2.0/resolve/main/audiosamples/englishsample1.wav" type="audio/wav"></audio>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.<audio controls><source src="https://huggingface.co/Axiveri/NaijaVox-2.0/resolve/main/audiosamples/englishsample2.wav" type="audio/wav"></audio>Ebube Nwagbo studied Mass Communication at Nnamdi Azikiwe University.

Nigerian Pidgin

ReferenceAudioNaijaVox-2.0 Output
on top di injury her uncle no even carry her go hospital for treatment<audio controls><source src="https://huggingface.co/Axiveri/NaijaVox-2.0/resolve/main/audiosamples/pidginsample1.wav" type="audio/wav"></audio>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<audio controls><source src="https://huggingface.co/Axiveri/NaijaVox-2.0/resolve/main/audiosamples/pidginsample2.wav" type="audio/wav"></audio>she tell don jazzy for december 2016 say i should be

🏗️ Model Architecture

Input Audio (16kHz)
        │
        ▼
Whisper-large-v3 Encoder  (frozen during fine-tuning)
        │  1500 × 1280 features
        ▼
Whisper Decoder + LoRA    (r=64, alpha=128, fine-tuned)
  target modules: q_proj, k_proj, v_proj, out_proj, fc1, fc2
  V1: attention only (q/k/v/out) — V2: adds feed-forward (fc1/fc2)
        │
        ▼
Extended Tokenizer         (vocab: 51,868 tokens)
  + <|ig|> Igbo token
  + <|pcm|> Nigerian Pidgin token
        │
        ▼
Transcript
V2 publishes a fully merged standalone model — no PEFT dependency required. Load directly with transformers.

📦 Training Details

ParameterV1V2
Base modelopenai/whisper-large-v3openai/whisper-large-v3
Fine-tuning methodLoRA (PEFT)LoRA (PEFT)
LoRA rank3264
LoRA alpha64128
Target modulesq/k/v/out_projq/k/v/out_proj + fc1/fc2
LoRA dropout0.050.05
Training precisionfp16fp16
Effective batch size1632
Learning rate1e-35e-4
Warmup steps50200
Epochs (best)23 of 5
SpecAugment
Noise augmentation✅ (30% of samples)
Total training samples13,86625,866
GPUTesla T4 × 2 (Kaggle)Tesla T4 × 2 (Kaggle)
Total training time~20 hours~40 hours

Training Datasets

DatasetLanguage(s)SamplesNew in V2
google/fleurs (yong, hang, ig_ng)Yoruba, Hausa, Igbo8,437
benjaminogbonna/nigerianaccentedenglish_datasetNigerian English2,721
asr-nigerian-pidgin/nigerian-pidgin-1.0Nigerian Pidgin2,708
Tundragoon/IroyinSpeechYoruba2,500
google/WaxalNLP (ha/ig/yo/pcm)Hausa, Igbo, Yoruba, Pidgin6,000
benjaminogbonna/nigeriancommonvoice_dataseten/ha/ig/yo2,000
vpetukhov/biblettshausaHausa1,500
Total5 languages25,866

✅ Intended Use

  • 🏦 Fintech & banking — voice transactions and customer service in Nigerian languages
  • 📱 Mobile apps — voice input for Yoruba, Hausa, Igbo, and Pidgin speakers
  • 🎙️ Media & journalism — transcribing interviews and broadcasts
  • 🏥 Healthcare — patient intake and medical documentation
  • 📚 Education — language learning tools and accessibility
  • 🔬 Research — low-resource ASR study for West African languages
  • Accessibility — assistive technology for Nigerians with disabilities

🚫 Prohibited Use

  • Non-consensual surveillance — transcribing calls without consent of all parties
  • Fraud facilitation — forging spoken statements or supporting advance-fee fraud
  • 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.


📄 Citation

bibtex
@misc{naijavox2026,
  title        = {NaijaVox-2.0: Open-Weight Speech Recognition for Nigerian Languages},
  author       = {Ariyo, Emmanuel (Ememzyvisuals)},
  year         = {2026},
  publisher    = {HuggingFace},
  howpublished = {\url{https://huggingface.co/Axiveri/NaijaVox-2.0}}
}

📜 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. ---

<p align="center"> <i>Built in Nigeria 🇳🇬 — for Nigeria and the world.</i><br/> <i>Created by <a href="https://huggingface.co/ememzyvisuals">Emmanuel Ariyo (Ememzyvisuals)</a></i><br/> <i>Second model in the NaijaVox series by <a href="https://huggingface.co/Axiveri">Axiveri</a></i> </p>