Music Genres, LODs, and Algorithmic Scoring (Dashboard Week #4)

Music genres are fascinatingly multiplicitous. As a musician myself I love finding out about new ones and where they "fit into" the wide-ranging scheme of all genres. One genre can break down into ten others, which may each break down further into dozens or potentially hundreds of sub-genres. So how could we possibly classify one song as belonging to just a single genre when it may fit into so many others?

It's Dashboard Week here at the Data School, where in our final week of training we soon-to-be-graduates are given a topic or dataset and tasked with putting together a whole dashboard - every day. That includes the start to finish process of data prep, wireframing, dashboard creation, presentation, and writing up a blog like this one.

Today we took a look at music data from Spotify and Youtube which includes musical characteristics of each song such as tempo, valence, speechiness, and dancability. What I felt to be missing here was getting an idea of the genre of each song - so I decided to make my project about that.

While more R-heavy projects like this one from Kaylin Pavlik appealed to me greatly, the whole point of dashboard week is getting something done in a single day. Fortunately I found a super useful dataset from MusicOSet with more Spotify songs that included as well as some basic genre information. Although the genre information is only ascribed to the artists in general and not to the songs themselves, I opted to run with it.

Wireframing

I've discovered this week that I actually quite enjoy wireframing. I find that once I've gotten a clear idea about what I'll create and how I'll create it, it's more or less a simple process to plug in Tableau and Alteryx and chug along to the end.

The plan was to create a dashboard where you could search for any song, perhaps your favorite or least favorite, and see how well it fit into each of a selection of six genres: Pop, Rock, Rap, Country, Hip Hop, and R&B/Soul/Jazz. A URL Action in Tableau would fetch the image for the respective album art. Below there would be information about the song - the characteristics and perhaps also some popularity metrics. A final thought I had would be to include any songs that had similar characteristics - much like Spotify does itself with its recommendation algorithms.

Joining Lots of Data in Alteryx

It's a simple flow today

By taking the extra data from MusicOSet and joining it together along with the original Kaggle data and removing the duplicates, I now had a huge database of songs on my hands.

One interesting aspect of this extra data from was that all the .csv files were not comma-delimited, but in fact were tab-delimited. Fortunately that's an easy fix, just go into the Input tool and change the delimiter from "," to "\t".

The Dashboard

I'm saddened to report that the dashboard did not, in fact, get done today. I crawled through the cacophany of calculations, lost in the deep black forest of LODs, swallowed by the ocean of ambition.

The principal challenge I faced could be described as such: I needed to show a "score" of how well each song fits the criteria of each genre. Both the score and the criteria would be derived using eight of the musical characteristics described earlier, and this would have to be done for each of the six genres. Essentially, at least 48 calculations would be needed, and that's if each was only one step. Add onto this the fact that I wanted to derive these scores using standard deviations from the mean and you have an absolute mess.

Unfortunately, this is just me getting started. These calculations aren't broken down by genre.

There has to be another way to solve this. While it was beyond what I was able to accomplish today, this is VERY likely to be something I'll return to after Dashboard Week is over. Expect to see this blog updated or sequeled within a few weeks!

Author:
Lex Devlin
Powered by The Information Lab
1st Floor, 25 Watling Street, London, EC4M 9BR
Subscribe
to our Newsletter
Get the lastest news about The Data School and application tips
Subscribe now
© 2025 The Information Lab