The Big Takeover Band Discography Analysis with the Spotify API

Please check out my GitHub Page Sam Brady’s GitHub for all of the code and a bunch more visualizations from this project!

So with music being my first passion it’s needless to say the joy I get out of working with music data is immense. Good music data is hard to come by but the Spotify APIhosts a number of interesting features that you can easily obtain and play around with. Most notably, they have analyzed every song in their warehouse and have generated a list of audio features for each song consisting of the song’s popularity, energy, danceability, instrumentalness, acousticness, loudness, tempo, valence, speechless, and liveness. Honestly the API is so awesome you probably already know about it. If your language is Python then the easiest way for you to access the API is through the spotipy wrapper – equally awesome and easy to use! 

For this project I had two things in mind: 

Fortunately I found a short tutorial on how to “cyberpunk” your matplotlib graphs and thought this would be a great time to try it out, and even see if I can take it to the next level. Check it out if you have the time, <Link to the Article Here>! 

The band has a few studio albums, a few live eps, as well as a handful of singles. Here is a sample of all of their studio albums compared track for track with Spotify’s API features! For matplotlib, even I was impressed on how it came out! It was interesting for me to see how things such as the energy, valence (mood) of the song, or danceability changed through out the albums from track to track. You can also easily spot the acoustic tracks.

Next I wanted to explore the popularity of each song. Seaborn is my go-to for bar charts, but I thought the default color pattern actually matched perfectly enough that I didn’t even bother to change it. 

Loudness had a scale all on it’s own, they measure in decibels. A density plot seemed like a good way to compare albums quickly. I wonder… what kind of microphones were they using at Audio Tree Live? This time I was able to replicate the neon “cyberpunk” style into a different type of graph… pretty cool!

Tempo, like Loudness, is on a scale of it’s own. Tempo is measures in beats per minute, and again I thought it would be nice to see the albums side by side, and following the same style. Each album has a unique spread and energy.

I wondered if I could replicate the neon “cyberpunk” style with bar charts. It was a little more challenging but this worked for me. I thought it was time to look into the singles, and not to waste too much space on them so a multiyear chart seemed like the choice. Interesting how low the instrumentalness was on all of the singles, well they aren’t a jam band and these are singles after all. 

Was there another way to compare each single and it’s features to one another? I had to get crafty for this one. A polar chart provides eight quadrants and having taught Trigonometry and Pre-Calculus for so long I really wanted to explore these. In the end they were a perfect way to sum up a songs features in a tight space! To get loudness and tempo on here I had to do a bit of feature engineering, using MinMax Scaler to put the ranges between 0 and 1 to match the other features. 

A classic cover song

So… mission accomplished! I was really happy with how these graphs all came together proving some valuable/interesting information and also being really pleasing to the eye. I think in the future I will generate some playlists based off of their songs. If you have a minute please go listen to The Big Takeover on Spotify!

Here’s my favorite song… I actually play drums AND guitar on this track, and we wrote it in Hawai’i so it holds a special place in my heart and in my playlists!

Get in touch at: