midi CV software/
Byron G. Jacquot
thescum at surfree.com
Thu Apr 13 05:47:36 CEST 2000
>MIDI supports 14 bit controllers, as most of you already know, by assigning
>2 controllernr. One as LSB, and one as MSB.
>The easiest way to implement this in the midi CV, seems to me to just have
>the user select a controller to listen to as MSB, and another one as LSB.
If you have a copy of the MIDI spec, there are predefined groups of MSB/LSB
pairs, to help with how the pairs go together.
>This way, more controllers can be used together as 14 bit controllers. If
>you want to use just a 7 bit controller, you can have the LSB listening to a
>controller number above 127, not used in midi.
Actually, I think if there's only one byte, it's the MSB. In fact, the MIDI
spec lists controllers 32-63 as being the LSBs for controllers 0-31. 0-31
is where things like mod-wheel, volume, pan, etc are defined.
>(In my design, pitchbend will probably get controller nr 128 or something.
>Another number will be to have the LSB not listening... This easens the
>implementation, but it needs a smart user. But that's me, right?)
Actually, if you can only convert a few of the 14 bits, it's probably better
to only use the most significant bits of the controller...if you were able
to pop to hood on some commercial synths, I'm sure you'd find that happening.
And there's really isnt any "controller 128." $80 is that status byte for
note-off, channel 0! (Besides, you'll have trouble conencting to any
controller keyboards if when you move the bender, it doesnt send the message
you really want. Just axe off the LSBs from a regular bend message, and
you'll be fine.)
>Another question: If I have a controller listening to aftertouch (channel
>pressure), should it listen to the velocity too? This means, go to a center
>value or something when a new note is played?
These are two different controllers. A standard implementation would be to
keep them seperate, and you'd send them to the same destinations as analog
voltages if you wanted them to influence the same parameters.
And since it's channel-pressure, that means the pressure of all the
presently pressed notes. If there are notes pressed, they will all share
the same pressure values. A new note will use whatever was the last known
pressure value on that channel.
Poly-aftertouch would probably start at depth 0 when a note-on is recieved,
vary while the key is pressed, and then jump back to 0 when it's
released...but it's a very uncommon controller that has poly-aftertouch!
>And the same for key pressure (polyphonic aftertouch)? Any keyboards known
>that send this?
Very few. Some older Ensoniqs and Kurzweils come to mind as transmitters.
More synths probably recieve it, but since so few sent it, it's not too
common. Most modern keyboards use a single pressure sensor that's common to
all of the keys. It's much easier to convert and transmit than a pressure
sensor pre-key.
>BTW if I put polyphonic aftertouch in, it will act the same as channel
>aftertouch. The last received value will be used.
Though that's should only be applies to a single note, and only if that note
is sounding.
You controller's manual should have a little table with X's and O's in the
back, explaining what's implemented, and what's not.
(it's prefectly reasonable to ignore poly-aftertouch, I think, if you want.
for a school project, you've got an incredible MIDI-CV unit coming together!
It won't be the end of the world if it's lacking poly-aftertouch.)
Byron Jacquot
More information about the Synth-diy
mailing list