Ardour and linear or nonlinear (logarithmic) instrument parameters

In the past I shared a problem with MIDI learn and a specific behavior with a specific virtual synth (Charlatan, here the complete history).

In a specific moment I gave up and said: It’s time to forget the MIDI controller and use the generic controllers of Ardour and automation but…

The problem was still there, Ardour indicates a value for an encoder and the synth GUI indicates another. A nightmare! But mostly, Why?

I can’t sleep with this problem and in appearance it was a problem of the VST, you know Ardour can’t handle all specifications of all VST of world. So, I ask to Charlatan developer and his answer changed the perspective.

Basically the problem is the way of Ardour handles the mapping of the parameters. “Charlatan follows a nonlinear (logarithmic) mapping” and “Ardour strictly maps parameters to a linear value range”. karrikuh (Charlatan’s dev) says that Ardour’s way is a weird way “and differs from any other DAW” (here the complete karriku’s awswer).

I guess there are a lot of cases with the same problem, out of the world there are thousands of thousands of VST, LV2 and CLAP instruments, so… Why Ardour follows a different “standard”?

And Is possible to use a Lua script for change the behavior of a parameter (from linear to logarithmic)? Here a clue (or not, I don’t know nothing about Lua powers).

1 Like

I don’t want be a tedious people but Can some Ardour developer explain us the Ardour implementation of linear and logarithmic parameters for instruments? I don’t know only for clarify the Ardour documentation.

@x42 @jean-emmanuel (Pardon me for the mention)

I’m not familiar with this part of Ardour yet, this one is not for me to answer.

At this point in time, ardour only support log-scale params for LV2 and LV1 plugins.

If I remember correctly the VST3 SDK that Ardour uses does not yet have a logscale property. So for VST3 plugins, Ardour always sets:

desc.logarithmic  = false; 
1 Like

Thank you very much for the information @x42. I appreciate. At least, future users know what happened here.