forked from LucaSpanedda/Digital_Reverberation_in_Faust
-
Notifications
You must be signed in to change notification settings - Fork 0
/
1.00_Early_Reflections.dsp
38 lines (28 loc) · 1.21 KB
/
1.00_Early_Reflections.dsp
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
34
35
36
37
38
// Importo libreria standard di FAUST
import("stdfaust.lib");
// ----------------------------------------
// EARLY REFLECTIONS (PRIME RIFLESSIONI)
// ----------------------------------------
/*
Simulazione delle prime riflessioni in una stanza con
il punto sorgente che coincide col punto di ascolto:
*/
// col router definisco gli input che mi devo passare dentro il codice
// in questo caso 7 input: (a,b,c,d,e,f,g)
in_router(a,b,c,d,e,f,g) = a, b, c, d, e, f, g;
// process = router;
// mando il segnale in ingresso ai 7 input del router
input = _ <: in_router;
//process = input;
// definisco le prime riflessioni - multitap delay lines (NO FEEDBACK)
multitap_delay(frnt,bck,sx,dx,up,dwn,direct) =
frnt@(4481),bck@(2713),sx@(3719),dx@(3739),up@(1877),dwn@(659),direct;
//process = early_reflections;
// definisco un router per l'output che prenda 7 ingressi e li sommi
// in un unica uscita
out_router(a,b,c,d,e,f,g) = a+b+c+d+e+f+g;
//process = earlyrelfect_router;
// definisco una funzione dove esplico il percorso del segnale
early_reflections = input : multitap_delay :> out_router;
// output e test con un impulso di dirac (1 sample)
process = os.impulse : early_reflections <: _,_;