Sehaba95 / Emotions-recognition-from-audio-signal

Emotions recognition from audio signal using OpenSmile, PCA and set of classifiers from Scikit-learn library
45 stars 5 forks source link

Emotion Recognition From Audio Signal

This is a set of soultions of Emotion Recognition From Audio Signal from Surrey Audio-Visual Expressed Emotion (SAVEE) Database using OpenSmile, Principal Components Analysis and set of classifiers from Scikit-learn library.

The SAVEE database was recorded from four native English male speakers (identified as DC, JE, JK, KL), postgraduate students and researchers at the University of Surrey.The database consists of recordings in 7 different emotions, 480 British English utterances in total.

OpenSmile is used to extract features from .wav file, it generate 1582 feature. After that, I applied PCA (Principal Components Analysis) for dimentionality reduction. Finally, I used different algorithms for classification.

The different emotions are:

Anger
Disgust
Fear
Happiness
Sadness
Surprise
Neutral

Results

Algorithm Model Performance
Multi Layer Perceptron Classifier 80.20%
Logistic Regression + lbfgs Solver 76.04%
Linear Discriminant Analysis 76.04%
Support Vector Classifier 75%
Logistic Regression 75%
K-Neighbors Classifier 66.66%
Gaussian Naive Bayes 64.58%
Decision Tree Classifier 54.16%
Ada Boost Classifier 41.66%
Random Forest Classifier 32.29%
Discriminant Analysis 28.12%
Gaussian Process Classifier 17.70%

Requirements

Python 2.7 and up

Installation

The followoing are the prerequiste Python modules that needs to be installed to execute main.py:

sudo pip install pandas 
sudo pip install -U scikit-learn

Downloads

Clone the repository using the below mentioned command and execute the Python program.

git clone https://github.com/Sehaba95/Emotions-recognition-from-audio-signal.git
cd Emotions-recognition-from-audio-signal/Classifiers
python MLPClassifier.py

Authors

Sehaba Amine