[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