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

Bob Weigel sounddoctorin at imt.net
Mon Mar 6 01:16:17 CET 2006


Ahh Ingo understand me :-). Thank you.  Yes we concur.  As it turns out 
because it doesn't work on all of the machines I even have I wouldn't 
probably mess with it.  "Food for thought" which..sometimes leads to 
*other* useful ideas and expands our way of preceiving things...those of 
us who .. oh..I won't say it :-).. hehe

In terms of hardware your suggestion is certainly viable I'd think you 
could also just use a multi-channel uart with a pic.  I'm trying to 
think though..what chip would that be since I'm only aware of ones that 
are really high speed and expensive probably at the moment.  I have a 
drawer full of 6850's that I need to use up anyway at the moment. -Bob

Ingo Debus wrote:

>
> 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