[sdiy] Midi question
David Brown
davebr at earthlink.net
Mon Aug 15 08:04:22 CEST 2005
You need to decode the incoming midi stream to keep the packets
intact. Most messages are 3 bytes. Some are fewer. You have to
expand running status back to complete commands as interleaving other
commands will be interpreted incorrectly. Running status is a
compression where the command and midi channel is left off and the
data is just streamed. Real time messages can interrupt packets but
they're not real useful for what you're looking for. You'll need a
buffer to be able to queue incoming data while you're sending your own.
I've implemented several midi parsers, one in basic on a risc chip,
and the other in assembly on an AVR microcontroller. While I am not
adding other commands, it would be quite easy. I used mine to modify
the data. If you're handy at electronics, it would be quite easy to
use one of the AVRs with multiple input A/Ds to implement continuous
controllers, volume, pan, pitch bend, etc. Depending on what you're
doing you might even be able to power it off the midi input. Mine
works quite well but I don't have any additional control
devices. What devices are you thinking of adding?
Some information at
http://modularsynthesis.com/processor/processor.htm
I'd be happy to answer questions on what I can on or off line.
Dave
At 10:47 PM 8/14/2005, Tim Ressel wrote:
>Hey all,
>
>I need some hand-holding on a midi thing. I'd like to
>make a midi box with some controls and switches to
>make up for a lack of said controls on my midi
>controller. I can handle outputting midi commands, but
>how do keep from crashing into the commands comming
>from the keyboard? I mean, you can't just do a
>pass-thru thing, right? Is there a gizmo out there
>that merges two midi streams without mid-air crashes?
>
>Thanks!
>
>--Tim (midi=green) Ressel
More information about the Synth-diy
mailing list