Inspiration
This project was created for my passion for music.
The biggest issue I face with current day music streaming services is the ability to filter a playlist.
Most of the playlists I have are worth 20 GB and consist of over 4000 songs! Crazy right!
The biggest issues with these playlists was being able to pick the vibe I wanted in the current moment.
What I wanted to do is create some music app that can determine what emotion/vibe each song had so you can easily filter and pick songs of a certain vibe you are looking for.
Currently the model was only trained for a select few emotions: Happy, Angry, Sad, Energetic ...
What it does
It labels music based on its emotion/vibe, and each song has its own tags so you can easily spot which ones are of what vibe, then you can just access these specific ones.
How we built it
I used a kaggle data set, cleaned the data with Pandas, then I took this data and used sklearn to help train a Random Forest Cluster ML model using one of the kaggle sets (the API did all the work) then I took another kaggle dataset and used the model to determine tags for emotions/vibes for the songs in that dataset. I then used streamlit to then visualize all these results.
Challenges we ran into
The biggest challenge was cleaning and processing the data properly since it led to issues regarding UI. It was a major issue since the tags the ML model created were inputted as a string that looked like a list rather than a list which led to issues processing these values. I then had to use Ast to help clean this data and I then was able to split each tag into its own column for easier access.
Accomplishments that we're proud of
Since this is my first hackathon im proud of not bailing. I'm also proud to be able to finally fully complete a project on my own and be able to actually tackle the issues in programming rather than just being scared and giving up. Even though it was frustrating at times and my product felt like it had loose ends, I feel accomplished for giving it my all and creating my first ML model with visual results.
What we learned
Cleaning data is a MAJOR point in these projects and that pandas is the best tool for getting through with such things.
What's next for tagify
I wish to be able to implement a section that takes in inputs from the user and search the users inputted song and artist to search the spotify api to gather this information and then create tags for these songs. I would also like to be able to create a way for the songs to actually be played or at least be able to transfer these playlist to streaming platforms so I can clean up my playlists.
Log in or sign up for Devpost to join the conversation.