[linux-audio-dev] processing plugin standard wrapper

Stefano D'Angelo zanga.mail at gmail.com
Sat Feb 17 06:23:34 UTC 2007


2007/2/17, Stefano D'Angelo <zanga.mail at gmail.com>:
> 2007/2/17, Camilo Polyméris <cpolymeris at gmx.net>:
> >
> > >>> Ok, i get the context now. As you say, I'am both teacher and researcher,
> > >>> but my field is Software Engineering and my knowledge on theoretical DSP
> > >>> is not that mature, so don't take my DSP related statements so serious.
> > >>> To my level of knowledge, i could say that most of the plugins are not
> > >>> just LTI so, the kind of optimization you suggest would be not general
> > >>> just appliable to consecutive adjacent LTI systems. At the same time is
> > >>> something that may have a lot of sense in FreeADSP.
> > >>>
> > >> I actually don't know how many plugins are LTI, but, for example, a
> > >> lot of delays, reverbs, choruses, eq. filters, compressors, modulators
> > >> and "sound mixers" should be, and that's quite enough after all.
> > >> Consider that in the case of commonly used guitar effects the only
> > >> non-linear effects by their nature should be hardware-simulators
> > >> (valves, amps, etc.), distortions and synths.
> > >>
> > >
> > > Not sure at all, but i thought compressor was an example of non linear
> > > transformation and they normally have an adaptive behavior which make them
> > > not time invariant, so you cannot model it as a single H(f). It is very easy
> > > to find a plugin which has been introduced non-linearity o time-variation
> > > thought the main function (a filter, chorus, reverb...) is LTI. We are also
> > > used other kinds of transformations such as sine shifting that are far from
> > > linear also.
> > You are right. Compressors are the archetypical examples of non-linear
> > filters. Delays, reverbs, chori, etc. are non-TI (they depend of past
> > input).
> > Still, there may be other properties which could be exploited for
> > optimization, as Stefano suggests. For example, you could collapse
> > several equalizers to one filter. Or if two consecutive plugins do FFT,
> > the first could pass the information to the second in the frequency domain.
> > Neither of these would work with current plugin architectures, though.
> > While I didn't think of plugins, but rather of more low-level components
> > (constructs of an audio-oriented programming language, or similar), I
> > have also been playing with a similar idea, but have not come to any
> > conclusions yet. I hope the linux-audio-dev comunity does.
>
> Yes, compressors are non-linear because their output depends on the
> value of the input, however reverbs, choruses, etc. are linear, no
> matter that they depend on past input (also low-pass and high-pass
> filters depend on past input really :-)
> If you are not convinced a simple delay could have this transformation equation:
>
> y(t) = sum ( alpha_k * delta (x - kT) )
>
> with k >= 0. If you do
>
> T(a*x1(t) + b*x2(t)) = a*y1(t) + b*y2(t) = a*T(x1(t)) + b*T(x2(t))
>
> y1 and y2 are different only because of alpha_k coefficients, so the
> filter is definitively linear :-)
>
> Stefano
>

OOOOOps... what did I say....
I just woke up and I'm a bit confused.
the y(t) I was referring to is actually the h(t) of a delay :-)

Stefano



More information about the Linux-audio-dev mailing list