OpenViSTAI · Agents · Blockchain · Crypto
Menu
AI Models

Speech Emotion Recognition

Speech Emotion Recognition is an open-source Python project for extracting features from speech recordings and training or testing machine-learning and deep-learning classifiers that predict emotion labels. It includes sample datasets, a custom-data workflow, model-scoring examples and audio-file prediction examples.

Independent OpenViST project profile, based on linked sources.

Speech Emotion Recognition — OpenViST project profile in AI Models.
OpenViST project illustration. See the linked sources for product details.
Understand the project

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.
Before you choose

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.

Source-based practical guide

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

  1. Create an EmotionRecognizer with a scikit-learn model and selected emotion labels.

  2. Call train() to fit the model.

  3. 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.
Source-based practical guide

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

  1. Convert recordings to 16 kHz sample rate and mono channel using the documented audio-conversion method.

  2. Place recordings in data/train-custom or data/test-custom.

  3. 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.
Evidence and transparency

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