Music Popcorn places each genre into one of fifteen or so high level genre families. This helps to bring an overall structure to the space. All the rock genres are close together, and all the metal genres are close together, and they are far away from the country genres.

I wanted to incorporate a notion of popularity in the visualization. I didn’t want a fringe genre like djent or oi to have the same visual prominence as genre like rock or pop. So I’ve sized each genre in proportion to its overall popularity. Coupled with the clustering based on families it is easy to get a quick overview of how prominent a genre family like metal is when compared to another genre like pop or rock.

The music genre space is quite complex. Genres don’t have hard and fast borders. To show the fuzziness of the borders, when you click on any particular genre I show all the related genres and rearrange the map so that the related genres are closer to the selected genre. And of course you need to be able to listen to a genre, which you can do by clicking on it. Music clips are provided by the Spotify Web API.

To build this app, I used The Echo Nest API to supply the genres (nearly 800 of them) and the genre-radio playlisting with Spotify. The visualization is driven by the amazing d3.