[linux-audio-dev] LADSPA Extension for Extra GUI Data

Fons Adriaensen fons.adriaensen at skynet.be
Mon Jun 19 21:58:43 UTC 2006


On Mon, Jun 19, 2006 at 10:34:05PM +0100, Steve Harris wrote:

> FWIW, I think the "not changing any code" thing is a blind, someone,
> somewhere has to change some code if you want new behaviour*. To me the
> critical thing is not that, but that a display function or whatever only
> solves half the problem. You would also like the app to be able to
> "understand" the control value and it's units. But I said that allready :)
> 
> * though not if you don't which can be more of an advantage than you'd
>   think.

What worries me is that LV2 is *not* going to solve the problem that
DR raised w.r.t. my "Moog" filter plugins.

IIRC the control law is :

  f = pow (2, v) * frequency_of_middle_C 
 
or some such, where v is the parameter value. So the relation v->f is
*exponential* (not logarithmic).

Now in a sophisticated soft-synth, the control port could be connected
to either:

1. another module:

   In that case the host needs to know the relation above.

2. a GUI widget:

   This may want to display the frequency either in musical terms,
   or in Hz. The relation widget_pos->v should be linear, while
   the relation displayed_frequency->v is logarithmic, using
   the inverse relation of the one above.

3. a MIDI controller:

   Since we are controlling a frequency, it would make sense to
   use MIDI note numbers. So the host needs to know that
 
   v = (n - 60) / 12.0f;

4. an OSC path:

   Here we would probably want the plain frequency as the OSC 
   parameter value.


So how are we going to tell this to the host ?
I'm sure LV2 can _represent_ all of this, but representation is
not the same as meaning. For the host to understand it, either

 - it has a degree in music science and DSP,

 - the meaning of the tags used is predefined by some standard.

The latter is missing, and once it is defined the need for
an 'open' representation format no longer exists.


-- 
FA

Follie! Follie! Delirio vano e' questo!



More information about the Linux-audio-dev mailing list