[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 * {Dseq(Dseries(0, exprand(0.001, 0.1), 1000),
inf)} * (25 / (index+1))]
}, frombin: 0, tobin: 100, zeroothers: 1));
smish = XFade2.ar((IFFT(chain) * 0.5).softclip, 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)]);
}
);