[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