Skip to content

fbrianzy/emotion-classifier-using-audio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

23 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎡 Audio Signal Emotion Classifier 🎧

Classify Emotions From Voice Using Machine Learning (Random Forest, SVM, XGBoost, GNB)

Streamlit App Screenshot

πŸš€ Live Demo

πŸ”— Try it on Streamlit Cloud


πŸ’‘ Overview

This Streamlit web app allows you to classify emotions from WAV audio files using machine learning models like:

  • 🌳 Random Forest
  • πŸ”₯ XGBoost
  • πŸ’‘ Gaussian Naive Bayes
  • πŸ’» Support Vector Machine (SVM)

Simply upload your .wav file and see the magic happen. Complete with emotion predictions, waveform plots, spectrograms, and feature importance charts!


πŸ” Supported Emotions

The classifier is trained on labeled emotion data with the following categories:

  • 😞 Disappointed
  • πŸ˜– Disgust
  • πŸ˜„ Happy
  • 😐 Neutral
  • 😲 Surprise

🧠 Features

βœ… Model Selector: Choose from RF, SVM, GNB, or XGB
βš™οΈ Parameter Option: Use Default or Tuned models
πŸ“ˆ Audio Visualization: Waveform and Spectrogram
πŸ“Š Feature Importance: Only for Random Forest
πŸ”‰ Audio Preview: Listen before predicting


πŸ“ How to Run Locally

  1. Clone this repository:

    git clone https://github.com/fbrianzy/emotion-classifier-using-audio
    cd emotion-classifier-using-audio
  2. Pip Install Requirements Dependencies

    pip install -r requirements.txt
  3. Run Streamlit Code

    streamlit run main_app.py

Releases

No releases published

Packages

No packages published

Languages