Classify Emotions From Voice Using Machine Learning (Random Forest, SVM, XGBoost, GNB)
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!
The classifier is trained on labeled emotion data with the following categories:
- 😞 Disappointed
- 😖 Disgust
- 😄 Happy
- 😐 Neutral
- 😲 Surprise
✅ 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
-
Clone this repository:
git clone https://github.com/fbrianzy/emotion-classifier-using-audio cd emotion-classifier-using-audio
-
Pip Install Requirements Dependencies
pip install -r requirements.txt
-
Run Streamlit Code
streamlit run main_app.py