Sonograph

Sonograph

Tracks · Artists · Genres

An explorable network of 581 tracks linked to the 351 artists who performed them and the 229 genres they belong to — 6,369 links in total. CineGraph's musical twin: same visual language, same interaction patterns, a different dataset.

Tracks   Artists   Genres   Albums   Producers   Labels

Explore the interactive graph →Browse the timelineCompare listener countsExplore the sunburstCompare overlapsBrowse the notesSource code

Genres act as high-degree attractors that hold the layout together; artists and producers form the visible clusters. Collaborations and covers let one artist bridge genre neighbourhoods. Drag to pan, scroll to zoom, click a node for its details and to highlight its connections, or use the search box to jump straight to one.

Every node is also listed under /notes — tracks, artists, genres, albums, producers and labels — each name opening that node on the interactive graph.

The sample

Recording metadata comes from MusicBrainz, with optional Discogs, Genius, Last.fm and Wikidata enrichment, from the seed list in config.yaml.

581
Tracks
351
Artists
229
Genres
6,369
Links
4.35
Mean degree
1970–2026
Years
1,140,795
Mean listeners

Most-connected genres

GenreTracks
Pop163
Rock156
Indie140
Folk127
Country105

Most-represented artists

ArtistTracks
Taylor Swift16
Ariana Grande10
Linkin Park10
Paramore9
Arctic Monkeys8

Which genres travel together

The bipartite track–genre graph projected onto genres alone: 229 genres, 1821 weighted pairs, where a weight is the number of sampled tracks carrying both.

Genre pairShared tracks
Alternative Rock + Rock59
Pop + Rock44
Alternative + Rock39
Indie + Indie Rock38
Indie + Rock33

How it was built

A Python pipeline fetches recording metadata (MusicBrainz as the canonical backbone, with Discogs, Genius, Last.fm and Wikidata as enrichers), caches every raw API response to disk so builds are reproducible, models the result as a networkx.DiGraph of six node types, then renders it as the interactive graph above. A graph.json dump of the same network is written alongside it.