Emotionfy is a cutting-edge system that merges the power of emotion detection with personalized music recommendations. Using deep learning for facial emotion recognition and Spotify’s API, this application recommends playlists tailored to the user’s emotional state. Upload an image, and Emotionfy will do the rest — analyzing your emotion and curating a playlist to match your mood.
- Rey Reyes: CNN Researcher, Backend Developer
- Lucas Yao: Backend Developer, Frontend Support
- Fei Lin: Frontend Developer, Backend Support
-
Emotion Detection FER Dataset
35,887 grayscale 48x48 pixel images labeled with: Angry, Disgust, Fear, Happy, Neutral, Sad, Surprise -
Face Expression Recognition Dataset
A complementary dataset designed for facial emotion recognition tasks.
To enhance emotion detection by integrating Spotify's API, Emotionfy recommends playlists based on user emotions. The deep learning model analyzes facial expressions and maps them to Spotify playlists, offering a seamless blend of technology and music personalization.
- Base Model: Trained a CNN on the FER Kaggle dataset for emotion classification
- Emotion-to-Playlist Mapping: Custom layer to map emotions to Spotify playlists
- React: Interactive UI
- Flask: API and emotion detection
- Spotify Web API: Playlist generation
- Data augmentation and preprocessing for model generalization
- TensorFlow, Keras: Deep learning
- OpenCV: Image processing
- Pandas, NumPy: Data handling
- Matplotlib, Seaborn: Data visualization
- Jupyter Notebook: Development and experiments
- Spotify OAuth 2.0: Secure authentication
- Spotify Web Playback SDK: Music playback integration
-
Emotion Detection
- Analyze facial expressions in images or real-time video
- Detect emotions such as Happy, Sad, Angry, etc.
-
Playlist Recommendation
- Fetch Spotify playlists based on detected emotion
- In-app music playback
-
User Interface
- Upload image or stream video
- Display detected emotion with personalized playlist
- Emotion Detection: Accuracy, Precision, Recall, F1-score
- Playlist Recommendation: Relevance and alignment (user feedback)
- Python 3.8+
- Spotify Developer Account
- Clone the repository
git clone https://github.com/your-username/emotionfy.git cd server - Installing dependencies
pip install -r requirements.txt- Configure Spotify API
- Create a Spotify Developer Account
- Set up an app and get the Client ID and Client Secret
- Update config.py with your credentials
- Run the application
npm run dev
- Run the backend server
python3 main.py- User Customization: Link personal Spotify accounts
- Platform Expansion: Support Apple Music and others
- Improved Emotion Detection: Add video-based tracking
MIT License
Copyright (c) 2024 Emotionfy Team
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction...
THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND...