Logo Lanfrica

okonp07/Swahili-ASR-solution

Domaine:

natural language processing

Type de record:

software
Créateur:
oko
Hôte:
Swahili asr # Swahili ASR — Offline, On-Device (Zindi Challenge Starter) Colab‑ready baseline + repo skeleton for building a **Kiswahili ASR** system that runs **fully offline** and fits the challenge constraints (**single NVIDIA T4 ≤16 GB**, strong WER, good Real‑Time Factor). > ⚠️ **Follow Zindi rules.** Use only the datasets provided by the challenge for training and evaluation. Pretrained **open** models are allowed unless the challenge page states otherwise. Do not use paid APIs or private data/services. Always set random seeds. --- ## Quickstart (Colab) 1. Open the notebook: `notebooks/Swahili_ASR_Baseline.ipynb` in Google Colab. 2. Upload/clone this repo into Colab (or mount Google Drive). 3. Place the Zindi audio & metadata into `data/` as instructed in the notebook. 4. Run all cells to: - Install deps (open‑source only) - Transcribe with a **faster‑whisper** baseline (int8_float16 on T4) - Produce `artifacts/submission.csv` with columns: `filename,text` - Measure **RTFx** (Real‑Time Factor) and peak GPU memory - (Optional) Evaluate WER on a validation split you create from the provided training set --- ## Repo Layout ``` . ├── config/ │ └── config.yaml # model + decoding defaults ├── data/ # put Zindi-provided data here (not tracked) │ └── README.md ├── notebooks/ │ └── Swahili_ASR_Baseline.ipynb # Colab-ready notebook ├── scripts/ │ ├── infer_fasterwhisper.py # CLI baseline inference -> submission.csv │ ├── compute_wer.py # WER scorer (filename-aligned) │ ├── train_wav2vec2_ctc.py # (skeleton) HF CTC fine-tune (rules-compliant) │ └── measure_rtf_memory.py # log RTFx and peak GPU usage ├── swahili_asr/ │ ├── __init__.py │ ├── data.py # dataset loaders (wav paths + labels) │ ├── text.py # normalization for WER/submission │ ├── decoding.py # faster-whisper decoder helpers │ ├── metrics.py # WER compute utils …