Falldown
(
var songLength = 60;
{
//Sines
var sineLine1 = Line.kr(600, 210, songLength);
var sineLine2 = Line.kr(100, 210, songLength);
var sines = SinOsc.ar(sineLine1) * SinOsc.ar(sineLine2); (questo è un Ring Mode?)
//Filter
var filterLineLFO = SinOsc.ar(0.2); (questo è un LFO, frequenza 0.2)
var filterLine = Line.kr(200, 6000, songLength, doneAction: 2) * filterLineLFO; (qui sto moltiplicando l'LFO per un crescendo lineare, quindi una sinusoide che cresce in ampiezza)
var filtLFO = SinOsc.kr(0.4).range(60, filterLine); (un altro LFO 0.4hz, range scala l'output nel range definito da lo e hi)
var filter = BMoog.ar(sines, filtLFO, 0.9, 1).tanh * 0.5; (che va a modulare la freq di cutoff del filtro)
//Comb
var comb = CombL.ar(filter, 1, 0.3, 1); (effetto tipo il delay)
var mix1 = (comb + GVerb.ar(filter)) * 0.1; (+ reverbero)
mix1 = (CombL.ar(mix1, 1, 1, 6) * 0.3) + mix1; (altro delay?)
HPF.ar(mix1, 100) * 0.5; (filtro passa alto a freq 100hz, toglie le basse frequenze)
}.play
)
tanh = tangente iperbolica
(
z = {
var sig, freq;
freq = MouseX.kr(20,12000,\exponential);
sig = BMoog.ar(
LFSaw.ar([freq * 0.99, freq * 1.01], 0, 0.1) ! 2,
SinOsc.kr(SinOsc.kr(0.1),1.5pi,1550,1800),
MouseY.kr(1,0,\linear),
0); // filter mode - lowpass
(CombN.ar(sig, 0.4, [0.4,0.35],2) * 0.4) + (sig * 0.5);
}.play)
z.release
ar
SinOsc.ar
BMoog.ar
CombL.ar
HPF.ar
kr
Line.kr
SinOsc.kr
Bmoog
ar (in, freq: 440, q: 0.2, mode: 0, saturation: 0.95, mul: 1, add: 0)
Arguments:
in
input signal to be processed
freq
cutoff frequency
q
bandwidth / cutoffFreq. 0 < q > 1
mode
filter mode:
< 1 low pass filter
< 2 high pass filter
< 3 bandpass filter
defaults to lowpass.