SS
Back to Projects

Emotion Recognition

Built a lightweight speech emotion recognition pipeline using audio preprocessing, MFCC feature extraction, and CNN-based deep learning for emotion classification.

TensorFlowLibrosaMFCCCNN

SYSTEM ARCHITECTURE

SYSTEM ARCHITECTURESpeech preprocessing + CNN classificationAudio InputSpeech waveformAudio PreprocessingCleaning + normalizationMFCCAudio feature extractionCNNEmotion classifierEmotionPredicted classSpeech is preprocessed, represented with MFCC features, and classified using a CNN-based deep learning pipeline.

Speech is preprocessed, represented with MFCC features, and classified using a CNN-based deep learning pipeline.

Problem

Human emotional expression in speech varies across speakers and recording conditions. The goal was to build a lightweight audio classification pipeline.

Architecture

Audio acquisition → preprocessing → MFCC feature extraction → lightweight CNN classifier → emotion prediction.

Challenges

  • Speaker variability and recording quality differences
  • Class imbalance across emotion categories
  • Background noise robustness
  • Variable audio duration handling
  • Keeping the trained model lightweight for constrained environments

Benchmarks

The project repository documents a final trained model of less than 5 MB and training through Kaggle's remote GPU environment.

Lessons Learned

  • High-quality preprocessing strongly affects speech classification
  • MFCCs provide compact perceptual features for audio models
  • Lightweight architectures can be useful when deployment resources are limited
  • Training and inference have different resource requirements