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

Steve Harris S.W.Harris at ecs.soton.ac.uk
Mon Jun 19 22:25:52 UTC 2006


On Mon, Jun 19, 2006 at 11:58:43PM +0200, Fons Adriaensen wrote:
> 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.

This particualr one I'm not worried about, as it's a know one, its all the
subtle things noones realised yet, something like a plugin that does its
delay in 24ths of a beat or something.
 
> 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).

Sure, the LADSPA LOG hint couldn't deal with this meaningfully anyway.
 
> 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.

Or both if you really mess up :)
 
> The latter is missing, and once it is defined the need for
> an 'open' representation format no longer exists.

That's more-or-less true, but you can apply that argument repeatedly
forever.

I have many plugins that I would prefer to work this way, but LADSPA makes
it tricky if you want to interoperate with most hosts. Consequenctly, I
have given it some though. The representation I was thinking of was
something like:

:somePort lv2:unit unit:octavePitch ;
          lv2:baseFreq 264.0 .

It's not beyond the realms of the possible to describe the mathematical
relationship between the octave pitch unit and Hz, but it's probably
excessive. Some organic chemists use an RDF schema that expresses
conversions bewteen crazy chemical units, but I think its overkill for
crazy DSP units.

We only really care about frequency[/time] and ampltiude anyway ;)

- Steve



More information about the Linux-audio-dev mailing list