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.
Anger
Disgust
Fear
Happiness
Sadness
Surprise
Neutral
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% |
Python 2.7 and up
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
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