Determining User Mood Based on Music Streaming Patterns
Students in this project were interested in determining how to make music streaming services a more personalized and enjoyable experience. This led to a project called Song Mood Detection. Users had the ability to determine the mood of a song, mood of a playlist, or mood based on their own music streaming patterns throughout the day!
The important elements of this project included but were not limited to prediction accuracy, user compatibility, and clean aesthetics through the user interface. To do this, the students collected data with a combination of three APIs: Genius Lyrics, Spotify, and Moon. This would allow for sentiment analysis using song lyrics, collecting other user features (e.g. danceability, tempo, valence, etc.), and the user interface, respectively.
In this algorithm, they utilized the VADER lexicon to collect the polarity of a song by performing sentiment analysis on song lyrics collected from the Genius API. They combined this with Spotify’s song features of danceability, tempo, valence, etc. in order to train their model based on pre-defined mood labels (e.g. chill, in love, energetic, etc.). Their algorithm was trained on a Random Forest model and validated using Cross-Validation. Ultimately, this would provide users with determining song moods, playlist moods, and their own mood based on their music streaming patterns! Lastly, our website User Interface provided an aesthetically pleasing, modern look that would be fun and attractive for users.
To expand on this technology, there would be a need for improvement towards expanding the User Interface, improving the algorithm, and create more fun and interactive visualizations. For the User Interface, they would potentially create an app that would connect users with their own music streaming service and conduct more research on the needs of users. In improving the algorithm, they aim to conduct feature selection, create more precise mood labels, and increase the accuracy. They also plan to make their visualizations more colorful and customizable to create an interactive, personalized, and enjoyable experience!
Project by: Elias Saravia, Audrey Soto, Nicholas Candelaria