[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)]);

}
);