A Kinyarwanda voice assistant
# Kinyarwanda Voice Assistant π€
An intelligent voice assistant for Kinyarwanda language interaction, developed as part of the Intelligent Robotics course.
## Features π
- ποΈ **Kinyarwanda ASR** using KinyaWhisper (16kHz optimized)
- π§ **Contextual Understanding** with fuzzy logic matching
- π’ **Natural Responses** with Kinyarwanda TTS
- π **Noise Reduction** using advanced audio cleaning
- ποΈ **Voice Activity Detection** for precise speech recognition
- π **Anti-Repetition** transcription filters
- π **Conversation Analytics** with matching insights
- π **Web Interface** with Gradio integration
## Tech Stack π οΈ
- **Core AI**: Hugging Face Transformers
- **Audio Processing**: Librosa + Soundfile
- **NLP**: FuzzyWuzzy + Python-Levenshtein
- **Interface**: Gradio
- **Optimization**: WebRTC VAD + Noisereduce
## Installation π»
### Prerequisites
- Python 3.12
- FFmpeg (audio processing):
```bash
# Ubuntu/Debian
sudo apt-get install ffmpeg
# macOS
brew install ffmpeg
# Windows (via chocolatey)
choco install ffmpeg
```
## Quick Start π
- Clone repository
```bash
git clone
github.com
cd KinyaWisper
```
- Set up virtual environment
```bash
python -m venv .venv
source .venv/bin/activate # Linux/macOS
.\.venv\Scripts\activate # Windows
```
- Install dependencies
```bash
pip install -r requirements.txt
```
## Configuration βοΈ
#### QA Configuration in `nlp_mapping.json`
```json
{
"qa_pairs": [
{
"question": "Mwaramuce neza?",
"answer": "Mwaramutse! Amakuru yanyu?"
}
],
"default_response": "Vugurura ikibazo."
}
```
#### Audio Files
You can find sample Kinyarwanda recordings in the `/sample_inputs` folder
Supported formats: `WAV`, `MP3`, `OGG`
## Usage π
#### Start the application
```bash
python main.py
```
#### Access the interface
- Navigate to
localhost
## Interface Guide π‘
1. Record using your microphone or upload an audio file
1. Click **Submit** to process (β³ ~10β60 sec)
1. Response audio auto-pla β¦