You need to agree to share your contact information to access this model

This repository is publicly accessible, but you have to accept the conditions to access its files and content.

Log in or Sign Up to review the conditions and access this model content.

wav2vec-mos: speech recognition for Mooré

EN. wav2vec-mos transcribes spoken Mooré (mos), the most widely spoken language of Burkina Faso, into text. It is facebook/w2v-bert-2.0 fine-tuned with a CTC head on 126 hours of Mooré speech.

FR. wav2vec-mos transcrit le mooré parlé en texte. C'est le modèle facebook/w2v-bert-2.0 affiné (CTC) sur 126 heures de parole en mooré.

Developed by BurkimbIA Community, a non-profit association working on AI for the national languages of Burkina Faso.

Results

Benchmark Decoding WER CER
burkimbia/asr-benchmark-public greedy CTC, no language model 13.00 % 4.03 %

The benchmark contains 48 utterances of folk-tale speech (about 2.5 minutes), none of which appear in the training data. It is small, so treat these scores as indicative: a few sentences more or less can move the WER by several points.

Usage

Transformers

from transformers import pipeline

asr = pipeline("automatic-speech-recognition", model="burkimbia/wav2vec-mos")
print(asr("clip.wav")["text"])

Input audio must be mono. The pipeline resamples files to 16 kHz.

ONNX Runtime

Two exports are available under onnx/: model.onnx (fp32, weights in model.onnx.data) and model_int8.onnx (dynamic int8 quantization, about 880 MB, suited to CPU inference).

import numpy as np
import onnxruntime as ort
import soundfile as sf
from huggingface_hub import hf_hub_download
from transformers import AutoProcessor

repo = "burkimbia/wav2vec-mos"
processor = AutoProcessor.from_pretrained(repo)
session = ort.InferenceSession(hf_hub_download(repo, "onnx/model_int8.onnx"))

audio, sr = sf.read("clip.wav")  # 16 kHz mono
inputs = processor(audio, sampling_rate=16_000, return_tensors="np")
logits = session.run(
    ["logits"],
    {
        "input_features": inputs["input_features"].astype(np.float32),
        "attention_mask": inputs["attention_mask"].astype(np.int64),
    },
)[0]
print(processor.batch_decode(logits.argmax(-1))[0])

Output format

The vocabulary has 34 letters (the Latin letters used in Mooré plus ã õ ĩ ũ ẽ ɛ ɩ ʋ œ) and a word separator. The output is therefore:

  • lowercase, without punctuation;
  • without digits: numbers come out spelled in words, or are misrecognised;
  • without apostrophes.

Training data

The model was trained on burkimbia/speech-cleaned (gated), the subset of our Mooré speech corpus retained by an automatic quality filter (duration range, audio clarity, noise level).

Utterances 89,055
Total duration 126.2 hours
Utterance length 0.5 to 30 s (mean 5.1 s)
Speaker labels 34
Content Hours Share
Religious readings (two collections) 122.9 97.4 %
Folk tales, proverbs and riddles 3.3 2.6 %
Speaker gender Hours Share
Male 124.2 98.4 %
Female 2.0 1.6 %

Training procedure

  • Base model: facebook/w2v-bert-2.0 (about 600 M parameters), pre-trained by Meta on 4.5 million hours of unlabelled audio (Seamless Communication et al., 2023), using the w2v-BERT objective (Chung et al., 2021). We add a CTC head and one adapter layer.
  • 5 epochs, learning rate 2e-5, batch size 32, feature encoder frozen.
  • Hardware: one NVIDIA A100 80 GB on Google Cloud (Vertex AI), about 5 hours.

Limitations and bias

  • Domain. Almost all training speech is read religious text. Expect higher error rates on spontaneous conversation, on everyday vocabulary that is rare in religious texts (technology, health, administration), and on French loanwords and code-switching.
  • Speakers. Female voices make up less than 2 % of the training audio, and children's voices are absent. Accuracy is likely lower for these speakers. This has not been measured yet.
  • Dialects. The corpus does not label dialectal variants. Performance on variants far from the reading style of the sources is unknown.
  • Recording conditions. Training audio is mostly clean studio-quality reading. Noise, music, overlapping speakers and phone-quality audio degrade the output.
  • Long audio. Utterances above 30 s were not seen in training. Split long recordings into shorter segments.
  • No language model. Decoding is greedy. A language model is expected to reduce errors on word boundaries and spelling.

Intended use

Intended for research, education and non-commercial projects: transcribing Mooré audio, building subtitles, bootstrapping annotation, and serving as a baseline for Mooré ASR research.

Out of scope:

  • surveillance, or identifying or tracking speakers;
  • any use where a transcription error could harm a person (legal, medical or administrative decisions) without human review;
  • commercial use, which the CC BY-NC 4.0 license does not permit.

License

The model weights are released under CC BY-NC 4.0.

Environmental impact

  • Hardware type: NVIDIA A100 80 GB
  • Hours used: 5
  • Cloud provider: Google Cloud
  • Compute region: us-central1

Citation

@misc{burkimbia2026wav2vecmos,
  title        = {wav2vec-mos: Speech Recognition for Moor\'e},
  author       = {{BurkimbIA Community}},
  year         = {2026},
  howpublished = {\url{https://huggingface.co/burkimbia/wav2vec-mos}}
}

Please also cite the base model:

@article{seamless2023,
  title   = {Seamless: Multilingual Expressive and Streaming Speech Translation},
  author  = {{Seamless Communication} and Barrault, Lo{\"\i}c and Chung, Yu-An and others},
  journal = {arXiv preprint arXiv:2312.05187},
  year    = {2023}
}

@inproceedings{chung2021w2vbert,
  title     = {w2v-BERT: Combining Contrastive Learning and Masked Language Modeling for Self-Supervised Speech Pre-Training},
  author    = {Chung, Yu-An and Zhang, Yu and Han, Wei and Chiu, Chung-Cheng and Qin, James and Pang, Ruoming and Wu, Yonghui},
  booktitle = {IEEE Automatic Speech Recognition and Understanding Workshop (ASRU)},
  year      = {2021}
}

Contact

BurkimbIA Community: contact@burkimbia.com, https://burkimbia.com

Downloads last month
32
Safetensors
Model size
0.6B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for burkimbia/wav2vec-mos

Quantized
(2)
this model

Dataset used to train burkimbia/wav2vec-mos

Papers for burkimbia/wav2vec-mos

Evaluation results