Inspiration

During these unprecedented times, many of us have turned to music to lift our souls, connect to one another, and feel alive. Good music, however, does not come easy, and many people struggle with building the ultimate playlist. Sometimes, eternities are spent scouring Spotify just to find a good song. There is only so much music a person can sample before they go crazy from the finding, skipping, and adding that building a great playlist takes. Our team looked to solve this problem. Vibe Check is the ultimate simple, streamlined, and one-click solution that helps all Spotify users further expand their musical horizon.

What it does

Our project addresses the challenge by using machine learning to split up large Spotify playlists into sorted, small, and easily digestible ones.

How we built it

After identifying our challenge, we decided to research possible solutions and methods we could take. After deciding on using K-means clustering to create niche sub playlists, we further researched specific algorithms, including PCA and TSNE. In order to scrape the data from the input playlist, we needed to utilize the Spotify API for developers. After retrieving the track metadata, wwe performed Exploratory Data Analysis, looking for potential trends and correlations between the song data points. When we identified what features we would use to influence the clustering(acousticness, danceability, instrumentalness, energy, and speechiness), we started on the process of fitting our model. First, we found the optimal number of clusters, which turned out to be 5 by using the elbow method. Then, we ran PCA, including a visualization of songs using our axes(PC1, PC2, PC3). Next, we performed TSNE and also visualized it with 2 dimensions. We then visualized the clusters, with the distribution of songs, and the distribution of traits. Finally, we output our results, the sub-playlists. As vibe check is unsupervised learning, we categorized the playlists according to the vibes, and created a radio chart of the playlists. For the app, we picked our model and created APIs to connect the user’s input with the prediction that our model would output given the spotify link.

Challenges we ran into

Vibe Check was a successful project, but it did not come without some bumps in the road. Our greatest challenges were learning new machine learning concepts on the fly, debugging code, and having insufficient data at time to produce meaningful results. In addition, working with the time constraint was difficult. But the overall experience was rewarding, and it taught us how to coordinate as a team and exposed new tech concepts along the way.

Accomplishments that we're proud of

  • Getting tangible results from clustering
  • Having lots of visuals displaying data

What we learned

  • How to visualize results and trends among data
  • How to use K-Means Clustering, PCA, and TSNE
  • Integrating a pickled model with an app
  • Using the Spotify developer API

What's next for Vibe Check - Spotify Enhancer

  • Cleaner, more streamlined UI
  • Improved Machine Learning Model

Built With

Share this project:

Updates