Logo Lanfrica

Hirwa-Joric/Kinyarwanda-Voice-Assistant

Domaine:

natural language processing

Type de record:

softwareproject
Créateur:
Hir
Hôte:
# Kinyarwanda Voice Assistant A voice interface application that processes Kinyarwanda speech, understands questions using NLP, and responds with natural voice output. ## Features - Speech Recognition (ASR) using KinyaWhisper (mbazaNLP/Whisper-Small-Kinyarwanda) - Natural Language Processing (NLP) with FastText vector embedding support - Text-to-Speech (TTS) synthesis for natural-sounding responses - Interactive web interface with real-time voice processing - Knowledge base of common Kinyarwanda phrases and information - Expandable conversation capabilities ## Project Structure ``` ├── src/ # Source code │ ├── asr.py # Speech recognition module (KinyaWhisper) │ ├── nlp.py # NLP matching module with FastText support │ ├── tts.py # Text-to-speech synthesis module │ └── app.py # Main application with Gradio interface ├── data/ # Data files │ ├── qa_pairs.json # Knowledge base in Kinyarwanda │ └── transcriptions.json # Processing records ├── audio_samples/ # Processed audio │ ├── input/ # Processed speech inputs │ └── output/ # Generated voice responses ├── setup.sh # Full setup script ├── setup_minimal.sh # Minimal setup script ├── setup_asr.sh # ASR model setup script ├── setup_fasttext.sh # FastText model setup script ├── run_demo.py # Demo application ├── requirements.txt # Dependencies └── README.md # Project documentation ``` ## Key Components ### 1. Core Processing Modules The application is built on four specialized components: - **Speech Recognition**: Converts Kinyarwanda speech to text using advanced acoustic models - **Language Understanding**: Processes text inputs and identifies user intent - **Knowledge Matching**: Maps user questions to appropriate answers - **Speech Synthesis**: Converts text responses to natural-sounding speech ### 2. Voice Processing The system de …