Re: [LAD] Prototyping algorithms and ideas

From: Stéphane Letz <letz@email-addr-hidden>
Date: Wed Jan 30 2008 - 08:20:36 EET

Le 29 janv. 08 à 23:36, Yann Orlarey a écrit :

> Hi Fons,
>
> Here is a quick solution using Faust :
>
> import("filter.lib");
>
> line(i) = vgroup("line %i", *(g) : fdelay2(1024, d))
> with { g = vslider("gain (dB)", -60, -60, 4, 0.1) :
> db2linear :
> smooth(0.995);
> d = nentry("delay (samp)", 0, 0, 1000, 0.1) :
> smooth(0.995); };
>
> process = hgroup("", par(i, 10, line(i)) );
>
> The first line imports a library of filters (written in Faust by
> Julius
> Smith) that includes several fractional delays based on Lagrange
> interpolation.
>
> Then we define a 'line' that combines in sequence (':' operator) a
> gain
> and a fractional delay encapsulated in a vertical layout. Here we use
> fdelay2 a fractional delay with a second order Lagrange interpolation.
> It can be replaced by fdelay3 or fdelay4 if better interpolations are
> needed.
>
> The gain value g is defined by a vertical slider (in dB) which is
> converted in a linear value and then filtered to avoid clicks during
> rapid movements. The delay value d is defined by a numerical entry box
> also filtered to avoid clicks. The parameter m is the maximum size of
> the delay and should be a power of 2.
>
> The last line defines process, the equivalent of main in C, as a
> parallel composition of 10 lines.
>
> A fully functional jack application can be easily generated using the
> faust2jack command or by pasting the above code in the online faust
> compiler (http://faust.grame.fr). The performances on my Vaio laptop
> (Intel Core 2 CPU T7400 @ 2.16GHz) is approximately of 2%.
>
> Cheers
>
> Yann
>

And for the "dynamic" part of the process like having an
environnement that would allow to directly define, compile on the fly
and execute Faust plug-ins, we are investigating using LLVM. See
http://www.grame.fr/~letz/faust_llvm.html, although to be honest, the
"hard part" has not yet really started...

Stephane
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev
Received on Wed Jan 30 12:15:02 2008

This archive was generated by hypermail 2.1.8 : Wed Jan 30 2008 - 12:15:02 EET