Skip to content

Emad023/EmotionSense-AI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python TensorFlow CNN BiGRU SpeechAI

EmotionSense AI

Deep Learning-Based Speech Emotion Recognition System


Overview

EmotionSense AI is a deep learning-powered Speech Emotion Recognition (SER) system capable of identifying human emotions directly from speech signals.

The system combines advanced audio preprocessing techniques with a hybrid CNN-BiGRU neural network architecture to learn emotional patterns from speech recordings.

The project analyzes vocal characteristics and predicts emotional states including:

  • Angry
  • Happy
  • Sad
  • Fear
  • Neutral
  • Disgust
  • Surprise

This project demonstrates practical applications of Deep Learning, Audio Signal Processing, Speech AI, and Human-Centered AI systems.


Business Problem

Human emotions play a critical role in communication.

Traditional systems understand what people say but often fail to understand how they feel.

Speech Emotion Recognition enables:

  • Intelligent virtual assistants
  • Customer sentiment analysis
  • Mental health monitoring
  • Human-computer interaction
  • Call center analytics
  • Conversational AI systems

EmotionSense AI aims to bridge this gap by automatically recognizing emotional states from speech.


Key Features

Audio Signal Processing

  • Audio preprocessing pipeline
  • Feature extraction
  • Noise handling
  • Audio normalization

Deep Learning Architecture

CNN Layers

  • Learn local emotional speech patterns
  • Extract discriminative audio features

Bidirectional GRU Layers

  • Capture temporal dependencies
  • Learn emotional context from speech sequences

Hybrid CNN-BiGRU Model

  • Combines spatial and sequential learning
  • Improves emotion classification performance

Emotion Classification

Predicts multiple emotional states from speech recordings.

Supported emotions include:

  • Angry
  • Happy
  • Sad
  • Fear
  • Neutral
  • Disgust
  • Surprise

Prediction Pipeline

Audio File ↓ Preprocessing ↓ Feature Extraction ↓ CNN-BiGRU Model ↓ Emotion Prediction


Dataset

The project utilizes:

TESS Dataset

Toronto Emotional Speech Set

Contains professionally recorded emotional speech samples.


SAVEE Dataset

Surrey Audio-Visual Expressed Emotion Dataset

Contains emotional speech recordings from multiple speakers.


Combined Dataset Training

The model was trained using:

  • TESS Dataset
  • SAVEE Dataset

to improve generalization and robustness.


Deep Learning Pipeline

Data Collection

  • TESS Dataset
  • SAVEE Dataset

Data Analysis

  • Exploratory Data Analysis
  • Class Distribution Analysis
  • Audio Characteristics Analysis

Data Preprocessing

  • Audio Loading
  • Signal Processing
  • Feature Extraction
  • Data Scaling
  • Label Encoding

Model Training

Hybrid Architecture:

Input Features ↓ CNN Layers ↓ BiGRU Layers ↓ Dense Layers ↓ Softmax Output


Model Evaluation

Evaluated using:

  • Accuracy
  • Loss Curves
  • Confusion Matrix
  • Classification Metrics

System Architecture

Audio Input ↓ Preprocessing ↓ Feature Extraction ↓ Feature Scaling ↓ CNN Layers ↓ BiGRU Layers ↓ Dense Layers ↓ Emotion Prediction


Technologies Used

Category Technology
Programming Language Python
Deep Learning TensorFlow
Neural Networks Keras
Data Processing NumPy
Data Analysis Pandas
Visualization Matplotlib
Audio Processing Librosa
Machine Learning Scikit-Learn
Notebook Environment Jupyter

Project Structure

EmotionSense-AI/
│
├── src/
│   ├── Preprocessing.ipynb
│   ├── CNN + BIGRU.ipynb
│   ├── Prediction.ipynb
│   ├── SAVEE Data EDA.ipynb
│   ├── SAVEE Data Analysis.ipynb
│   ├── TESS Data EDA.ipynb
│   ├── TESS Data Analysis.ipynb
│   ├── TESS + SAVEE Data EDA.ipynb
│   └── TESS + SAVEE Data Analysis.ipynb
│
├── models/
│   ├── audio_emotion_model.h5
│   ├── label_encoder.pkl
│   └── scaler.pkl
│
├── requirements.txt
├── LICENSE
├── README.md
└── .gitignore

Core Capabilities

Speech Emotion Recognition

Audio Signal Processing

Deep Learning Classification

CNN Feature Learning

BiGRU Sequence Modeling

Audio Feature Extraction

Multi-Class Emotion Classification

Emotional Speech Analysis


Applications

Virtual Assistants

Understand user emotional state.

Customer Service Analytics

Detect customer frustration or satisfaction.

Mental Health Monitoring

Analyze emotional trends in speech.

Human-Computer Interaction

Build emotion-aware AI systems.

Call Center Intelligence

Improve customer experience insights.


Future Improvements

Streamlit Dashboard

  • Audio Upload Interface
  • Emotion Visualization
  • Real-Time Predictions

Real-Time Emotion Recognition

  • Microphone Input
  • Live Emotion Detection

Advanced Deep Learning Models

  • CNN-LSTM
  • Transformers
  • Wav2Vec2
  • HuBERT

Deployment

  • FastAPI
  • Docker
  • Cloud Deployment

Why This Project Stands Out

EmotionSense AI combines:

  • Deep Learning
  • Speech AI
  • Audio Signal Processing
  • Human Emotion Analysis

into a practical Speech Emotion Recognition system.

The project demonstrates hands-on experience in:

  • Deep Learning Engineering
  • Audio Processing
  • Speech AI
  • Neural Network Design
  • End-to-End ML Pipelines

making it a strong portfolio project for AI Engineer, Machine Learning Engineer, Deep Learning Engineer, and Applied AI roles.

About

Deep learning-based speech emotion recognition system using CNN-BiGRU architecture for automatic emotion classification from audio recordings.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors