Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

EmoWave - Speech Emotion Recognition

This project implements a deep learning model for Speech Emotion Recognition (SER) using audio data. The model is trained on the RAVDESS dataset to classify audio signals into one of eight emotions: neutral, calm, happy, sad, angry, fear, disgust, and surprise. The pipeline includes data preprocessing, feature extraction, data augmentation, model building, training, and evaluation.

Dataset link: Ravdess Dataset

Project Workflow

1. Dataset Loading

Load the audio files from the RAVDESS dataset and assign labels based on file names.

2. Data Visualization

Visualize waveplots and spectrograms for various emotions.

waveplot

spectrogram

3. Data Augmentation

Apply the following techniques:

  • Noise injection
  • Time-stretching
  • Shifting
  • Pitch adjustment

4. Feature Extraction

Extract the following features to reduce complexity and reduce noise:

  • Zero-Crossing Rate (ZCR)
  • Chroma features
  • Mel-Frequency Cepstral Coefficients (MFCCs)
  • MelSpectogram
  • Root Mean Square (RMS)

5. Model Training

The model is a 1D Convolutional Neural Network (CNN) designed for feature extraction and classification.

Layers:

  • Convolutional Layers: Extract spatial features from the audio data.
  • Dropout Layers: Prevent overfitting.
  • MaxPooling Layers: Reduce the dimensionality of feature maps.
  • Dense Layers: Perform classification into the 8 emotion categories.

6. Evaluation

Evaluate the model using metrics like accuracy, confusion matrix, and classification report.

confusion_matrix

Results

The model achieved an accuracy of 65.74% on the test dataset.

  • Loss: Decreases consistently over epochs.
  • Accuracy: Peaks around 65% on validation dataset.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages