[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sc-users] [cadavre exquis] swee



p = ProxySpace.push(s);

~out.play;

~x = { Sweep.ar(Dust.ar(2 ! 1), { rrand(1.0, 2.0) } ! 6).clip2(1.0).mean };
~y = { Sweep.ar(Dust.ar(0.5), 0.1).clip2(1.0) * 1000 };

(
~out = {
       var x = ~x.ar(1);
       var onoff =  Decay2.ar(Dust.ar([1 - x, x] * ~y.ar(1) *.1 [1, 2]),
0,0.05);
       var bpf= BPF.ar(SetResetFF.ar(*onoff), x.linexp(0, 1, 100,
[1000, 19000]), 0.5);
       var res = Resonz.ar(CombN.ar(bpf,1, 0.1+
SinOsc.kr(0.5,add:1,mul: 0.05) ,add:bpf), Sweep.ar(Dust.ar(2) ,1100),
0.5) * 10;
       var r1 = Mix.ar(SinOsc.ar(Array.fill(30,{rrand(4000,18000)}),
0, Amplitude.kr(bpf,0.05,0.1)));
       var r2 = Mix.ar(SinOsc.ar(Array.fill(10,{rrand(10000,18000)}),
0, Amplitude.kr(bpf,0.05,0.1)));
       var preout = (res ring1: r1) +
(Pulse.ar(LFNoise0.ar(1000,1,1000), 0.5,0.1, 1) * res ring2: r2);

       var the = SinOsc.ar(CombN.kr(x.exprange(12, 1000), 1, x)) * Splay.ar(
       	Pulse.ar([1, 2, 3, 5, 7, 11, 13, 17, 23],
       	Array.geom(9, 0.01, 2).reverse).range(0, 1) * preout * 3).distort;
       	
       var string = Pitch.kr(the).flop[0];
       var targets = [
       	RunningMin.kr(string, PulseDivider.ar(onoff, [1,3,5,7,9])),
       	RunningMax.kr(string, PulseDivider.ar(onoff, [2,4,6,8]))
       ];
       var sweeps = Phasor.ar(onoff, Amplitude.kr(res),
       		Select.kr(SetResetFF.ar(*onoff), targets) ).fold(5, 16000);
       Splay.ar(CombC.ar(the, 0.2, sweeps.reciprocal, ~y.ar/100).fold2(~x.ar));
}
);

~luke