ASR for African Voices ๐
Collection
Robust speech-to-text models for languages of Africa
โข
14 items
โข
Updated
โข
2
This model is a fine-tuned version of Wav2Vec2-BERT 2.0 for Swahili automatic speech recognition (ASR). It was trained on 400+ hours of high-quality of human-transcribed speech, covering Health, Government, Finance, Education, and Agriculture domains. The model is robust and the in-domain WER is below 8.8%.
| Audio | Human Transcription | ASR Transcription | |
|---|---|---|---|
| 1 | Katika soko kuna duka la matunda na mboga likiwa na bidhaa zilizopangwa vizuri. Vitu mbalimbali kama karoti, mahindi, nyanya na viazi vimepangwa kwenye meza. | katika soko kuna duka la matunda na mboga likiwa na bidhaa zilizopangwa vizuri vitu mbalimbali kama karoti mahindi nyanya na viazi vimepangwa kwenye meza | |
| 2 | Maji ni uhai.Mifereji ya kuwezesha wananchi kuchota maji ya kunywa na pia ya matumizi nyumbani.Ni vyema kuhifadhi maji kwa njia inayofaa. | maji ni uhai mifereji ya kuwezesha wananchi kuchota maji ya kunywa na pia ya matumizi nyumbani ni vyema kuhifadhi maji kwa njia inayofaa | |
| 3 | Barabara yenye shughuli nyingi ambapo watu wengi wanasubiri au wanapanda mabasi mawili ya abiria. Mabasi yote mawili yana muundo wa matatu yakionyesha sanaa na rangi mbali mbali na yametayarishwa kubeba abiria. | barabara yenye shughuli nyingi ambapo watu wengi wanasubiri au wanapanda mabasi mawili ya abiria mabasi yote mawili yana muundo wa matatu yakionyesha sanaa na rangi mbalimbali na yametayarishwa kubeba abiria |
The model can be used directly for automatic speech recognition of Swahili audio as follows
from transformers import Wav2Vec2BertProcessor, Wav2Vec2BertForCTC
import torch
import torchaudio
# load model and processor
processor = Wav2Vec2BertProcessor.from_pretrained("badrex/w2v-bert-2.0-swahili-asr")
model = Wav2Vec2BertForCTC.from_pretrained("badrex/w2v-bert-2.0-swahili-asr")
# load audio
audio_input, sample_rate = torchaudio.load("path/to/audio.wav")
# preprocess
inputs = processor(audio_input.squeeze(), sampling_rate=sample_rate, return_tensors="pt")
# inference
with torch.no_grad():
logits = model(**inputs).logits
# decode
predicted_ids = torch.argmax(logits, dim=-1)
transcription = processor.batch_decode(predicted_ids)[0]
print(transcription)
This model can be used as a foundation for:
The development of this model was supported by CLEAR Global and Gates Foundation.
@misc{w2v_bert_swahili_asr,
author = {Badr M. Abdullah},
title = {Adapting Wav2Vec2-BERT 2.0 for Swahili ASR},
year = {2025},
publisher = {Hugging Face},
url = {https://huggingface.co/badrex/w2v-bert-2.0-swahili-asr}
}
For questions or issues, please contact via the Hugging Face model repository in the community discussion section.
Base model
facebook/w2v-bert-2.0