[Ardour-Dev] 14 bit midi control messages?

Paul Davis paul at linuxaudiosystems.com
Tue Mar 31 06:14:04 PDT 2009


On Tue, Mar 31, 2009 at 7:33 AM, Natanael Olaiz <nolaiz at gmail.com> wrote:
> Hi all,
>
> I want to automate the controls of certain ladspa plugins over midi, but I
> want to use paired 14 bit control messages... Can Ardour handle that?

the code is certainly there.

however .... 14 bit MIDI controller messages are fundamentally
misdesigned. i've even had the head of the MMA admit this. let me
explain. when a device sends a 14 bit message, it has two choices:

1) send both MIDI messages, one for the upper 7 bits and one for the lower
2) if only the lower bits have changed, send only the message for the
least-significant 7 bits

quite a nice design, eh? well, yes, it would be except for one little
glitch. if the sender decides to use (1), it has to send the
least-significant bits first, *then* send the most-significant bits.
so? well, this means that when the receiver gets a message with the
least-significant bits, it doesn't know if the most-significant bits
are coming or not. it has to implement some kind of timeout design to
decide whether this is just a change in the least-significant bits or
a change across all 14.

if MIDI had reversed this design so that if both messages are sent,
the  most-significant bits are sent first, this problem would not
exist.

the result can be a bit ugly.

let me know how it works out for you. i don't that its been tested - i
have some devices that can send 14bit controller messages but I don't
think I've tested them in a while and more importantly i think the
device i have that does this always sends both messages.



More information about the Ardour-Dev mailing list