Logo Lanfrica

Chiesa14/KinyarwandaVoiceAssistant

Domain:

natural language processing

Record type:

software
Creator:
Chi
Host:
An intelligent voice assistant for Kinyarwanda language interaction, developed as part of the Intelligent Robotics course. # 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 KinyarwandaVoiceAssistant ``` - 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. Re …