Automatic Speech Recognition
Transformers
Safetensors
Timne
wav2vec2-bert
speech
asr
african-languages
w2v-bert
khaya
Eval Results (legacy)
Instructions to use KhayaAI/w2v-bert-tem with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use KhayaAI/w2v-bert-tem with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("automatic-speech-recognition", model="KhayaAI/w2v-bert-tem")# Load model directly from transformers import AutoProcessor, AutoModelForCTC processor = AutoProcessor.from_pretrained("KhayaAI/w2v-bert-tem") model = AutoModelForCTC.from_pretrained("KhayaAI/w2v-bert-tem", device_map="auto") - Notebooks
- Google Colab
- Kaggle
File size: 4,617 Bytes
2f163bb bc7272e 2f163bb bc7272e 15157bd bc7272e 2f163bb afe8d9a bc7272e 2f163bb afe8d9a bc7272e 2f163bb bc7272e 15157bd a143e1c bc7272e 2f163bb bc7272e 2f163bb bc7272e 2f163bb bc7272e 2f163bb bc7272e 2f163bb bc7272e 2f163bb bc7272e 2f163bb bc7272e 2f163bb bc7272e 2f163bb bc7272e 2f163bb bc7272e 2f163bb bc7272e 2f163bb bc7272e 2f163bb bc7272e 2f163bb bc7272e 2f163bb bc7272e 2f163bb bc7272e 2f163bb bc7272e 2f163bb bc7272e 2f163bb bc7272e 2f163bb bc7272e 2f163bb bc7272e 15157bd bc7272e 2f163bb bc7272e 2f163bb bc7272e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | ---
language:
- tem
license: apache-2.0
library_name: transformers
pipeline_tag: automatic-speech-recognition
tags:
- speech
- asr
- african-languages
- w2v-bert
- khaya
- tem
- arxiv:2607.21540
metrics:
- wer
model-index:
- name: w2v-bert-tem
results:
- task:
type: automatic-speech-recognition
name: Automatic Speech Recognition
metrics:
- type: wer
value: 10.6
name: WER
---

# w2v-bert-tem — Temne ASR
**DONDO** (Democratizing Oral Neural Dialect Ontology) open speech-recognition base model for **Temne** (Sierra Leone).
Fine-tuned from the **w2v-BERT 2.0** self-supervised speech encoder.
- **Language:** Temne (`tem`)
- **Task:** Automatic Speech Recognition (CTC)
- **Backbone:** w2v-BERT 2.0
- **License:** Apache-2.0 (attribution only; commercial use permitted)
- **Paper:** [arXiv:2607.21540](https://arxiv.org/abs/2607.21540)
- **Demo:** [Try it in your browser](https://huggingface.co/spaces/Ghana-NLP/Sierra-Leone-ASR)
- **Part of:** the DONDO family — <https://huggingface.co/KhayaAI>
## Intended use
A **base model** for Temne ASR. Use it directly to transcribe read or relatively
clean speech, or as an initialisation to **fine-tune on your own in-domain data**
(conversational, broadcast, clinical, etc.) with comparatively little labelled audio.
DONDO is also intended as an **open test bed**: a shared, reproducible model on
which new low-resource speech techniques can be demonstrated for the benefit of
all. Aligned research groups are welcome to build on it and collaborate.
## Training data
Primarily read speech derived from **religious texts** paired with verified
transcripts in the standard orthography. Such data is license-clear, exists for
many otherwise under-resourced languages, and is orthographically consistent. Its
main limitation is domain narrowness, which is why this is released as a base model.
## Evaluation
| Metric | Value |
|---|---|
| WER (in-domain test) | **10.6%** |
WER is computed on in-domain test material and should not be read as a guarantee
for other domains.
## How to use
```python
import torch, torchaudio
from transformers import AutoProcessor, AutoModelForCTC
model_id = "KhayaAI/w2v-bert-tem"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForCTC.from_pretrained(model_id)
speech, sr = torchaudio.load("audio.wav")
if sr != 16000:
speech = torchaudio.functional.resample(speech, sr, 16000)
inputs = processor(speech.squeeze().numpy(), sampling_rate=16000, return_tensors="pt")
with torch.no_grad():
logits = model(**inputs).logits
pred_ids = torch.argmax(logits, dim=-1)
print(processor.batch_decode(pred_ids)[0])
```
## Limitations
Trained largely on read religious speech, so the model may underperform on
spontaneous, code-switched or noisy audio until fine-tuned. Orthographic
conventions vary across communities; evaluation for the smallest languages rests
on limited test sets.
## 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
```bibtex
@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.
|