Falldown - Supercollider


























(
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.


Categories: Share

Leave a Reply