[sdiy] Anyone know of a device that does no-added-delay MIDI filtering?
Fredrik Carlqvist
Fredrik.Carlqvist at iar.se
Tue Mar 7 13:35:16 CET 2006
You are right of course. Realtime messages can leagally interlace the
data bytes, so it's impossible. I didn't think right. Now, when I have
had lunch, let's have another try:
It would be possible to only delay the realtime and common messages
(those starting with 0xf), and to delay them with just one byte slot,
320us. Channel specific messages would not be delayed.
I don't think it is a rather good idea though. It's better/easier/less
error prone to take the 320us delay route.
Fredrik C
-----Original Message-----
From: owner-synth-diy at dropmix.xs4all.nl
[mailto:owner-synth-diy at dropmix.xs4all.nl] On Behalf Of Colin f
Sent: den 7 mars 2006 13:02
To: synth-diy at dropmix.xs4all.nl
Subject: RE: [sdiy] Anyone know of a device that does no-added-delay
MIDI filtering?
> 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