KinyaVA is a Kinyarwanda-speaking voice assistant that combines automatic speech recognition (ASR) and custom-trained text-to-speech (TTS) synthesis. Using NVIDIA NeMo and a VITS2 model, it enables voice interaction in Kinyarwanda, offering a foundation for AI applications in Rwanda and other low-resource regions.
# Kinyarwanda_Voice_AI π·πΌ
Kinyarwanda Voice Assistant - A locally-run AI assistant that understands and speaks Kinyarwanda. Features speech recognition (STT), natural language processing, and text-to-speech (TTS) with Gradio web interface. Ideal for Rwandan developers, researchers, and language preservation efforts.
Demo Screenshot
## Features β¨
- ποΈ Speech-to-text for Kinyarwanda using NeMo Conformer model
- π Text-to-speech with custom KinyaTTS VITS2 model
- π¬ Natural language processing for question answering
- π₯οΈ Gradio web interface with:
- Microphone recording
- Audio file upload
- Automatic response playback
- π Ready for deployment
## Installation π οΈ
### Prerequisites
- Python 3.8 or higher
- pip package manager
- (Optional) NVIDIA GPU for faster inference
### Setup
1. Clone the repository:
```bash
git clone
github.com
cd kinyarwanda_Voice_AI
```
2. Install dependencies:
```bash
pip install -r requirements.txt
```
3. Download models (automatic on first run):
```bash
ASR: mbazaNLP/Kinyarwanda_nemo_stt_conformer_model
TTS: Pre-trained KinyaTTS model
```
### Usage π
Running the Web Interface
```bash
python interface.py
```
The interface will launch at:
```bash
localhost
```
Using the Assistant
Speak or upload audio in Kinyarwanda
The assistant will:
- Transcribe your speech
- Generate an appropriate response
- Speak back the response
### Project Structure π
```bash
.
βββ interface.py # Gradio interface
βββ assistant.py # Main assistant pipeline
βββ stt_module.py # Speech-to-text processing
βββ tts_module.py # Text-to-speech synthesis
βββ nlp_module.py # Natural language processing
βββ audio_samples/ # Example audio files
βββ outputs/ # Generated response audio
βββ requirements.txt # Dependencies
```
### Requirements
```bash
gradio>=3.0
torch>=1.10
torchaudio>=0.10
nemo_toolkit[asr]>=1.7
soundfile>=0.10
huggingface_hub>=0.10 β¦