Ẹtí: An Open-Source Yoruba Speech Recognition Model
We open-sourced Ẹtí, a Whisper-small model fine-tuned for Yoruba ASR, MIT-licensed and shipped in both Transformers and CTranslate2 formats. Why we built it, how it performs, and what comes next.
Yoruba is spoken by roughly 50 million people across West Africa and the diaspora, and yet it has almost no commercial speech recognition coverage. Mainstream ASR models still struggle with it, and openly licensed Yoruba models are rare. That gap is exactly what we set out to fill.
Today we're releasing Ẹtí, our open-source Yoruba automatic speech recognition model, under the MIT license. It's a Whisper-small model fine-tuned for Yoruba, published in both Transformers and CTranslate2 formats so it runs on a laptop CPU as easily as on a GPU server.
"Ẹtí means 'ear' in Yoruba. It's our small step toward giving one of Africa's most spoken languages a real, open ASR baseline."
Why Yoruba ASR
Speech recognition is the front door to a whole category of products: voice assistants, call-centre automation, transcription, and accessibility tools. When a language has no usable ASR, its speakers are locked out of those products. Yoruba, with tens of millions of speakers, deserves better than a shrug.
This is also a core part of what we're building at DevBlock: African-language voice agents. An agent can't listen if there's no ear. Ẹtí is that ear, the first openly licensed piece of the stack.
The Model Architecture
Ẹtí starts from OpenAI's Whisper-small (MIT) and adapts it with LoRA on the q_proj and v_proj projection layers (rank 16, alpha 32), which we then merge back into the base. The result keeps Whisper's ~244M parameters but is tuned to understand Yoruba the way speakers actually talk.
We ship two formats in one repository:
- Standard Transformers model: for full GPU training and standard Python inference pipelines.
- CTranslate2 int8 build (248MB): optimized for
faster-whisper, allowing instant execution on a commodity CPU with no GPU required.
from faster_whisper import WhisperModel # Run Eti locally with sub-second latency on CPU model = WhisperModel("devblockHQ/eti-yoruba-asr", device="cpu", compute_type="int8") segments, info = model.transcribe("yoruba_audio.wav", beam_size=5) for segment in segments: print(f"[{segment.start:.2f}s -> {segment.end:.2f}s] {segment.text}")
Training Data
The model was trained on a mix of read speech, news audio (IroyinSpeech, CC-BY 4.0, with attribution to its contributors), and a capped sample of WAXAL. The model card documents every source and license, with a clear note to verify terms before commercial use.
Honest Benchmark Numbers
We published held-out WER results rather than cherry-picked ones:
| Dataset / Split | Audio Type | WER Score | Status |
|---|---|---|---|
| Read Speech (Held-out) | News & Scripted | 0.47 WER | Strong Baseline |
| Conversational Yoruba | Spontaneous Speech | 0.82 WER | Ongoing Research |
That gap is the most valuable insight in the model card: conversational data is where the community's contributions will matter most.
What's Next
This is v0.1 of a longer roadmap:
- Expanding conversational and accented training data.
- Training larger base models (Whisper-medium fine-tunes).
- Releasing African-language voice agent pipelines with sub-200ms latency.
- Expanding the same methodology to Hausa and Igbo.
Ẹtí is MIT-licensed and completely free to use. Contributions, feedback, and datasets welcome.
- Hugging Face Model: huggingface.co/devblockHQ/eti-yoruba-asr
- GitHub Repository: github.com/DEVBLOCK-TECHNOLOGIES-LIMITED/eti-yoruba-asr
DevBlock Engineering
Autonomous AI agents, fine-tuned models, and edge infrastructure engineered for enterprise production.