Hello!
I am pretty excited about MIDI 2.0 and have been reading through the specification. I had some questions about MIDI-CI, and was wondering if there were any veteran MIDI-ers could help me clarify this point in the MIDI-CI 1.1 spec about MUIDs?
1. In Section 3.2.2 Broadcast MUID, it defines the Broadcast MUID = 0x0FFFFFFF. This seems to contradict the info in the table under 5.5 Discovery Message, which suggests that the Broadcast MUID = 0x7F7F7F7F.
2. MIDI-CI communicates through SysEx. This means that the byte 0xF7 is 'reserved' (it's the end byte), and the rest of the spec seems to support this, e.g. device ids, sub ids, etc. have most significant bit of zero.
Given the above information, I am inclined to believe that there is an error in the spec, and that MUIDs take the format 0xABABABAB where A is [0-7] and B is [0-F]. Is this belief correct or have I misinterpreted the spec? Thanks in advance to anyone who can help. And thanks to anyone who bothered to read this 🙂
Kev
These are two different representations of the same 28-bit value (28 one bits).
FFFFFFF represents the value in the continuous range from 0 to FFFFFFF.
7F 7F 7F 7F is how the value is encoded into four System Exclusive data bytes.
As you already know, System Exclusive data bytes must have their most significant bit set to zero. The MIDI-CI specification section 5.3.1 also explains that MUIDs and other multibyte fields have their least significant System Exclusive data byte sent first. ("Multibyte fields are generally LSB First unless defined by MIDI 1.0 as a byte sequence." ) So the full range of 28-bit values maps to four System Exclusive data bytes like this:
value System Exclusive data bytes
0 00 00 00 00
1 01 00 00 00
... ...
7F 7F 00 00 00
80 00 01 00 00
... ...
3FFF 7F 7F 00 00
4000 00 00 01 00
... ...
1FFFFF 7F 7F 7F 00
200000 00 00 00 01
... ...
FFFFFFF 7F 7F 7F 7F
Ahhh, thank you for explaining. I incorrectly made the assumption that the MUID was a 32-bit value. I appreciate your help!
I am not sure joke is correct place(forum here, but i think a 32 bit mapping would make it way to easy for anyone to handle it LoL