Using NRPN Midi Signals with Ardour 2


I have found the information that it should be possible to use NRPN Midi Signals to control the Faders and other things in Ardour:

But After set up my BCR2000 to send a NRPN Message and assigned it to the master volume, all what happens when move the encoder is, that the value goes to -infinity (“0”).

Is there a trick, which I can not find or is it possible anyway?


@stanislav: is your controller sending 14 bit values or 7 bit? 14 bit values are a problem (they are actually a problem for a lot of different MIDI devices, because of the way the MIDI spec is written). What made you want to use an NRPN rather than, say Controller 7 (Volume) ?


I have 14 bit signals, or better, there are 4 signals (I think you know, how it works).

The thing is, that the resolution of 127 values isn’t good. So the idea was to use NRPN.

One Problem, that occurs immediately is the think that you can not rich the zero value of let say the volume (it changes from -0.1 to +0.2).

And an additional ask: would it be much job to make a button which send all actual values to the controller (all, that are used in the session)?

For me this is the most important feature yet.

I have tried it with saving and reopening the session but it leads to a crash:

But it is really important.

I wit set up my BCR2000 to have one preset for one track in ardour. But BCR2000 do not realize changes in all presets simultaneously so when changing the preset the best way to synchronize would be to say ardour just send all this messages.

I think it it really simple because you already do it on the start up.

EDIT: I have made a feature request:

  1. 127 values isn’t that bad, actually. you need to remember that there is no zipper noise because things are interpolated. Most people can’t discriminate 127 different gain levels anyway.

  2. the problem with MIDI and 14 bit values on general purpose computers is that the MIDI spec says that devices sending a 14 bit value must send the most significant 7 bits first and then optionally send the least significant bits. The receiver cannot know if the least significant bits are coming or not, and so it must apply some kind of timeout to decide whether or not to just go ahead and use the most significant bits. This can lead to really wierd variations in the value of the variable that is being controlled.

  3. Nevertheless, Ardour should not get stuck when these are received, so please file this as another bug report.

You are right. When I red this possibility of leaving out the least significant bit I was wondering.

But I think there must be a way to use it, too.

Actually I take a look at the ardour code. Maybe after the summer I will do some small tasks to develop ardour.

For me, this is the most important program to make music (well, actually to record it).

Thanks for replying.