[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 };

~r1 = { Mix.ar(SinOsc.ar(Array.fill(30, { rrand(4000,18000)}),
0, Amplitude.kr(~preout.ar,0.05,0.1))) };

~r2 = { Mix.ar(SinOsc.ar(Array.fill(10,{rrand(10000,18000)}),
0, Amplitude.kr(~preout.ar,0.05, LFNoise1.kr(0.1).exprange(0.1, 0.5)))) };

(
~onoff =  { var x = ~x.ar(1);
       Decay2.ar(
               Dust.ar([1 - x, x] * ~y.ar(1) *.1 [1, 2]), 0, 0.05)
}
);

(
~preout = {
       var x = ~x.ar(1);

       BPF.ar(SetResetFF.ar(* ~onoff.ar),
               x.linexp(0, 1, 100, [1000, 19000]),
               0.5
       );
}
);

(
~res = {
       Resonz.ar(CombN.ar(~preout.ar(1), 1, 0.1 +
               SinOsc.kr(0.5,add:1,mul: 0.05), add: ~preout.ar(1)),
Sweep.ar(Dust.ar(2) ,1100),
               0.5) * 10
}
);

(
~resring = {
       var res = ~res.ar(1);
       (res ring1: ~r1.ar(1)) +
               (Pulse.ar(LFNoise0.ar(1000,1,1000), 0.5,0.1, 1) * res
ring2: ~r2.ar(1));
}
);

(
~the =  {
               var x = ~x.ar(1);
               SinOsc.ar(CombN.kr(x.exprange(12, 10000), 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.ar * 3
       ).distort;
}
);

b = {Buffer.alloc(s, 2048)}.dup(2);
(
~out = {
	var smish;
        var string = Pitch.kr(~the.ar).flop[0];
        var onoff = ~onoff.ar;
       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.ar(1)),
		 Select.kr(SetResetFF.ar(*onoff), targets) ).fold(5, 16000);
       var spl = Splay.ar(CombC.ar(~the.ar, 0.2, sweeps.reciprocal,
~y.ar/100).fold2(~x.ar))
       *
       SinOsc.ar(~r2.ar(1).linexp(-0.1, 0.1, 14, 150).max(0), ~the.ar, 1, 0);
	var chain = FFT(b, spl);
	chain = chain.collect(_.pvcollect(b[0].numFrames, {|mag, phase, index|
		[mag * LFNoise2.kr(1), phase.sqrt]
	}));
	smish = XFade2.ar(IFFT(chain), spl, LFPar.ar(0.5, [0, 1]).range(-0.5, 1));
	
	smish = (smish * (1 - LFNoise2.kr(0.1).exprange(0.1, 1))) + ((smish >
0) * LFNoise2.kr(0.1).exprange(0.001, 0.05) * [1,
EnvGen.ar(Env.perc(0.1, 1), ~onoff.ar)]);
}
);