This is a mini voice assistant that: Converts Kinyarwanda speech into text (ASR), Matches it to the correct answer (NLP), And speaks the answer back (TTS).
# π£οΈ Kinyarwanda Voice Assistant
This is an open-source voice assistant for the Kinyarwanda language, featuring automatic speech recognition (ASR), natural language understanding (NLU), and text-to-speech (TTS). It allows users to ask questions in Kinyarwanda and get spoken responses.
---
## π Features
- **ASR with KinyaWhisper** β Converts spoken Kinyarwanda into text using a Whisper model fine-tuned for the language.
- **NLU with simple NLP matching** β Finds best-matching answers from a local Q&A database using fuzzy string matching.
- **TTS with Coqui TTS** β Synthesizes responses in natural-sounding speech.
- **Local audio playback** β Works on Windows, macOS, and Linux.
---
## π§° Technologies Used
- Python 3.8+
- HuggingFace Transformers
- Torchaudio
- Coqui TTS
- Git & GitHub
---
## π Project Structure
```yaml
kinya-voice-assistant/ βββ data/ β βββ qa_pairs.json # Q&A knowledge base βββ audio/ β βββ response.wav # Generated speech βββ src/ β βββ asr.py # Audio-to-text using KinyaWhisper β βββ nlp.py # Text matching and response selection β βββ ttls.py # Text-to-speech using Coqui TTS β βββ main.py # Main script βββ requirements.txt # Dependencies βββ README.md # This file
```
---
## π οΈ Setup Instructions
### 1. Clone the Repository
```bash
git clone
github.com
cd kinya-voice-assistant
```
2. Create Virtual Environment
```bash
python -m venv venv
# For Windows:
venv\Scripts\activate
# For macOS/Linux:
source venv/bin/activate
```
3. Install Dependencies
```bash
pip install -r requirements.txt
```
If you havenβt installed Coqui TTS yet:
```bash
pip install TTS
```
π§ͺ How to Run
Place a 16kHz WAV file in the project folder.
Update the path in src/main.py if needed.
Run the assistant:
```bash
python src/main.py
```
The assistant will transcribe the audio, find a matching response, and play the reply using Coqui TTS.
ποΈ Add Your Own Q&A
Edit the file at data/qa_pairs.json:
```json
{
"amakuru yawe": β¦