# Kinyarwanda Voice Assistant
A simple voice-enabled assistant that transcribes Kinyarwanda speech, matches it to predefined answers, and speaks the reply. Built with KinyaWhisper (ASR), fuzzy-wuzzy (NLP matching), and gTTS (TTS).
---
## Table of Contents
- Features
- Demo
- Getting Started
- Prerequisites
- Installation
- Usage
- Project Structure
- Customization
---
## Features
- **ASR (Speech-to-Text):** Transcribes Kinyarwanda audio to text using the fine-tuned KinyaWhisper model.
- **NLP Matching:** Matches transcribed questions to answers via fuzzy string matching.
- **TTS (Text-to-Speech):** Converts answers into spoken audio with gTTS, falling back to English if Kinyarwanda unsupported.
- **Multi-format Input:** Supports `.wav`, `.opus`, `.mp3` via FFmpeg/torchaudio.
- **Sample Data:** Includes 5 example audio files and their expected responses.
---
## Demo
> **Example Run:**
>
> ```bash
> python main.py audio/q1_amakuru.wav
> ```
>
> Output:
>
> ```
> Transcribing…
> You said: amakuru yawe?
> Bot answers: Ni meza cyane, murakoze!
> [warning] gTTS doesn’t support 'rw'. Falling back to English ('en').
> Generating speech…
> Spoken reply saved to spoken_outputs/response_1682912345.mp3
> ```
---
## Getting Started
### Prerequisites
- Python 3.8 or newer
- Git
- FFmpeg (added to your system PATH)
### Installation
1. Clone the repo:
```bash
git clone
github.com
cd kinyarwanda-voice-ai-assistant--intelligent-robotics
```
2. Create and activate a virtual environment:
```bash
python -m venv venv
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activate
```
3. Install dependencies:
```bash
pip install -r requirements.txt
```
---
## Usage
1. Run the full pipeline on a sample audio:
```bash
python main.py audio/q1_amakuru.wav
```
2. The assistant will:
- Transcribe the speech (ASR)
- Match to a predefined answer (NLP)
- Speak the reply and save an MP3 (TTS)
--- …