Sina Kashani
Case study · audio

Speech Emotion Detection

A team project that predicts the emotion in a short voice recording, built as our Le Wagon bootcamp final project.

Problem

The way people speak says a lot about how they feel. Our question for the bootcamp final project was simple: can a model hear the emotion in a short voice clip?

What I built

We used the CREMA-D dataset, where actors read sentences with six emotions: anger, disgust, fear, happiness, sadness and neutral. We cleaned the raw audio with normalization, silence trimming and noise reduction. We turned each clip into features such as MFCCs, spectrograms and other spectral and temporal descriptors.

The model is a convolutional neural network that treats the spectrogram like an image. We served it through a FastAPI endpoint on Google Cloud Run and built a Streamlit app on top. In the app you upload or record audio and get the predicted emotion back.

My part

We were a team of four and worked in one shared repository, owned by a teammate. My fork keeps a copy. I worked on cleaning the audio, extracting features, the exploratory analysis, and training and tuning the CNN. I also built the Streamlit app and deployed it on Google Cloud, planned the workflow, kept track of model versions, wrote documentation, and presented the project at the end.

Result

We shipped a working pipeline from raw audio to a live prediction in the browser within four part-time weeks, and presented it with a live demo.

What I’d do next

Test on recordings outside the dataset, since acted speech is cleaner than real conversations. I would also compare the CNN with pretrained audio models.