This repository contains our work on Speech emotion recognition using emodb dataset. This dataset is available here Emo-db
Linux (preferable Ubuntu LTS). Python2.x
Note: You can skip this step, if you are installing the packages.
Dependencies are listed below and in the requirements.txt
file.
- h5py
- Keras
- scipy
- sklearn
- speechpy
- tensorflow
Install one of python package managers in your distro. If you install pip, then you can install the dependencies by running
pip3 install -r requirements.txt
If you prefer to accelerate keras training on GPU's you can install tensorflow-gpu
by
pip3 install tensorflow-gpu
speechemotionrecognition/
- Package folder which contains all the code files corresponding to packagedataset/
- Contains the speech files in wav formatted seperated into 7 folders which are the corresponding labels of those filesmodels/
- Contains the saved models which obtained best accuracy on test data.examples/
- Contains examples on how to use the package
utilities.py
- Contains code to read the files, extract the features and create test and train datamlmodel.py
- Code to train non DL models. We have three models1 - SVM
2 - Random Forest
3 - Neural Network
dnn.py
- Code to train Deep learning Models. Supports two models given below1 - CNN
2 - LSTM
Have a look at examples/
directory. ml_example.py
has examples using ML models.
cnn_example.py
and lstm_example.py
has examples using cnn and lstm models.
Code documentation can be found here
A setup.py
file is provided in the repository. You can run sudo python3 setup.py install
to install it at system level.
If you don't have privileges to do so, you can install it at user level by running python3 setup.py install --user
.
- If you find any problem with the code, please feel free to open an issue.
- Found something you can improve, please send me a pull request with your changes. I will be more than happy to review and approve them.
Note: If you find this code useful, please leave a star :)