I have been making some basic MIDI files (based on one created by an app) and they are not behaving exactly as I expected. Take the following string:
00 90 36 50 00 39 50 00 3B 50 00 3E 50 9F 7F B0 7B 00
I understand this as follows:
00 90 - at delta time 0, note on (channel 1):
... 36 50 - note 36, velocity 50
... 00 39 50 - at delta time 0, note 39, velocity 50
... 00 3B 50 - at delta time 0, note 3B, velocity 50
... 00 3E 50 - at delta time 0, note 3E, velocity 50
So it seems as though the 'note on' command opens a sort of bracket and does not need to be repeated for each note.
9F 7F B0 7B 00 (at delta time 9F 7F, all notes off).
When the file contains this string, the notes do not sound. If the note off command is replaced by separate note on commands for each individual note, with the velocity set to zero, the notes do sound and do end - but this means twice as much manual editing down the line, so I want to use the 'all off' approach.
I think I must be misunderstanding something so any pointers would be welcome!