Practical overview
When it fits
Use it when you want a codebase for experimenting with speech-emotion classifiers, inspecting model scores or adapting the workflow to prepared audio recordings.
Who it is for
- Researchers comparing speech-emotion classification approaches.
- Learners studying audio feature extraction and classifier training.
- Developers prototyping emotion classification for recorded speech.
Documented uses
- Extract numerical audio features such as MFCCs and mel spectrogram features.
- Train and evaluate a classifier against the included datasets.
- Compare estimators with the repository’s grid-search workflow.
- Predict an emotion label from an audio-file path.
- Prepare custom recordings for training or testing.
Requirements & limits
The repository is public on GitHub and identifies its license as MIT.
- The documented environment starts at Python 3.6 and lists specific package versions, including librosa 0.6.3 and scikit-learn 0.24.2.
- The project’s labels include nine emotions, including calm and boredom as well as common emotion categories.
- Custom samples are expected as 16 kHz mono audio with an emotion label at the end of the filename; ffmpeg is listed for conversion.
- Grid search can take several hours, according to the README.
- The repository documents local model training and file-based prediction rather than a hosted API.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Train a speech emotion classifier
Train and evaluate a classifier using the repository’s recognizer workflow.
Before you start
- Python 3.6 or later
- The listed Python packages, installed with pip3 install -r requirements.txt
- The datasets provided in the repository’s data folder
Steps
Create an EmotionRecognizer with a scikit-learn model and selected emotion labels.
Call train() to fit the model.
Call test_score() and train_score() to view the reported scores.
Expected outcome
A trained classifier and its training and test scores.
Guide limitations
- The README’s example uses three labels and reports scores for that example; results are not a performance guarantee for other data.
- Grid search is a separate workflow and may take several hours, according to the README.
Prepare custom recordings for training or testing
Add custom audio samples in the repository’s described format.
Before you start
- Custom recordings
- ffmpeg installed and on PATH for the documented conversion method
Steps
Convert recordings to 16 kHz sample rate and mono channel using the documented audio-conversion method.
Place recordings in data/train-custom or data/test-custom.
Append the emotion label to each filename after an underscore, such as 20190616_125714_happy.wav.
Expected outcome
Custom samples organized in the repository’s training or test folders with labels parsed from filenames.
Guide limitations
- The README describes the custom dataset as unbalanced and noisy.
- ffmpeg is required for the documented conversion method.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 7 November 2026
- Original website title
- x4nth055/emotion-recognition-using-speech · Official homepage title · retained in its source language

