Logo Lanfrica

CodeByIman/darija_speech_recognizer

Domain:

natural language processing

Record type:

software
Creator:
Cod
Host:
# 🗣️ Darija Speech Recognition MVP A **Minimum Viable Product (MVP)** for speech recognition in **Moroccan Darija** (Moroccan Arabic dialect). This is a proof-of-concept project that recognizes three basic voice commands using a small, self-collected dataset. ## 🎯 Project Overview MVP Scope: This project currently recognizes 3 basic Darija commands: 🚪 "حل الباب" (ḥall bab) - Open the door 💡 "شعل الضوء" (šaʿʿal ḍ-ḍaw) - Turn on the light 📺 "تفي الضو" (tfayeḍ t-talfaza) - Turn on the TV **Current Status:** This is an early-stage experiment with a limited dataset collected manually. The goal is to demonstrate the feasibility of Darija speech recognition and serve as a foundation for future expansion. ### What's included: - 🤖 Basic neural network model for 3-command recognition - 🎤 Simple CLI tool to test voice commands - 📊 Small training dataset (self-collected) - 📓 Jupyter notebook showing the training process - 🔧 Basic prediction and testing scripts ### Limitations: - **Limited vocabulary:** Only 3 commands currently supported - **Small dataset:** Training data is limited and self-collected - **Prototype quality:** This is an MVP/proof-of-concept, not production-ready - **Accuracy:** Recognition accuracy may vary due to dataset size --- ## 🧠 Model Architecture & Technology Stack ### Deep Learning Models Used #### 1. **Primary Model: Multi-Layer LSTM Network** ``` Input: MFCC Features (40 features × 100 time steps) ↓ LSTM Layer 1: 128 units (return_sequences=True) ↓ Dropout: 0.3 ↓ LSTM Layer 2: 64 units (return_sequences=True) ↓ Dropout: 0.3 ↓ LSTM Layer 3: 32 units ↓ Dropout: 0.3 ↓ Dense Layer 1: 64 units (ReLU activation) ↓ Dropout: 0.5 ↓ Dense Layer 2: 32 units (ReLU activation) ↓ Output Layer: N classes (Softmax activation) ``` **Why LSTM?** - **Sequential Processing**: Speech is inherently sequential data - **Long-term Dependencies**: Can remember patterns across time - **Variable Length Handling**: Adapts to different speech durations - **T …