View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide

interrefering crickets

//interrefering crickets (sc2)
//jrh 08/01

(
var amalie, k, freqs;
k = #[ 1, 1, 1, 0 ];
freqs = Array.rand(10, 7000, 8600);

amalie = { arg liste, n;
		var s, neu;
		n.do({
			neu = liste.collect({ arg item; if(item == 0, { 1 }, { 0})});
			liste = liste ++ neu
		});
		liste
	};
			
play({
	var intensity, phase, out;
	intensity = MouseY.kr(-0.02, -0.1);
	phase = MouseX.kr(0, 2*pi);
	out = OverlapTexture.ar({ arg spawn, i;
		var freq, f0, amp;
		freq = (60 + 7.rand).midicps;
		f0 = rrand(10.0, 20.0);
		amp = Mix.krFill(2, { arg i;
			var df, f1, seq;
			seq = amalie.value(k, rrand(1, 5));
			df = Sequencer.kr(`seq, Impulse.kr(10));
			f1 = df * f0 + freq;
		 	SinOsc.kr(f1, i * phase, 0.1, intensity);
		}).max(0);
	
	Pan2.ar(
		SinOsc.ar(freqs.choose * WhiteNoise.kr(0.02, 1), 0, amp/10),
		 1.0.rand2
		)
		 }, 25, 8, 3, 2);
	3.do({ out = AllpassL.ar(out, 0.03, [0.02 + 0.01.rand2, 0.02 + 0.01.rand2], 0.08, 1) });
	out
});

)


Links to this Page