«Entities» by grirgz
on 19 Jul'16 04:37 in1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
(
Ndef(\ota, { arg freq=200, pan=0, amp=0.1;
var sig;
var env1, env2, env3, env4, env5, env6, env7, env8;
var sig1, sig2, sig3, sig4, sig5, sig6, sig7, sig8;
var fac = 1/SelectX.kr( SinOsc.kr(1/113).range(0,6), [1/2,1,2,4,8,64,128] )/8;
env1 = EnvGen.ar(Env([42,21,42,30,84],[4,4,7.5,0.5]/fac).circle, 1);
env2 = EnvGen.kr(Env([0,0,2,1],[4,4,4]).circle, 1);
env3 = XLine.kr(1,0.1,20*1);
freq = 8.collect({ arg x;
freq + ( env1 * x ) + [0,SinOsc.kr(x+1, mul:env2).range(0,10*x)];
});
//freq.debug.shape.debug("freq");
sig = SinOsc.ar( freq / [1,2,4]);
//sig.shape.debug("sig1");
sig = sig.collect({ arg isig, x;
isig = SelectX.ar( SinOsc.kr(x+1/34).range(0,1), [isig, isig.fold2(env3)]);
isig = SelectX.ar( SinOsc.kr(1/223, 3pi/2).range(0,1), [isig, ( isig * SinOsc.kr(1/48 * ( x + 1 )).range(1,100) ).tanh]);
});
//sig.shape.debug("sig2");
sig1 = sig.flop[1];
sig = sig.flop[0];
//sig.debug("sig");
sig1 = Pan2.ar(sig1, SinOsc.ar(sig1.size.collect({ arg x; SinOsc.kr(x/10+1.2).range(0,8) })) * SinOsc.kr(1/48).range(0,1), amp).mean;
sig = Pan2.ar(sig, SinOsc.ar(sig.size.collect({ arg x; SinOsc.kr(x/10+1.1).range(0,8) })) * SinOsc.kr(1/58).range(0,1), amp).mean;
sig = sig + sig1;
sig = sig / 2.0;
sig = LPF.ar(sig, 1999);
sig;
}).play;
);
reception
sounds fabulous !
thanks =)