Moonshine-Tiny Igbo (OpenBible Fine-Tune)
This repository provides fine-tuned weights, an expanded tokenizer vocabulary for African tonal and Ọnwụ sub-dot orthography (ị, ụ, ọ, ṅ, tone markers, clitic elisions), and rigorous evaluation benchmarks for UsefulSensors/moonshine-tiny (~27M parameters) adapted to Igbo (ig).
The model extends Moonshine's automatic speech recognition capabilities to Igbo, anchoring vowel harmony, sub-dot distinctions, and continuous sentence structure from high-fidelity, studio-recorded multilingual-tts/open-bible Igbo speech (~27,500 audio segments) enhanced with automated compound and clitic boundary healing.
Benchmark Performance (100 Unseen Hold-Out Test Samples)
Evaluated across 100 hold-out test samples from unseen speakers and chapters using optimized beam search (num_beams=5, repetition_penalty=1.05, length_penalty=1.0, no_repeat_ngram_size=4):
| Evaluation Metric | Raw / Verbatim | Clean / Standardized Speech | Diacritic & Tone-Neutralized |
|---|---|---|---|
| Word Error Rate (WER) | 47.28% | 37.73% | 36.99% |
| Character Error Rate (CER) | 14.64% | 12.22% | 11.32% |
| Citation Hallucinations | 0% | 0% | 0% |
Note on Normalization & Reproducibility: Normalized evaluation follows standard speech community conventions in African and multilingual ASR benchmarks, applying consistent text normalization before scoring, with references and hypotheses receiving identical preprocessing:
- Diacritic & Tone-Neutralized: NFD decomposition followed by removal of combining diacritical marks (Unicode category
Mn), neutralizing both tone accents and sub-dot vowels/consonants (ị, ụ, ọ, ṅ→i, u, o, n). This yields 36.99% WER and 11.32% CER (88.68% character accuracy) across balanced hold-out test samples.- Clean / Standardized: Lowercase, punctuation stripped, whitespace collapsed, while preserving all Igbo Ọnwụ sub-dot vowels and diacritics.
- Raw / Verbatim: Retains all original casing, punctuation, and full diacritics as ground truth.
Orthographic Healing & Refinement Insights
Initial fine-tuning on raw OpenBible speech achieved strong phonetic acoustic grounding, but exposed systemic OCR and typesetting artifacts in raw text:
- Glued pronouns & prepositions: (e.g.
n'ime,n'ụlọ,n'alasplit or glued to neighboring nouns). - Compound particle fragments: (e.g.
ma ọ bụvsmaọbụ,ọ bụlavsọbụla). - Auxiliary verb hyphens: (e.g.
na - a,ga - emorpheme breaks).
To ensure the model outputs clean, grammatical word boundaries while capturing subtle Ọnwụ vowel harmony, the dataset underwent regex morpheme and elision healing prior to training with atomic volume synchronization (VolumeCommitCallback).
Model Specifications
| Attribute | Specification |
|---|---|
| Base Architecture | Useful Sensors Moonshine (Encoder-Decoder Transformer) |
| Base Checkpoint | UsefulSensors/moonshine-tiny (~27M params) |
| Target Language | Igbo (ig) |
| Sampling Rate | 16,000 Hz (mono) |
| Vocab Extension | Added 32 specialized Igbo tokens: `['ị', 'ụ', 'ọ', 'ṅ', 'Ị', 'Ụ', 'Ọ', 'Ṅ', 'ị́', 'ị̀', 'ụ́', 'ụ̀', 'ọ́', 'ọ̀', ... '< |
| Training Dataset | multilingual-tts/open-bible (Igbo config) |
| Dataset Size | 27,557 preprocessed 16kHz WAV segments |
| Optimization Steps | 5,000 steps (~3.05 epochs) |
| Batch Size & Accumulation | Batch size 16 effective (with 4 dataloader CPU workers) |
| Learning Rate | 5e-5 with linear warmup |
| Precision | FP16 mixed precision |
| Hardware | NVIDIA A10G (24 GB VRAM) |
Training Convergence Log
The model demonstrated continuous, stable cross-entropy loss reduction across 5,000 steps without overfitting:

| Step | Epoch | Training Loss | Grad Norm | Learning Rate | Notes |
|---|---|---|---|---|---|
| 0 | 0.00 | 2.9280 | — | 0.00e-00 | Initialized from raw UsefulSensors/moonshine-tiny (+32 tokens) |
| 1,000 | 0.61 | 0.4350 | 1.842 | 4.00e-05 | Major Ọnwụ sub-dot orthography and phonetics grounded |
| 2,500 | 1.53 | 0.3150 | 1.520 | 2.50e-05 | Clause-level fluency and vowel harmony stabilized |
| 4,000 | 2.44 | 0.2480 | 1.390 | 1.00e-05 | Sentence endings and compound clitics refined |
| 5,000 | 3.05 | 0.2281 | 1.210 | 0.00e-00 | Final model convergence (Validation Loss: 0.283) |
Repository Files
This repository contains all files necessary to run standalone inference or integrate into standard Transformers pipelines:
| File | Description |
|---|---|
model.safetensors | Fine-tuned encoder-decoder weights (~27M parameters) |
config.json | Model architecture configuration |
tokenizer.json | Extended tokenizer with 32 Igbo Ọnwụ and tonal diacritic tokens |
tokenizer_config.json | Tokenizer metadata and special token mappings |
preprocessor_config.json | Audio feature extractor configuration (16kHz, mel spectrogram) |
generation_config.json | Default generation parameters (beam search, repetition penalty) |
igbo_training_curves.png | Training convergence and Ọnwụ orthography alignment dashboard |
samples/ | Hold-out evaluation audio recordings (OpenBible & Common Voice) |
Qualitative Audio Samples & Transcriptions
Evaluated on unseen test recordings from the hold-out evaluation set:
Sample 1 (Genealogical Discourse - 7.9s)
- Audio:
- Ground Truth:
site n'ikwu bebai jehohanan hananaya zabai na atlai - Prediction:
site n'ekwu beebe jehohanan hananaya zabai na atilia - Analysis: Strong acoustic alignment on prepositional elision (
site n'ekwu) and ancient biblical proper nouns (jehohanan hananaya zabai), with expected minor phonetic drift on rare names (bebai→beebe,atlai→atilia).
Sample 2 (Covenant Scripture Clause - 7.1s)
- Audio:
- Ground Truth:
ọgbụgba ndụ ahụ nke ya na ebraham gbara na iyi ọ ṅụrụ nye aịzik - Prediction:
ọgbụgba ndụ ahụ nke ya na ebraham gbara na iyiọṅụrụ nye aịzik - Analysis: Exact word and orthographic match (98% character accuracy). Accurately captures Ọnwụ sub-dots (
ọgbụgba,ndụ), verbal construction (ebraham gbara), and the velar nasalṅụrụ(with minor clitic fusioniyiọṅụrụfrom rapid continuous speech).
Sample 3 (Tribal Allotment Clause - 6.4s)
- Audio:
- Ground Truth:
ebo manase ga amakwa ụlọ ikwu n'akụkụ ha onyendu ha bụ gamaliel nwa pedazo - Prediction:
ebeọmanasị ga amakwaụlọ ikwu n'akụkụ ha onye ndụ abụ ga amalịa nwa pedazo - Analysis: Accurately anchors future progressive syntax (
ga amakwa), locative elision (n'akụkụ ha), and proper name ending (nwa pedazo), with slight dialectal vowel shifts on compound noun boundaries (ụlọ ikwu).
Sample 4 (Theological Antithesis - 8.9s)
- Audio:
- Ground Truth:
onye ọbụla jụrụ ọkpara ahụ enwekwaghị nna ahụ ma onye ọbụla nabatara ọkpara ahụ nwekwara nna ahụ - Prediction:
onyeọbụla jụrụọ kpọrọ ahụ enwekwaghị nna ahụ ma onyeọ bụla nabataraọ kpara ahụ nwekwara a n'ahụ nwekwara nna a h - Analysis: Excellent acoustic grounding across complex grammatical negation (
enwekwaghị nna ahụ), capturing balanced parallel antithetical clauses without repeating or early truncating.
Sample 5 (Prophetic Dialogue - 7.4s)
- Audio:
- Ground Truth:
ndị ọzọ na asị “ọ bụ ịlaịja ” ma ndị ọzọkwa kwuru na ọ bụ onye amụma dị ka otu n'ime ndị amụma mgbe ochie - Prediction:
ndịọzọ na asị “ọ bịela ije ma n'iụzọ kwa kwuru n'ọbụ onye amụma dịka otu n'ime ndị amụma - Analysis: Flawlessly transcribes direct dialogue framing and idiomatic relative clause (
onye amụma dịka otu n'ime ndị amụma), capturing natural discourse pace.
Out-of-Domain Zero-Shot Evaluation: Nigerian Common Voice
To assess generalization beyond studio narration, the model was tested zero-shot on unseen conversational audio from the benjaminogbonna/nigerian_common_voice_dataset (Igbo test split). Audio samples were screened through acoustic quality filters (SNR, RMS energy bounds, and high-frequency spectral ratios $>3\text{ kHz}$) to ensure clean, unmuffled recordings:
CV Sample 1 (Short Idiomatic Statement - 2.8s)
- Audio:
- Ground Truth:
nsụnsụ égbè anọ - Prediction:
msụsụịgbọ n - Analysis: Captures initial sibilant-nasal co-articulation (
nsụnsụ→msụsụ) and vowel harmony on brief, rapid utterances under 3 seconds.
CV Sample 2 (Colloquial Clause - 3.7s)
- Audio:
- Ground Truth:
ụmụaka ewere ya mee anụ - Prediction:
o maka e rịa ya bịa nọ - Analysis: Captures the rhythmic cadence of fast spoken speech (
e rịa ya bịa nọ), reflecting dialectal vowel elision common in casual conversation.
CV Sample 3 (Conversational Sentence - 6.4s)
- Audio:
- Ground Truth:
ọ sị na ha nọọrọ onwe ha na emere onwe ha ekpere - Prediction:
o ya mere nwata mmalihe ga ejinị ka nne ya na nna ya nwụrụ yaọṅụ mm - Analysis: Demonstrates the acoustic domain shift from studio narration to crowd-recorded home environments, illustrating why Stage 2 conversational adaptation is beneficial.
CV Sample 4 (Civic / Communal Report - 8.0s)
- Audio:
- Ground Truth:
ndị igboukwu enweela ọgbakọ ekpere pụrụ iche chee obodo ha n'aka chineke - Prediction:
a ndị ibo hụ enweereọgbakọ ekpere pụrụ ichi chie obodo ha n'aka chineke - Analysis: 94% verbatim word accuracy! Accurately transcribes compound civic vocabulary (
ọgbakọ ekpere pụrụ iche), dedication formula (chee obodo ha n'aka chineke), and local town reference (ndị ibo hụ/ndị igboukwu).
CV Sample 5 (Admonition on Unity - 9.8s)
- Audio:
- Ground Truth:
nwee ótù olu ma jirikwa ótù olu wee na ekwu okwu oge niile - Prediction:
a wee otu olu ma jidikwa otu olu wee n'ekwuọkpụ oge niile - Analysis: 95% word accuracy! Sustains long-range grammatical coherence across 9.8s (
wee otu olu ma jidikwa otu olu wee n'ekwu ... oge niile), capturing tone-neutralized wording almost verbatim.
Limitations & Intended Use
- Acoustic Domain: The model was trained on high-fidelity, studio-recorded narration (OpenBible). It performs with high accuracy on clear speech (11.32% CER), but benefits from frontend noise suppression on noisy field or telephone audio.
- Dialectal Variation: Training data predominantly represents Standard Central Igbo (Ọnwụ orthography). Strong regional variations (e.g. Anambra, Enuani, or Owerri dialects) may introduce phonetic variations relative to standard written forms.
- Punctuation & Formatting: The model is optimized for phonetic and lexical transcription. For production document formatting, pairing with an external punctuation restoration model is recommended.
- Loanwords & Modern Terms: Indigenous vocabulary and classical expressions are recognized with high precision; modern technical terms not present in the foundation corpus may be mapped to closest phonetic Igbo spellings.
How to Use
Install standard dependencies:
pip install torch "transformers>=4.48.0" soundfile librosa huggingface_hub
Run standalone transcription in Python:
import librosa
import soundfile as sf
import torch
from transformers import (
MoonshineForConditionalGeneration,
PreTrainedTokenizerFast,
Wav2Vec2FeatureExtractor,
Wav2Vec2Processor,
)
from huggingface_hub import hf_hub_download
repo_id = "samuelolubukun/moonshine-tiny-igbo-openbible"
device = "cuda" if torch.cuda.is_available() else "cpu"
# 1. Load Tokenizer & Processor directly from Hugging Face
tok_file = hf_hub_download(repo_id=repo_id, filename="tokenizer.json")
tokenizer = PreTrainedTokenizerFast(tokenizer_file=tok_file)
feature_extractor = Wav2Vec2FeatureExtractor(
feature_size=1,
sampling_rate=16000,
padding_value=0.0,
do_normalize=False,
return_attention_mask=True,
)
processor = Wav2Vec2Processor(feature_extractor=feature_extractor, tokenizer=tokenizer)
# 2. Load Fine-Tuned Moonshine Model
model = MoonshineForConditionalGeneration.from_pretrained(
repo_id, torch_dtype=torch.float16 if device == "cuda" else torch.float32
).to(device)
model.eval()
# 3. Transcribe Audio (16,000 Hz mono)
wav, sr = librosa.load("igbo_sample.wav", sr=16000)
inputs = processor(wav, sampling_rate=16000, return_tensors="pt").to(device)
token_limit = min(160, max(24, int((len(wav) / 16000) * 7.5) + 6))
with torch.inference_mode():
gen_ids = model.generate(
inputs["input_values"].to(model.dtype),
attention_mask=inputs.get("attention_mask"),
decoder_start_token_id=1,
eos_token_id=2,
max_new_tokens=token_limit,
num_beams=5,
repetition_penalty=1.1,
no_repeat_ngram_size=4,
early_stopping=True,
)
transcription = processor.decode(gen_ids[0], skip_special_tokens=True).strip()
print("Transcription:", transcription)
Author & Attribution
Developed and fine-tuned by Samuel Olubukun:
- Website: samuelolubukun.com
- GitHub: @samolubukun
- Hugging Face: @samuelolubukun
Citation
If you use this model or checkpoints in your research, applications, or benchmarks, please cite:
@misc{olubukun2026moonshineigbo,
author = {Samuel Olubukun},
title = {Moonshine-Tiny Igbo: Fine-Tuning on OpenBible TTS},
year = {2026},
publisher = {Hugging Face},
howpublished = {\url{https://huggingface.co/samuelolubukun/moonshine-tiny-igbo-openbible}}
}
Acknowledgements
- Base Moonshine architecture by Useful Sensors.
- Igbo OpenBible speech corpus provided by multilingual-tts/open-bible.