Instructions to use devblockHQ/eti-yoruba-asr with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use devblockHQ/eti-yoruba-asr with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("automatic-speech-recognition", model="devblockHQ/eti-yoruba-asr")# Load model directly from transformers import AutoProcessor, AutoModelForSpeechSeq2Seq processor = AutoProcessor.from_pretrained("devblockHQ/eti-yoruba-asr") model = AutoModelForSpeechSeq2Seq.from_pretrained("devblockHQ/eti-yoruba-asr", device_map="auto") - Notebooks
- Google Colab
- Kaggle
Ẹtí — Whisper-small fine-tuned for Yoruba ASR
Ẹtí (Yoruba: ẹtí, "ear") is a fine-tuned Whisper-small model for Yoruba automatic speech recognition, released as open source by DevBlock Technology Limited (devblocktechnologies.com).
Yoruba is spoken by ~50M people but has limited commercial ASR coverage. Ẹtí is an early, openly-licensed step toward filling that gap — with a CPU-friendly CTranslate2 build so it can run on edge hardware and low-cost servers.
Model Details
| Field | Value |
|---|---|
| Base model | openai/whisper-small (MIT) |
| Task | Automatic speech recognition (Yoruba, yo) |
| Adaptation | LoRA on q_proj + v_proj, rank 16 / alpha 32, merged |
| Parameters | ~244M (Whisper-small) |
| Formats | Transformers (repo root) · CTranslate2 / faster-whisper (ct2/) |
| Released | 2026-08-15 |
| License | MIT |
The decoder is standard Whisper (language token <|yo|>, task transcribe).
Audio is expected at 16 kHz mono; the feature extractor handles mel
computation on CPU/GPU.
Quickstart
Transformers (PyTorch)
from transformers import WhisperProcessor, WhisperForConditionalGeneration
import librosa
repo = "devblockHQ/eti-yoruba-asr"
model = WhisperForConditionalGeneration.from_pretrained(repo)
proc = WhisperProcessor.from_pretrained(repo, language="yoruba", task="transcribe")
audio, sr = librosa.load("yoruba_clip.wav", sr=16000, mono=True)
feats = proc(audio=audio, sampling_rate=16000, return_tensors="pt").input_features
ids = model.generate(feats, language="yoruba", task="transcribe")
print(proc.batch_decode(ids, skip_special_tokens=True)[0])
faster-whisper (CTranslate2, CPU-friendly)
from faster_whisper import WhisperModel
model = WhisperModel("devblockHQ/eti-yoruba-asr/ct2", device="cpu", compute_type="int8")
segments, info = model.transcribe("yoruba_clip.wav", language="yo", beam_size=5)
print(" ".join(s.text for s in segments))
Command line (faster-whisper)
pip install faster-whisper
python -c "from faster_whisper import WhisperModel; \
m = WhisperModel('devblockHQ/eti-yoruba-asr/ct2', device='cpu', compute_type='int8'); \
print(' '.join(s.text for s in m.transcribe('yoruba_clip.wav', language='yo', beam_size=5)[0]))"
Training Data
| Source | Content | License | Use |
|---|---|---|---|
| Base corpus | Yoruba read speech (train/dev/test) | verify before commercial use | train / dev / test |
| IroyinSpeech | Yoruba news, ~5h validated | CC-BY 4.0 | extra train |
WAXAL voicedata/final_yoruba |
West African speech (capped sample, 6k clips) | verify before commercial use | extra train |
Attribution: IroyinSpeech © its contributors, licensed CC-BY 4.0. The base Whisper model is © OpenAI, MIT.
⚠️ Before commercial use, verify the license terms of the base corpus and WAXAL sample against the current source terms (see
data_licensing.md).
Evaluation
WER (word error rate, lower is better) measured on held-out sets — neither set was used to train the model.
| Set | n | WER (raw) | WER (no diacritics) |
|---|---|---|---|
| Read speech (base-corpus test) | 40 | 0.557 | 0.473 |
Conversational (thisniyi/yoruba-speech-project-v2) |
50 | 1.087 | 0.822 |
- No-diacritics strips tone marks and dot-below (
ẹọṣ → eos) before scoring, isolating word-level errors from tonal/diacritic ones. - Conversational Yoruba is substantially harder than read/news speech; the drop from 0.47 → 0.82 shows where the model needs more (conversational) training data.
- Example (conversational): ref
ọpẹlẹ→ predọ̀pẹ̀nẹ̀; refolóriawo→ predOlóhi àwó ó— the gist is caught, fine-grained words are not.
Note on targets: DevBlock's production gate is WER ≤ 0.20 (API) / ≤ 0.28 (telephony). This release does not yet meet that gate; it is an open baseline, not a production claim.
Intended Use & Limitations
Intended use: general-purpose Yoruba speech-to-text research and prototyping, low-resource ASR benchmarking, and building blocks for voice agents.
Known limitations:
- Conversational and code-mixed speech degrades significantly.
- Tonal and dot-below errors are common — prefer diacritic-insensitive scoring/processing downstream.
- Trained on a capped WAXAL sample; accent and register coverage is limited.
- Whisper-small capacity caps accuracy on harder audio (noise, overlap, distant mics).
Reproduce
- Training pipeline:
train/train_yoruba_asr.ipynb(Colab, T4-friendly; LoRA onq_proj/v_proj, transformers 4.44.2 + peft 0.12.0). - Held-out WER benchmark:
scripts/bench_wer.py. - Rebuild the CTranslate2 format:
pip install ctranslate2
ct2-transformers-converter --model devblockHQ/eti-yoruba-asr \
--output_dir ct2 --quantization int8
Citation
@misc{eti2026,
title = {{Ẹtí}: An Open Yoruba ASR Model based on Whisper-small},
author = {DevBlock Technology Limited},
year = {2026},
howpublished = {\url{https://huggingface.co/devblockHQ/eti-yoruba-asr}},
}
License & Contact
MIT License — © 2026 DevBlock Technology Limited. Whisper base weights are MIT (OpenAI); training-data terms are noted above.
Questions: devblocktechnologies.com · GitHub: DEVBLOCK-TECHNOLOGIES-LIMITED/eti-yoruba-asr
- Downloads last month
- 33
Model tree for devblockHQ/eti-yoruba-asr
Base model
openai/whisper-smallDatasets used to train devblockHQ/eti-yoruba-asr
Tundragoon/IroyinSpeech
Evaluation results
- WER on Yoruba read-speech test (base corpus)self-reported0.557
- WER (no diacritics) on Yoruba read-speech test (base corpus)self-reported0.473
- WER on Yoruba conversational (thisniyi/yoruba-speech-project-v2)self-reported1.087
- WER (no diacritics) on Yoruba conversational (thisniyi/yoruba-speech-project-v2)self-reported0.822