Instructions to use KhayaAI/w2v-bert-ada_ewe_fat_fra_gaa_nzi_twi_en with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use KhayaAI/w2v-bert-ada_ewe_fat_fra_gaa_nzi_twi_en with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("automatic-speech-recognition", model="KhayaAI/w2v-bert-ada_ewe_fat_fra_gaa_nzi_twi_en")# Load model directly from transformers import AutoProcessor, AutoModelForCTC processor = AutoProcessor.from_pretrained("KhayaAI/w2v-bert-ada_ewe_fat_fra_gaa_nzi_twi_en") model = AutoModelForCTC.from_pretrained("KhayaAI/w2v-bert-ada_ewe_fat_fra_gaa_nzi_twi_en", device_map="auto") - Notebooks
- Google Colab
- Kaggle
w2v-bert-ada_ewe_fat_fra_gaa_nzi_twi_en β Southern Ghana multilingual ASR
DONDO (Democratizing Oral Neural Dialect Ontology) open multilingual speech-recognition base model for Southern Ghana. A single checkpoint covering: English, Adangme, Ewe, Fante, French, Ga, Nzema, As. Twi. Fine-tuned from w2v-BERT 2.0.
- Region: Southern Ghana
- Languages: English, Adangme, Ewe, Fante, French, Ga, Nzema, As. Twi
- Task: Automatic Speech Recognition (CTC), language-conditioned
- Backbone: w2v-BERT 2.0
- License: Apache-2.0 (attribution only; commercial use permitted)
- Best result: 11.4% average WER (Step 2)
- Paper: arXiv:2607.21540
- Part of: the DONDO family β https://huggingface.co/KhayaAI
Intended use
A multilingual base model for the languages of Southern Ghana. One checkpoint transcribes any of its languages when steered with a language prefix (below). Use directly, or fine-tune further on your own in-domain data. DONDO is also an open test bed for new low-resource speech techniques; aligned research groups are welcome to collaborate.
Training data
Primarily read speech derived from religious texts with verified transcripts in standard orthography, pooled across the region's languages so the shared encoder learns cross-lingual acoustic structure (especially helpful for the smallest languages).
Training procedure
Two-step learning-rate-annealed fine-tuning (a third step for some families):
- Step 1 β coarse adaptation (LR 5e-5): adapt the shared encoder to the full multilingual mixture.
- Step 2 β annealing (LR 5e-6): recover most of the gap to monolingual baselines; for some languages, surpass them.
- Step 3 β optional (LR 5e-7): a further small improvement.
Evaluation β WER (%)
| Setting | Avg | English | Adangme | Ewe | Fante | French | Ga | Nzema | As. Twi |
|---|---|---|---|---|---|---|---|---|---|
| Monolingual | β | 16.9 | 5.38 | 4.5 | 30.1 | 8.5 | 9.7 | 12.6 | 15.75 |
| Step 1 (5e-5) | 14.7 | 34.9 | 11.6 | 8.41 | 18.1 | 6.87 | 19.4 | 27.9 | 19.3 |
| Step 2 (5e-6) | 11.4 | 27.4 | 8.78 | 6.57 | 13.4 | 3.64 | 16.0 | 20.8 | 14.7 |
"x" = not evaluated; "-" = not computed at that step. Lower is better.
How to use
This is a multilingual model. Language identity is injected as a short one-hot language prefix prepended to the acoustic features, so you must tell the model which language to transcribe.
import torch, torchaudio
from transformers import AutoProcessor, AutoModelForCTC
model_id = "KhayaAI/w2v-bert-ada_ewe_fat_fra_gaa_nzi_twi_en"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForCTC.from_pretrained(model_id)
# Map each supported language to a fixed integer id (see repo for the full map)
LANGUAGE_MAP = { "English": 0, "French": 1, "...": 2 } # example
def add_language_prefix(features, lang_id, num_langs, prefix_len=1):
# features: (time, feature_dim). Build a one-hot language vector, map it
# into the feature dimension, repeat over `prefix_len` frames and prepend.
T, D = features.shape
lang_vec = torch.zeros(D)
lang_vec[lang_id % D] = 1.0 # crude one-hot -> feature bin
prefix = lang_vec.unsqueeze(0).repeat(prefix_len, 1)
return torch.cat([prefix, features], dim=0)
speech, sr = torchaudio.load("audio.wav")
if sr != 16000:
speech = torchaudio.functional.resample(speech, sr, 16000)
feats = processor(speech.squeeze().numpy(), sampling_rate=16000,
return_tensors="pt").input_features[0]
lang_id = LANGUAGE_MAP["English"]
feats = add_language_prefix(feats, lang_id, num_langs=len(LANGUAGE_MAP))
with torch.no_grad():
logits = model(input_features=feats.unsqueeze(0)).logits
pred_ids = torch.argmax(logits, dim=-1)
print(processor.batch_decode(pred_ids)[0])
Limitations
Read-religious-text domain; specify the target language via the prefix (no built-in language ID yet). WERs are in-domain. The African English column is harder in the multilingual setting than in a dedicated model.
License
Released under the Apache-2.0 license. You are free to use, modify, redistribute and build upon this model, including for commercial purposes. The only substantive requirement is attribution.
Professional services & hosted APIs
This model is free to use under Apache-2.0. If your team would like help deploying it offline on your own infrastructure and data, Khaya AI offers professional services (integration, fine-tuning and on-premises deployment). For ready-to-use and more advanced ASR, including APIs for interested parties, see Khaya Studio.
- Khaya AI β https://khaya.ai
- Khaya Studio β https://studio.khaya.ai
- Khaya Studio ASR β https://studio.khaya.ai/asr
Citation
@article{azunre2026dondo,
title = {DONDO: Open w2v-BERT Speech Recognition Base Models for African Languages},
author = {Azunre, Paul and Ibrahim, Naafi and Budu, Joel and Adu-Gyamfi, Lawrence},
year = {2026},
eprint = {2607.21540},
archivePrefix = {arXiv},
primaryClass = {cs.CL},
note = {Democratizing Oral Neural Dialect Ontology. Funded by the Huniki Federation.}
}
Acknowledgements
Funded by the Huniki Federation. We thank Ghana-NLP and Algorine Research for their support with benchmarking, testing and data, and Hugging Face for compute credits. We also thank the language communities and data contributors whose recordings and transcriptions made this work possible.
- Downloads last month
- 144
Model tree for KhayaAI/w2v-bert-ada_ewe_fat_fra_gaa_nzi_twi_en
Space using KhayaAI/w2v-bert-ada_ewe_fat_fra_gaa_nzi_twi_en 1
Collection including KhayaAI/w2v-bert-ada_ewe_fat_fra_gaa_nzi_twi_en
Paper for KhayaAI/w2v-bert-ada_ewe_fat_fra_gaa_nzi_twi_en
Evaluation results
- WERself-reported11.400
