<< Menu Principal >>

Session 3 : Retards, filtres et effets liés

Retards en Faust

process = _';

ajoute un retard d’un échantillon au signal entrant.

process = _''';

ajoute un retard de trois échantillon au signal entrant.

process = @(5);

ajoute un retard de cinq échantillons au signal entrant.

maxDel = 1024;
del = hslider("delay",1,1,1023,1);
process = de.delay(maxDel,del);

maxDel est la longueur maximale du retard et del est la longueur du retard (nombre entier).

maxDel = 1024;
del = hslider("delay",1,1,1023,0.01);
process = de.fdelay(maxDel,del);

ou maxDel est la longueur maximale du retard et del la longueur du retard (et peut être un nombre décimal).

Effet de Doppler

import("stdfaust.lib");
doppler(distance,freq) = de.fdelay4(100000,d*osc+1)
with{
  d = distance*ma.SR/340;
  osc = os.osc(freq)*0.5+0.5;
};
d = hslider("distance",340,0.1,600,0.01); // in meters 
f = hslider("frequency",0.1,0.01,2,0.01);
process = doppler(d,f); 

Filtres non-récursifs “One Zero” (FIR)

import("stdfaust.lib");
oneZero(b1) = _ <: _,_'*b1 :> _;
zero = hslider("zero",0,-1,1,0.01) : si.smoo;
process = oneZero(zero);

Filtre en peigne non-récursif

import("stdfaust.lib");
ffComb(del,ff) = _ <: _,de.delay(128,del)*ff :> _;
d = hslider("delay",1,1,127,1);
f = hslider("feedForward",1,0,1,0.01) : si.smoo;
process = ffComb(d,f);

Flanger

import("stdfaust.lib");
ffComb(del,ff) = _ <: _,de.delay(128,del)*ff :> _;
flanger(freq,depth,ff) = ffComb(del,ff)
with{
  del = os.osc(freq)*0.5 + 0.5 : +(1) : *(depth);
};
freq = hslider("freq",1,0.1,50,0.01) : si.smoo;
depth = hslider("depth",1,0,100,0.01) : si.smoo;
ff = hslider("feedForward",1,0,1,0.01) : si.smoo;
process = no.noise : flanger(freq,depth,ff);

Interface SmartKeyboard

Devoir

Instrument mobile

Projet Final