How to see instruments in a track?

Hi,

I am trying to understand what instruments have been used in a song (release) for an analysis. My over arching objective is to study the evolution of different types of instruments over the years. How do I go about this?

What I have done:
I have tried to connect l_instrument_release along with instrument as entity0 and release as entity1, along with link, link attribute, link attribute type and link type (as specified in the schema). However, since l_instrument_release is empty, I get no output.

Could someone help me out with this?

So:

  • You probably want to look at recordings, not releases, if you want to check specific songs (also, I think there should be more performers linked at the recording level than at the release level).

  • The instruments are used as attributes of the performer relationship, not directly linked to the release/recording, so you’ll want to check l_artist_release or l_artist_recording.

  • There, you need to look at the relationship attributes (link_attribute and link_attribute_type tables): https://musicbrainz.org/doc/MusicBrainz_Database/Schema#Relationship_table_structure has some info on the structure. I’m not sure how the instruments are stored there, but it’s likely you can get the instrument UUID (gid) from there.

2 Likes

I would probably include both Releases and Recordings in a query, as a lot of releases do not specify instrumentation credits on the track level.

1 Like

Thanks a ton! I looked at l_artist_recording and yes, the instrument information is present in attribute type. Am still trying to get the gid, will update if i can / face any issues!

Interesting! Do I connect l_artist_release and l_artist_recording for this?

No, you shouldn’t really connect them as such. You probably can just do a UNION of the two queries.

How did you determine the instrument information is present in the attribute type? I’m stuck making the connection between the numbers I see when I create the joins between link, link_type, link_type_atrribute_type, link_attribute_type and link_attribute (I have all the GID’s for the instruments). I’m working on link_type 148 = artist to recording to instrument (Indicates an artist that performed one or more instruments on this recording.). But I can’t finish the join and wondered if you had any way to get them to join as they show up on the Database Schema page. I’m so close, I just know it!! Thanks for any guidance

Hi, I remember being confused by the same thing. I used ‘Link attribute type’ and not ‘Link type attribute type’ and that gave me the instrument details for each artist. Hope that helps.