The Music Genre Cheat Sheet.
By: Aratz Hernandez
Tags: Data Science, Music Business, Music, Data Visualization, Data

A simple idea of how Music Producers can use Data to get valuable insights.

As music producer, one common task when starting a new project is to frame the track genre, tempo and key, although by any means this always the first step, sometimes, defining this “ground rules” is the beginning.

In this post, I would like to share the result of a simple but I think insightful analysis made to produce a function able to create a basic “Music Genre Data Sheet”. If interested, at the end of this post I share the link to the analysis repository and where to access the data I used.

Why I decided to build a Music Genre Cheat Sheet?

Recently, I wanted to produce a Techno track, it was not my first time with the genre, but started to think … “I would like to produce this track in a uncommon key and a not so mainstream bpm” … you know, something not in the experimental side but neither in the most popular setting.

Creatively speaking, I guess this is not a strange thought, but realized that in practical terms, it was trickier question.

When trying to get this type of information, I usually jump to google and end in a music forum discussion thread, or if lucky, I happen to contact someone which I know has experience on that genre. But in both cases, the information comes at the expense of an unknown bias level, each producer talk from its experience and taste, so how to be sure if you are getting what you want.

At the end, I decided to look for Data, in particular, a historical record with as much tracks as possible, where I could have three main features: Track Tempo, Key and Genre.

Lucky me, I found a useful source on Kaggle, thanks in advance, this is Spotify data with 13K+ tracks entries and all the main features I wanted to work.

What I wanted to get from the Cheat Sheet?

Although, by any means I see this first try as a final version which contains all the information a Music Producer would like to see in a genre cheat sheet, I had three basic questions I wanted to be able to answer since the beginning.

Which are the most popular Keys? Which are the representative Tempo’s? Which are the closest or more similar genres by Key and Tempo?

The Result

Let’s see the result for the Techno genre.

cheat_sheet = genre_visual(df,’techno’)

Result from genre_visual() function for ‘techno’.

Going back to my initial question, from this simple visualization, I can get that going for a track at let’s say, 122 BPM and Emin, could be a setting that would deliver a track that is within the genre experience (so no to experimental) and at the same time offers a not so commonly heard sonic palette.

Now, to do a quick benchmark and a sort of empirical validation if the cheat sheet works within expectation, let’s see what is the response for a genre like Reggae where I expect to see some differences.

cheat_sheet = genre_visual(df,’reggae’)

Result from genre_visual() function for ‘reggae’.

Fortunately at least at high level, the results make sense to me, we see a lower tempo range and different set of popular Keys where Reggae is reported to be produced.

Features to add and current Limitations:

I think the cheat sheet offers what I wanted to know but it is easy to see its current limitations and more importantly the value a robust genre cheat sheet could add.

About the current limitations:

Might be worth to bucketize the tempo feature. Taking as example the top tempos response for Techno, a track at 128 bpm is not so different from a track at 129 bpm, by grouping tempo ranges we might have a more direct or representative display.

C sus Maj appears as a popular key, my suspect is that those tracks could be C Maj tracks actually, if the raw data gets the key from an automated audio analysis algorithm this could be the case. A human audit of that will help to confirm if that key needs to be re-labeled.

Features to add:

If I could add the Date and Region where the track was produced, I could add a higher level of resolution to the cheat sheet. Imagine, we might think, I want to produce a house track with a 90's vibe of the London scene. Having the right data could allow that.

Energy, Acousticness are features already available in the dataset. Adding a visual characterization of this by genre might be useful, maybe not too much to Music Producers but to Music Business applications. It is worth to add that insight to the cheat sheet.

Potential applications

I started this exercise to make a more informed decision to produce within a genre I have some experience but, having reliable data and a robust cheap sheet could serve other proposes:

A producer could have unbiased guidance when trying to produce a track in a completely new genre to him/her. If you have a fan base or want to target a particular target, you could get this data but containing only what the study group consumes, could be possible to extract if there are popular track properties within this group. A record label might identify characteristics of the tracks that are more popular among their customers or a particular community.

In conclusion, seems like apart from me, the music business can also benefit from having robust genre cheat sheets.

Get the data