[sdiy] MIDI merging info requested
Bob Weigel
sounddoctorin at imt.net
Wed May 11 09:08:42 CEST 2005
That's...not the standard. Softward that follows the MIDI standard
looks for F7 (eox ie. end of sysex message transmission). F0 is the
beginning of the sysex message and then a manufacturer's code and
product code and various other stuff appears as defined in their MIDI
spec in the manual hopefully. Intelligently written software/firmware
actually could splice other messages in there but I've never
experimented to find if any machines actually do it. The firmware
writer would just have to install a routine that holds progress on the
message receive until it makes an intelligent guess that whatever is
sending the information has resumed xmission of the sysex message. For
instance, if it noted a high first bit (Status byte) , it would
generally either
0) Assume it's the eox...don't bother checking if it's F7 or not...
1) assume it's a one byte message like clock or active sensing... or
2) go all out and check to see what the byte actually is, and from a
look up table or whatever decide how many bytes to ignore until the next
status byte comes through.
Thus in the case where a smart midi merger were in line that would
INSERT timing sensetive data EVEN when the flow of a sysex is
happening...it would handle it. But both the firmware in the synths
receiving data and the merger would have to know all the same stuff
basically. But..that's why MIDI spec isn't just 'any old high first bit
and we're done!'. There may be many units that are written that way
though. But don't count on it. :-)
-Bob
Byron G. Jacquot wrote:
>>> Sysex is complicated by the fact that the
>>>EOX is optional and the timing inside the message might be critical,
>>>which causes big problems as you can't send any other data while a
>>>sysex data transmission might still be in progress.
>>>
>>>
>>Can you explain about the EOX being optional? What terminates the
>>Sysex?
>>
>>
>
>Sysex data is limited to 7-bits. Values of 0-127 only.
>
>Receiving a byte with the MSB set (128 and above) indicates a new
>command, thus the end of the sysex transfer.
>
>Byron Jacquot
>
>
>
>
More information about the Synth-diy
mailing list