RE:SynthDef \sinPerc

(
SynthDef(\sinPerc , { |out =0, freq = 440, pos = 0, level = 0.125, detune = 0.025, gate =1|
var sig = Mix.fill(10, {SinOsc.ar(freq+Rand(0, freq*detune))});
var env = EnvGen.ar(Env.perc,gate,doneAction:2);
sig = FreeVerb.ar(sig*env);
DetectSilence.ar(sig, -96.dbamp, doneAction:2);
Out.ar(out, Pan2.ar(sig, pos, level))
}).add;
)



La SynthDef \sinPerc genera una Sinusoide Percussiva e ottiene il segnale sig sommando 10 sinusoidi la cui frequenza varia al massimo del 2.5%; ne risulta una sorta di effetto chorus, leggermente in vibrato. Una versione del segnale inviluppata percussivamente viene riverberata attraverso la UGen FreeVerb.

Per lasciare che il riverbero si sviluppi in tutta la sua lunghezza, viene utilizzata la UGen DetectSilence. Questa UGen analizza il segnale in ingresso e quando l’ampiezza di quest’ultimo scende al di sotto di una determinata soglia, esegue il doneAction. La UGen DetectSilence resituisce un segnale binario, 0 o 1 in funzione del superamento della soglia, che può essere usato come Trigger. Nel caso in questione, questa opzione non serve, ma semplicemente interessa che, verificato che il segnale si sia estinto, venga deallocato in automatico attraverso la doneAction:2. È un modo per avere un riverbero completo senza utilizzare un Bus. Il segnale sig è spazializzato come al solito su due canali.

Categories: , , Share

Leave a Reply