[quotePost id=11814]f0 41 7f 42 12 40 00 7f 00 41 f7 (GS Reset)[/quotePost][quotePost id=11815]But why 7F instead of 10? All the specs I looked at showed 41 10 42 ...etc[/quotePost][quotePost id=11816]Third byte is the device ID. 10 means for the device 10, 7f means for all devices.
Check the specs :)[/quotePost]
Only System Exclusive messages with Manufacturer IDs of 7E and 7F have their contents specified by the MIDI specs available on the midi.org website. In these messages, a Device ID of hex 7F represents "all devices".
System Exclusive messages with any other Manufacturer ID have their contents specified by the manufacturer that is assigned to that Manufacturer ID. My understanding is the Device ID in Roland System Exclusive messages is a value from hex 00 to hex 1F, and Roland products typically have a default device ID of hex 10. You can see information about the GS Reset message in manuals for Roland products that use GS, such as the Roland SC-8850 manual, which describes the GS Reset message on the bottom of page 230.
[quotePost id=11808]The GS file called test-sysex-gs-40-1x-15-drum-part-change.mid[/quotePost]
Sorry to keep asking about this file, but I am unsure I interpreted it correct.
Is this correct: ?
Change the first track to drums.
Change the second track to grand piano even though its on 10th channel.
Yes, that is correct.
It is NOT a 'rule' that drums should be on Ch 10 (midi data 09), merely a convention. This .mid file will be demonstrating that drums could happily be on Ch 0, and piano on Ch 10.
Geoff
[quotePost id=11822]Another GS, drums on 10 and 11, type 1.[/quotePost]
Channel 12 too?
F0 41 10 42 12 40 1B 15 02 0E F7
[quotePost id=14810][quotePost id=11822]Another GS, drums on 10 and 11, type 1.[/quotePost]
Channel 12 too?
F0 41 10 42 12 40 1B 15 02 0E F7
[/quotePost]Yes, it would appear so. Somehow my editor is not picking that up, but that SYSEX is there in the file, and I just played the file and muted all other channels, and it is a drum. 808 Snare, in fact, as the channel is labeled as such.
I just had a look through my code, and I was always checking for a checksum of 0F, but in this case it's 0E so I missed it. I just removed the checksum from my SYSEX detection, and now can see the correct drums on 12.