«num1» by Devi Skanadze

on 23 Sep'14 13:56 in ambient
1
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
(
~particles = 5;
~rect = Array.fill(512, {arg i; rrand(-1.0, 1.0)});
~sig = Signal.sineFill(512, ~rect);
~buff = Buffer.sendCollection(s,~sig);

SynthDef(\fm, { arg freq = 60, l_shift = 0, lfo_rate = 0.5,fm_ratio = 3, fm_amount, dur = 2, fm_lfo;
	var snd, fm, env, lfo;
	lfo = LPF.ar(Wrap.ar(LFSaw.ar(lfo_rate, 1, 0.5, 0.5) + l_shift), 50);
	fm = SinOsc.ar(freq * fm_ratio, 0, SinOsc.ar(fm_lfo, 0, fm_amount));
	env = EnvGen.kr(Env.sine(dur, 0.1), doneAction: 2);
	snd = SinOsc.ar(freq + fm, 0, env)  * lfo;
	snd = RLPF.ar(BufRd.ar(1,~buff, LinLin.ar(snd, -1.0, 1.0, 0.0, BufFrames.kr(~buff))), 2000, 2.reciprocal) * 0.25;

	Out.ar(0, Pan2.ar(snd, 0));
}).add;
)

(
var seq = [66, 73, 85, 76, 66, 73, 87, 78, 66, 73, 85, 76, 66, 73, 87, 78, 59, 66, 82, 73, 59, 66, 83, 75, 59, 66, 82, 73, 59, 66, 83, 75, 66];
var count = 0;
~t = Task({
	seq.size.do({
		postln(count);
		for(0, ~particles, {arg i; Synth(\fm, [\freq, (seq[count] - 24).midicps * i, \lfo_rate, 0.5, \dur, 12, \l_shift, ~particles.reciprocal * i, \fm_ratio, [2,3,4,5,6].choose, \fm_lfo, rrand(0.5,3.0), \fm_amount, rrand(100,500)])});
		count = count + 1;
		4.wait;
	});
}).play;
)
raw 1175 chars (focus & ctrl+a+c to copy)
reception
comments