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
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for BantuLanguagesInitiative/bli-asr-1

Adapter
(220)
this model

Datasets used to train BantuLanguagesInitiative/bli-asr-1