Skip to content

inx-sha/EmotionSense

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EmotionSense 🎙️💬

A multimodal emotion recognition system that detects human emotions from both text and pre-recorded audio using classical machine learning techniques, with an interactive Streamlit web interface.

What it does

EmotionSense analyzes input from two modalities and predicts one of four emotions:

Emotion 😊 Happy 😢 Sad 😠 Angry 😐 Neutral
  • Text input — uses sentence embeddings to capture semantic meaning
  • Audio input — extracts MFCC (Mel-Frequency Cepstral Coefficients) features from uploaded .wav files
  • Both modalities feed into trained classifiers (Logistic Regression, SVM) to predict the emotion

Dataset

Trained on the RAVDESS (Ryerson Audio-Visual Database of Emotional Speech and Song) dataset — a validated, widely-used benchmark for emotion recognition research containing 24 professional actors expressing emotions in controlled conditions.

Tech Stack

Component Technology
Language Python
Audio features MFCC (via librosa)
Text features Sentence embeddings
Classifiers Logistic Regression, SVM
Interface Streamlit

Project Structure

EmotionSense/
├── data/             # RAVDESS dataset files
├── models/           # Trained classifier models
├── src/              # Feature extraction and model training scripts
├── app.py            # Streamlit web interface
├── requirements.txt  # Dependencies
└── .gitignore

How to Run

1. Clone the repo

git clone https://github.com/inx-sha/EmotionSense.git
cd EmotionSense

2. Install dependencies

pip install -r requirements.txt

3. Launch the Streamlit app

streamlit run app.py

4. Use the app

  • Type text into the text box or upload a .wav audio file
  • Click Predict to get the detected emotion

Authors

Inshaf Ahamed
BS Computer Engineering — PAF-IAST, Pakistan

About

EmotionSense is a multimodal emotion recognition system that detects human emotions from both text and speech using machine learning techniques such as sentence embeddings, MFCC features, Logistic Regression, and SVM, with an interactive Streamlit web interface.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages