[sdiy] MIDI merging info requested

ASSI Stromeko at compuserve.de
Tue May 10 19:24:45 CEST 2005


On Montag, 9. Mai 2005 03:02, David Brown wrote:
> It seems like with running status, sys events, and such, that you
> really need to decode both MIDI streams to be able to merge complete
> messages.
[...] 

Yes, there is no such thing as a passive MIDI merge: you need to extract 
complete messages without running status, merge them and perhaps 
reconstruct running status before sending out. Merging the messages 
requires an interlocked FIFO or keeping two timestamped queues (if you 
want to prioritize between the two input streams). Correct handling of 
realtime and sysex messages is a bit tricky. Realtime messages don't 
break running status and anyway are some sort of sidechannel data that 
can be transparently handed through if one of the interfaces never 
generates them. The tricky part is that they can be legally sent 
inbetween any other message. 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.


Achim.
-- 
+<[Q+ Matrix-12 WAVE#46 Neuron microQkb Andromeda XTk sonic heaven]>+

SD adaptation for Waldorf microQ V2.22R2:
http://Stromeko.Synth.net/#WaldorfSDada




More information about the Synth-diy mailing list