File: flanger_gx.dsp

package info (click to toggle)
guitarix 0.36.1-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 139,468 kB
  • sloc: cpp: 317,557; python: 42,482; ansic: 18,301; fortran: 2,012; sh: 662; makefile: 422; xml: 208; perl: 183; pascal: 74; lisp: 32
file content (33 lines) | stat: -rw-r--r-- 1,258 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
declare id 		"flanger_mono_gx";
declare name            "Flanger GX";
declare category        "Modulation";

import("stdfaust.lib");

h_flanger(dmax, curdel, fb, wet) = _ <: _, (dly : (+:dly)~*(fb)) : mix with {
    dly = de.fdelay(dmax/2, curdel/2);
    mix = *(2-wet), _*(wet) : +;
};

flanger(dmax, curdel, fb, wet) = _ <: _, (+:dly)~*(fb) : mix with {
    dly = de.fdelay(dmax, curdel);
    mix = *(2-wet), _*(wet) : +;
};

process = h_flanger(dmax, curdel,  fb, wet1) :
          flanger(  dmax, curdel, -fb, wet2) :
          *(0.25) with {
   // ma.SR = component("math.lib").ma.SR;
    dflange = 0.001 * ma.SR *  hslider("width[name:Width]", 5.0, 0, 10, 0.01);
    odflange = 0.001 * ma.SR *  hslider("depth[name:Depth]", 0.5, 0, 5, 0.01);
    dmax = 2048; // > max(dflange+odflange) at rate 96000
    freq = hslider("freq[log][name:Speed][unit:Hz]", 0.2, 0.05, 10, 1.06);
    fb = hslider("feedback[name:Feedback]", -0.707, -0.99, 0.99, 0.01) * (2+abs(mix))/3;
    lfo = os.oscrs;
    curdel = odflange+dflange*(1+lfo(freq))/2;
    //curdel = hslider("de.delay", 20, 0, 400, 0.1);
    wet = hslider("wet[name:Wet]", 100, 0, 100, 1)/100;
    mix = hslider("mix[name:Mix]", 0, -1, 1, 0.1);
    wet1 = wet*min(1,1+mix);
    wet2 = wet*min(1,1-mix);
};