Search code examples
pythonartificial-intelligencemidimusic21midi-instrument

Analyze just Pretty_Midi Instruments


Trying to figure out a good way of solving this problem but wanted to ask for the best way of doing this.

In my project, I am looking at multiple instrument note pairs for a neural network. The only problem is that there are multiple instruments with the same name and just because they have the same name doesn't mean that they are the same instrument 100% of the time. (It should be but I want to be sure.)

I personally would like to analyze the instrument itself (like metadata on just the instrument in question) and not the notes associated with it. Is that possible?

I should also mention that I am using pretty-midi to collect the musical instruments.


Solution

  • In MIDI files, bank and program numbers uniquely identity instruments.

    In General MIDI, drums are on channel 10 (and, in theory, should not use a Program Change message).
    In GM2/GS/XG, the defaults for drums are the same, but can be changed with bank select messages.