[sdiy] Anyone know of a device that does no-added-delay MIDI filtering?
Ingo Debus
debus at cityweb.de
Sun Mar 5 19:37:13 CET 2006
Am 05.03.2006 um 03:11 schrieb Bob Weigel:
> 0) On boot up, zeros are stored in memory locations which will be
> used to store 'last controller value'. So one for each controller
> type. Also center pitch will be stored in a two byte location.
> And zero AT (poly not necessary since no midi equipped older synths
> have poly AT )
>
> 1) all incoming status bytes go through all ports that are set up
> for *this* type of filtering (was thinking of an option switch to
> turn it on to standard buffer before send in case a machine like
> P600 isn't compatable with the scheme).
> 2) If the CPU sees that a status byte is not intended for a machine
> it was just sent to, it doesn't send the following 2 bytes for a
> note message. Rather it subsitutes NOTE 0...or NOT 127...neither
> of which will trigger many old synths I believe :-). I at least
> have some that don't respond including the Siel as I recall. Then
> selects zero for velocity probably.
>
> If it's a controller message, and it's not for this synth, then the
> value to follow is substituted for the 'last value' saved in memory.
Interesting concept, but IMHO it's more "food for brain" than of
practical use. One MIDI byte takes only aboutt 1/3 of a millisecond,
so I doubt that it's really worth the effort.
But anyway...
You'd need a hardware multiplexer (controlled by the micro) to switch
the output between the MIDI input and the serial output of the micro.
If the MIDI output was hard wired to the micro's serial out, you'd
still get the minimum latency of one MIDI byte. The micro can only re-
send a byte after it has been completely received.
Then I don't think it's a good idea to replace *all* unwanted Note
messages (Note On and Note Off) with a Note On that is out of the
receiving synth's range. The synth won't sound this note, but it
probably gets clogged. You could perhaps send Note-Ons and Note-Offs
alternatingly.
For the controller thing, you'd need plenty of RAM. You'd have to
store the values of all 128 controllers (plus Pitch Bend plus
Aftertouch) for all outputs.
Ingo
More information about the Synth-diy
mailing list