Logo Lanfrica

chih3b/tunisian-speech-emotion-recognition

Domain:

natural language processing

Record type:

model
Creator:
chi
Host:
# Tunisian Speech Emotion Recognition This project implements a deep learning model for speech emotion recognition, with a focus on Tunisian dialect voice emotion detection. The model is based on the Wav2Vec2 architecture and is trained on the EYASE dataset for initial emotion recognition capabilities. ## Features - Speech emotion detection for multiple languages/dialects - Support for 4 basic emotions: angry, happy, neutral, and sad - Based on Facebook's Wav2Vec2 pre-trained model - Real-time audio processing capabilities - TensorBoard integration for training visualization ## Project Structure ``` voiceEmotion/ ├── model.py # Model architecture definition ├── train.py # Training script ├── predict.py # Inference script ├── preprocess.py # Audio preprocessing utilities ├── prepare_data.py # Dataset preparation script ├── requirements.txt # Project dependencies └── datasets/ # Dataset directory └── EYASE/ # EYASE dataset ``` ## Installation 1. Clone the repository: ```bash git clone github.com cd tunisian-speech-emotion-recognition ``` 2. Install dependencies: ```bash pip install -r requirements.txt ``` ## Usage ### Data Preparation ```bash python prepare_data.py ``` ### Training ```bash python train.py ``` ### Prediction ```bash python predict.py --audio_path path/to/audio/file.wav ``` ## Model Architecture The model uses a Wav2Vec2-based architecture with: - Pre-trained Wav2Vec2 base for feature extraction - Custom classifier head for emotion detection - Dropout layers for regularization - Cross-entropy loss for multi-class classification ## Training Details - Learning rate: 2e-5 - Batch size: 16 - Number of epochs: 30 - Optimizer: AdamW - Audio preprocessing: 16kHz sampling rate, 3-second segments ## Results The model achieves competitive performance on emotion recognition tasks: - Training monitoring through TensorBoard - Confusion matrices sav …