AI & Data
Speech Emotion Recognition
Speech Emotion Recognition is an individual Speech Processing course project that predicts both the emotion and intensity behind a spoken audio clip. Built around a CNN-LSTM multitask model, it takes a short recording, extracts MFCC audio features, and returns two simultaneous predictions: the dominant emotion and how strongly it's expressed, along with a window-by-window breakdown of how emotion shifts across a longer clip.
- Machine Learning Developer
- Akademik
- 2026
- Python, TensorFlow, Keras, Librosa, Streamlit, scikit-learn, SciPy
Case Study
01 / PROBLEM
Speech carries emotional information in its acoustic patterns and how they unfold over time, not in the words themselves. A system built to recognize emotion from voice has to extract meaningful features from raw audio and interpret how they change across a clip, rather than relying on any text content. The project also set out to go one step further than a single emotion label, by distinguishing how strongly an emotion is expressed.
02 / PROCESS
Trained on the RAVDESS speech dataset (2,880 labeled clips across 24 actors, 8 emotions x 2 intensities), using 40-coefficient MFCC features extracted with Librosa as the model's input. The model itself is a CNN-LSTM multitask network: two Conv1D+MaxPooling stages for local acoustic feature learning, followed by an LSTM layer for temporal patterns, then two separate output heads predicting emotion (8 classes) and intensity (2 classes) from the same shared representation. For longer clips, a sliding 2.0-second window with a 0.5-second hop feeds the same model repeatedly, and a 5-tap median filter smooths the resulting per-window predictions into stable time segments before they're shown. The whole pipeline is wrapped in a Streamlit interface for uploading audio and reviewing results, including an optional feedback form for correcting a wrong prediction.
03 / RESULT
A completed, working individual Speech Processing project: given an uploaded .wav file, it predicts the speaker's emotion and its intensity, and can break a longer recording into a timeline of emotion segments over time. It runs as an interactive local Streamlit application; it was not deployed publicly.
Project Gallery
Interested in working together?
Reach out to talk about a project, or see more of the work first.