# Kinyarwanda ASR: 3rd Place Solution π
This repository contains the code and methodology for the 3rd place winning solution in the **Digital Umuganda Kinyarwanda ASR Challenge** Kaggle competition. The primary goal was to develop a high-accuracy Automatic Speech Recognition (ASR) model for the Kinyarwanda language using 1,000 hours of transcribed speech.
---
## π Methodology and Experiments
To achieve the best possible performance, we explored several state-of-the-art ASR architectures. Our approach was highly experimental, involving training and fine-tuning multiple models to compare their effectiveness on the Kinyarwanda dataset.
### Models Explored
- **Whisper**: We fine-tuned various sizes of OpenAI's Whisper model, which provides a strong baseline for many languages (using the default tokenizer and a customized tokenizer)or Kinyarwanda).
- **Conformer**: We experimented with Conformer-based architectures, known for their excellent ability to capture both local and global features in audio.
- **Parakeet (Winning Model)**: After extensive evaluation, the **NVIDIA Parakeet (CTM)** model family delivered the CombinedError = 0.4 Γ WER + 0.6 Γ CER
Score = (1 β CombinedError) Γ 100, and became the foundation of our final submission. The code and notebooks related to this model can be found in the `model_Parakeet/` directory.
### Language Model Integration (Attempted)
We also attempted to further improve the model's accuracy by incorporating a language model (LM) for post-processing.
- **KenLM & Beam Search**: We trained a 5-gram KenLM model on a custom Kinyarwanda text corpus. The goal was to use this LM with a beam search decoder to refine the model's raw transcriptions and correct common grammatical errors.
- **Challenges**: Unfortunately, we encountered significant technical challenges and persistent errors during the integration phase, particularly with the decoding libraries (`pyctcdecode`). Due to these unresolved issues, we were unable to successfully in β¦