Instructions to use BantuLanguagesInitiative/bli-asr-1 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use BantuLanguagesInitiative/bli-asr-1 with PEFT:
Task type is invalid.
- Notebooks
- Google Colab
- Kaggle
BLI ASR 1
BLI ASR 1 is an experimental automatic speech recognition model for
Lingala, developed by the Bantu Language Initiative. It is a LoRA/PEFT
adaptation of openai/whisper-large-v3 and a continuation of BLI ASR 0.
Compared with BLI ASR 0, this release covers a much wider range of spoken Lingala. In addition to WAXAL, it learns from LRSC for contemporary Lingala, Lingala-TTS for carefully aligned read speech, and OpenBible for older, formal and biblical vocabulary. This broader training mix improves character accuracy on WAXAL and makes the model substantially more useful across modern and historical registers.
This model transcribes Lingala speech into text. It is not a translation model.
Project website and examples: https://bantulanguageinitiative.com/en
Quick Test Dataset
The inference example below loads a held-out audio sample directly from:
BantuLanguagesInitiative/LRSC
LRSC contains aligned Lingala audio and text with train, validation and test splits. The example uses the test split, plays the selected recording, prints its human reference and compares it with the model prediction.
Installation
pip install -U transformers peft accelerate datasets librosa soundfile silero-vad
Install the PyTorch build matching your CUDA runtime. The long-media pipeline
also requires ffmpeg.
Model Description
- Model name: BLI ASR 1
- Task: Automatic Speech Recognition
- Language: Lingala (
ln) - Base model:
openai/whisper-large-v3 - Adaptation method: LoRA / PEFT
- Starting adapter:
BantuLanguagesInitiative/bli-asr-0 - Selected checkpoint: step 12,000, approximately epoch 3.94
- Maximum training segment: 29.5 seconds
- Output: Lingala transcription from speech audio
Training Data
The principal sources represented in this release are:
- WAXAL Lingala ASR: spontaneous speech and continuity with BLI ASR 0.
- LRSC: contemporary Lingala, newer vocabulary and orthographic diversity.
- Lingala-TTS: aligned read speech with short and clearly articulated units.
- OpenBible Lingala: older, formal and biblical Lingala, including vocabulary that is uncommon in modern conversational corpora.
The training pipeline uses conservative text normalization and radio-oriented
audio augmentation. It preserves the Lingala open vowels ɛ and ɔ, accents in
names and French borrowings, and apostrophes. A secondary folded metric maps
common orthographic variants such as ɛ/e and ɔ/o; it is diagnostic only and
does not replace the strict metric.
Evaluation
The table reports the complete validation views for the selected checkpoint. WER and CER are computed after the same conservative normalization used by the V1 evaluation pipeline. Results must be interpreted per corpus: averaging these rows would hide major domain differences, especially the strong in-domain OpenBible result.
| Validation corpus | Samples | WER | CER | Folded WER | Exact match |
|---|---|---|---|---|---|
| WAXAL | 1,641 | 30.88% | 12.11% | 30.71% | 4.33% |
| LRSC | 553 | 22.44% | 7.04% | 17.49% | 24.41% |
| OpenBible | 2,088 | 2.41% | 0.69% | 2.41% | 69.83% |
| Lingala-TTS | 341 | 29.61% | 7.16% | 28.12% | 54.84% |
BLI ASR 0 reported a normalized CER of 17.03% on its WAXAL evaluation. The V1 WAXAL validation CER is 12.11%, which is an encouraging improvement. This is an indicative comparison rather than a strict leaderboard claim because the V1 split construction and evaluation pipeline differ from the V0 release.
The LRSC strict/folded gap mainly reflects writing variants. On Lingala-TTS, CER and exact match are more informative than WER for short utterances because word-boundary variants such as joined or separated forms receive a full WER penalty.
Intended Use
The model is intended for:
- Lingala speech transcription with human review
- dataset bootstrapping and assisted annotation
- research on low-resource and Bantu-language ASR
- modern, read, formal and biblical Lingala experiments
- first-pass transcription of short speech segments
Important: Use VAD for Real-World Audio
For long audio, video, radio, YouTube or any recording containing silence, music, jingles or non-speech regions, voice activity detection (VAD) is required. Do not send an entire long recording directly to Whisper. Detect speech first, keep chunks below about 28 seconds, then reject implausibly long or repetitive outputs.
The project provides a long-media inference script with Silero VAD, timestamps, chunking and hallucination guards:
python scripts/v1/transcribe_long_v1.py \
--input /path/to/audio-or-video \
--adapter BantuLanguagesInitiative/bli-asr-1 \
--output_dir ./transcription \
--vad_backend silero \
--vad_threshold 0.45
Limitations
This is a research release, not yet an industrial or fully general Lingala ASR system.
- Without VAD, the model can hallucinate text on silence, music, jingles and background noise.
- Spontaneous and street Lingala remain difficult; the WAXAL validation WER is about 31%, and informal comedy can lose enough words to alter the meaning.
- Proper names, radio and administration names, recent slang, French code-switching and borrowed words remain fragile.
- Music, overlapping speakers, distant microphones and strong radio compression can cause omissions, merged words or repetitions.
- Very short one-word clips can be unstable and should not be used alone to estimate general transcription quality.
- The excellent OpenBible score is in-domain. It demonstrates strong coverage of that register but must not be interpreted as 2.4% WER on general Lingala.
- Long-form performance has not yet been measured against a fully transcribed, speaker-diverse real-world benchmark.
Human review is recommended for publication, subtitles, archives and any high-impact use.
What Still Needs to Improve
The next releases should prioritize a manually transcribed, speaker-diverse benchmark for radio, YouTube and other long-form media; more spontaneous urban Lingala; more proper names, French borrowings and code-switching; and broader negative audio coverage for music and non-speech. The project also needs a documented transcription convention that preserves genuine Lingala variation while treating predictable spelling and word-boundary variants consistently.
LRSC Audio Inference Example
The following example downloads one speech-only recording from the LRSC test
split. Change LRSC_INDEX to listen to another sample. Use the VAD pipeline
above for uncontrolled or long media.
import io
import librosa
import torch
from datasets import Audio, load_dataset
from IPython.display import Audio as IPythonAudio, display
from peft import PeftModel
from transformers import WhisperForConditionalGeneration, WhisperProcessor
BASE_MODEL = "openai/whisper-large-v3"
ADAPTER_MODEL = "BantuLanguagesInitiative/bli-asr-1"
LRSC_INDEX = 0
device = "cuda" if torch.cuda.is_available() else "cpu"
if torch.cuda.is_available():
dtype = torch.bfloat16 if torch.cuda.is_bf16_supported() else torch.float16
else:
dtype = torch.float32
# Charge uniquement le split validation en streaming.
lrsc_validation = load_dataset(
"BantuLanguagesInitiative/LRSC",
split="validation",
streaming=True,
)
lrsc_validation = lrsc_validation.cast_column("audio", Audio(decode=False))
# Ignore les exemples précédents sans charger tout le dataset en mémoire.
sample = next(iter(lrsc_validation.skip(LRSC_INDEX)))
audio_item = sample["audio"]
audio_source = (
io.BytesIO(audio_item["bytes"])
if audio_item.get("bytes") is not None
else audio_item["path"]
)
audio, sample_rate = librosa.load(
audio_source,
sr=16000,
mono=True,
)
print("LRSC validation reference:", sample["transcription"])
display(IPythonAudio(audio, rate=sample_rate))
processor = WhisperProcessor.from_pretrained(ADAPTER_MODEL)
model = WhisperForConditionalGeneration.from_pretrained(
BASE_MODEL,
torch_dtype=dtype,
low_cpu_mem_usage=True,
)
model = PeftModel.from_pretrained(
model,
ADAPTER_MODEL,
).merge_and_unload()
model.to(device).eval()
features = processor.feature_extractor(
audio[: 30 * sample_rate],
sampling_rate=sample_rate,
return_tensors="pt",
).input_features.to(device=device, dtype=dtype)
with torch.inference_mode():
token_ids = model.generate(
features,
language="lingala",
task="transcribe",
max_new_tokens=160,
)
prediction = processor.tokenizer.batch_decode(
token_ids,
skip_special_tokens=True,
)[0]
print("BLI ASR 1 prediction:", prediction)
You may need to uninstall torchao.
!pip uninstall -y torchao
!pip install -q \
"transformers==4.57.6" \
"peft==0.19.1" \
"accelerate>=1,<2" \
"datasets>=4.6,<5" \
librosa soundfile
# kill and restar the process
import os
os.kill(os.getpid(), 9)
License and Data Provenance
BLI ASR 1 is distributed by the Bantu Language Initiative under the Creative Commons Attribution-ShareAlike 4.0 International license (CC BY-SA 4.0).
This license applies only to the rights held by the Bantu Language Initiative in this release, including the BLI ASR 1 LoRA/PEFT adapter and original accompanying materials. It does not replace, modify, or grant additional rights under the licenses and terms of third-party models or training datasets.
BLI ASR 1 is an adaptation of openai/whisper-large-v3 and was trained using several external speech resources. Before using, modifying, redistributing, or commercially deploying the model, users must independently review and comply with the current licenses, attribution requirements, acceptable-use conditions, and other terms associated with:
No source audio files from these datasets are redistributed in this model repository. The Bantu Language Initiative cannot grant rights it does not own. Users are responsible for determining whether their intended use complies with all applicable third-party licenses, laws, consent requirements, privacy obligations, and regulations.
This section is provided for informational purposes and does not constitute legal advice.
References
- Diack et al., WAXAL: A Large-Scale Multilingual African Language Speech Corpus, 2026.
- Radford et al., Robust Speech Recognition via Large-Scale Weak Supervision,
- OpenBible / BibleTTS: Meyer, J., Adelani, D. I., Casanova, E., et al. (2022). BibleTTS: A Large, High-Fidelity, Multilingual, and Uniquely African Speech Corpus. Interspeech 2022, 2383–2387. https://doi.org/10.21437/Interspeech.2022-10850
- LRSC: Kimanuka, U., wa Maina, C., & Büyük, O. (2024). Speech Recognition Datasets for Low-Resource Congolese Languages. Data in Brief, 52, 109796. https://doi.org/10.1016/j.dib.2023.109796
- Downloads last month
- 30
Model tree for BantuLanguagesInitiative/bli-asr-1
Base model
openai/whisper-large-v3