In this challenge, we are using the WAXAL dataset to build automatic speech recognition (ASR) systems that can generalise to previously unseen speech data, with a focus on Lingala, Shona, and Luganda.
# WAXAL-NET reproduction: Lingala, Shona, Luganda
Config-driven reproduction of the WAXAL-NET baseline pipeline for WAXAL ASR.
It implements the paper’s 1.5-second duration and 4 words/second filters,
greedy decoding, normalized jiwer WER/CER, and deterministic FLEURS samples.
## Verified data identifiers
| Language | WAXAL config | WAXAL fields | FLEURS config |
|---|---|---|---|
| Lingala | `lin_asr` | `audio`, `transcription` | `ln_cd` |
| Shona | `sna_asr` | `audio`, `transcription` | `sn_zw` |
| Luganda | `lug_asr` | `audio`, `transcription` | `lg_ug` |
The source is the official `google/WaxalNLP` dataset. Its labeled split names
are `train`, `validation`, and `test`; `unlabeled` is intentionally ignored.
## Quick start
```bash
python -m pip install -r requirements.txt
python -m src.train --config configs/experiment/finetune_lingala_whisper_small.yaml
python -m src.evaluate --config configs/experiment/finetune_lingala_whisper_small.yaml \
--checkpoint /data/hf_cache/jgibson2/waxal/checkpoints/finetune_lingala_whisper_small/best_model
python -m src.zero_shot_eval --config configs/experiment/zero_shot_lingala_mms_1b.yaml
python -m src.cross_domain_eval --config configs/experiment/cross_domain_lingala_whisper_small.yaml \
--checkpoint /data/hf_cache/jgibson2/waxal/checkpoints/finetune_lingala_whisper_small/best_model
```
Every invocation saves `resolved_config.yaml`, filter counts/hours, local JSON
metrics, and a log under its configured `output_dir`. WER above 100% is logged
as a valid insertion-heavy result. Set `use_wandb: true` in an experiment only
after authenticating W&B; local logging is always retained.
Lightweight artifacts (`resolved_config.yaml`, `run.log`, `data_filter_stats.json`,
`metrics.json`) are rooted at `/data/user_data/jgibson2/waxal/outputs`. Heavy
artifacts — the HF model/dataset cache and fine-tuned model checkpoints
(`checkpoint_dir`, referenced by `--checkpoint`) — are rooted at
`/data/hf_cache/jgibson2/waxal` instead, since the …