Music Knowledge Graph App

Hi all,

I created an interactive web app that helps users explore music data from MusicBrainz through a visual network of artists, collaborators, albums and songs. It includes search, filtering, focus mode and shortest-path finding to uncover relationships within music data.

**https://music-knowledge-graph.vercel.app
**
The main issue now is that my app’s data extraction pipeline from MusicBrainz API is slow because of the many levels of API requests and is prone to TLS connection timeouts, especially when users perform searches in quick succession. This leads to significant delays between initiating an artist search and rendering the network.

To mitigate this, I’ve pre-seeded Supabase with catalog data for a selection of popular artists. All search results are cached in Supabase so that data retrieved from MusicBrainz API does not need to be fetched again for artists that have already been queried.

Given my lack of expertise and monetary concerns, I did not choose to deploy or maintain a fully indexed mirror of the MusicBrainz database, so this represents the current backend approach.

This is just a proof-of-concept for a network representation of an artists’ music catalog. Keen to hear user feedback and ideas for performance!

5 Likes

Excellent work. I have seen maps like this before and they are fascinating for the connections they show up.

2 Likes

For what it’s worth, I was able to set up a fully indexed mirror of the MusicBrainz database on my macOS laptop without much fuss. It updates itself daily. I hardly notice it. (And, I absent-mindedly left it turned off for over a month recently, and when it started up, it ingested over 900 update packets without a complaint.) However, the indexing has often had problems on my aarch64 machine. That might be because the docker images are compiled for x86-64 and run in emulation.

My experience is that having a fully populated mirror of the MusicBrainz is low effort and zero marginal cost. Making the mirror indexed is unproven on my aarch64 machine, but might work better on an x86-64 machine.

When I get a moment to look at this app, it will be as a fan of classical music. I will want to follow links of composers, librettists, and performers other than the Album Artists.

1 Like

I like those graphs a lot.

Do you plan keep it alive some time? I can link from my FestivalGuide app to it, with an Artist pre-selected?
I had something like what you built in mind for a long time but it is not feasible to build it into a mobile app.

I would also like a generated Graph like Wikipedia has for band members.

1 Like