Pulling Engineer, Producer and recording location data directly from the underlying musicbrainz database files

Whilst I tag all new albuns using Picard and also contribute release metadata to MusicBrainz my music collection is extensive and a lot of it was tagged in years prior to Picard.

With Lyrion now supporting browsing a music collection by virtually any tag I would like to enrich my existing metadata by adding producer, engineer and recording location metadata to the rest of my music collection, without going through Picard.

I already have all my metadata relating to all files in my library stored in a sqlite table and have written and used a series of enrichment routines (e.g. adding MBIDs for all artists, standardising artist names etc.) by querying the relevant table(s) directly from a download of the MusicBrainz database.

My question is where in the schema do engineer, producer and recording location reside - I don’t see any of them in the database schema: MusicBrainz Database / Schema - MusicBrainz

They do exist e.g. https://musicbrainz.org/release/1a8c4ac3-6f47-4570-aedb-f1928a0498ea and I’d like to pull it and incorporate it into my file based metadata.

Any pointers much appreciated.

1 Like

I think that the Relationship table structure section is what you’re looking for. The particular table depends on the entity types being linked in the relationship, e.g. you’d use l_artist_recording if you’re looking for producers or engineers associated with recordings. I’m not sure if it’s mentioned in that document, but I believe that the entity names always appear in alphabetical order in the table names, and that this also determines how the entity types are assigned to the entity0 and entity1 columns.

1 Like