I'm trying to understand the structure of MIDI files. While reading some files with the Python library python-midi
I've found that two Program Change events with the same data and a difference of 190 ticks. I understand that Program Change event is for selecting GM instrument. Why would you send two Program Change events with the same data?
Here is the structure represented by python-midi
:
midi.TrackNameEvent(tick=0, text='Pad1', data=[80, 97, 100, 49]),
midi.ProgramChangeEvent(tick=0, channel=0, data=[17]),
midi.ControlChangeEvent(tick=1, channel=0, data=[7, 127]),
midi.ControlChangeEvent(tick=1, channel=0, data=[10, 64]),
midi.ProgramChangeEvent(tick=190, channel=0, data=[17]),
midi.ControlChangeEvent(tick=0, channel=0, data=[7, 65]),
Let me know if you need more information.