Inspiration
We got tired of Spotify not being able to read a room and ruin our vibe by playing a song that ruins the mood.
What it does
Using OpenCV and Deepface libraries, our webapp can read your mood based on your facial structure and will then either skip the current song or keep the vibes going.
How we built it
We built MoodSing one brick at a time. We first implemented our mood detection model from OpenCV and Deepface and tested it to determine if it was truly working. We then added compatibility with Spotify API to get music playing for people to like or dislike. We then added skip logic for negative emotions. Finally, we put everything together onto a single web page.
Languages/Frameworks: Python, Flask, Matplotlib, HTML/CSS, and JavaScript Tools: OpenCV, Deepface, Spotify API, and Bluetooth Compatibility
Challenges we ran into
Connecting the project to the Spotify API to get music playing was very tricky. We also wanted to implement an AI that would learn from the user's emotions and decide if the next song should be similar if the user enjoyed the song or something different if the user did not like the song. However, this proved to be too complex for the given time, and the LLMs we used were unable to provide a song URI without access to Spotify's database.
Accomplishments that we're proud of
A working product that has real-world use cases.
What we learned
We learned a lot about AI/ML and the Software Development Process during our time at HackTX
What's next for MoodSing
MoodSing will continue to improve by adding genre detection to continue the same genre of music you're positive about instead of a random song.
Built With
- bluetooth
- deepface
- flask
- html/css
- javascript
- matplotlib
- opencv
- python
- spotifyapi
Log in or sign up for Devpost to join the conversation.