[sdiy] Anyone know of a device that does no-added-delay MIDI filtering?

Colin f colin at colinfraser.com
Tue Mar 7 13:02:09 CET 2006


  
> It would be possible to make a no latency filter by 
> "disarming" messages for a non-wanted channel. 

> When a status byte of a channel to be filtered arrives, the 
> microcontroller selects the alternate mux channel, replacing 
> the original data bytes. For example, for a note on, the 
> microcontroller replaces the data bytes by 00 00, being 
> careful not to mask any realtime messages. This would be 
> interpreted as a note off for note 0 by the receiving 
> instrument - thus not triggering a note on. Since there will 
> be a corresponding note off, masked in a similar way, all 
> noteon messages for note #0 will be turned off eventually.

I can see a problem with that.
If you get a status message for a filtered channel, your micro starts
replacing the next data byte with 00.
But what if the next byte is going to be another STATUS byte, on the channel
you want to pass to the filtered device ?
You don't realise it's a status byte until the MSB, by which time it's too
late to stop sending the 00.
One status byte shouldn't follow another, but if you're allowing yourself to
play around with the MIDI standard, then you can't get too upset if someone
else does.
I don't think there's any way you can avoid at least one byte of MIDI
latency for a filter, short of developing a 320us negative delay.
If you can build such a delay, I'd chain a couple of thousand of them to the
audio from the lottery results show then go and buy a ticket.

Cheers,
Colin f




More information about the Synth-diy mailing list