The Genre Map

Do "genre-superclusters" exist among the top 50 music genres?

In the prelude, I mentioned that music streaming services upload approximately 50k new tracks every day . Naturally, we might think this would resolve the "stale playlist problem" Have you ever created a playlist you absolutely loved that eventually got boring? If so, then you've experienced the "stale playlist problem". It can occur when you listen to the same tracks you love over and over again, causing your tracks to "go stale". The stale playlist problem is common in the modern music streaming era.. But, unintuitively, this is not the case: the sheer size of music streaming databases can be overwhelming. Where do you begin to look for new artists/albums/tracks without spending a considerable amount of time sorting through the noise? Is this even possible? It probably feels like it isn't if you don't know the scope of the music space you're in. This is where "Music Atlas" can be useful: it enables you to visualize the Musical Universe My hope is that Music Atlas empowers you to discover both new and familiar "music galaxies" that interest you..

There is a cosmological theory that the Universe has structure on all scales from moons, planets, and stars, to individual galaxies, to clusters of galaxies, to superclusters, and so on without end This is actually a theory, not a fact. The theory is called hierarchical cosmology.. Under this theory, the Musical Universe must have structure on all scales too: from tracks, albums, and artists, to individual "genre galaxies", to clusters of genre galaxies (i.e., "genre galaxy clusters"), to "genre-superclusters", and so on.

To resolve the stale playlist problem, the first step is get an idea of the scale of the Musical Universe. To this end, I created a map (i.e., force-directed graph) of the largest 50 genre galaxies in the Musical Universe. The map can help us answer the question: do genre-superclusters exist among the top 50 music genres on Spotify? Can you find any?

Read my answer Genre-superclusters do appear to exist among the top 50 music genres, and some are more apparent than others. For example, hip hop, gangster rap, trap, and rap may be a genre-supercluster. The same can be said for pop, dance pop, and post-teen pop. I could name several others, but rather than spoiling the fun of discovering the unknown, I'll let you find them yourself. .

How is this map encoded?

Nodes are encoded as circles. Each node is either a track (gray) or genre (colored). For genre nodes, color (ranging sequentially from red-yellow-blue) encodes the number of incoming links (i.e. in degrees). More significant (or connected) genres are more bluish while less significant genres are more redish or yellowish (like how hotter stars emit a bluish color while cooler stars emit a redish or yellowish color).

Is the map interactive?

Yes! Hover over any node to see its name and connections. You can also grab (i.e., click and drag) nodes to see how they affect the graph layout. Future releases may incorporate filtering and more details-on-demand. Stay tuned!

Acknowledgments

Mike Bostock's D3 force-directed graph example
Sophie Engle's Graph Demo's

Contributions

All work was complete by Kai unless noted otherwise.

Feedback Recieved and Future Work

One reviewer reported that the graph did not render when they tried to view it. I suspect this was not a bug but rather caused by the large size of the data, causing the view to leave the page before the graph finished rendering. D3's force-directed-graph function is computationally expensive (particularly when large data is used) because node positions are recalulated every clock tick. To this end, I asked if there were any methods that could speed up the rendering time without compromising position quality in the graph. Professor Engle suggested d3-force-reuse, which I integrated into my final visualization. The improvement is made by approximating the Barnes-Hut values. It does this by reusing approximations instead of computing new ones at each iteration of the layout algorithm.