«oenci» by vividsnow

on 23 May'12 16:20 in rhythmicexperimentalrandomendless

example outputs at soundcloud

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
(
Ndef(\oenci, { 
	var seed = thisThread.randSeed = 100000000.rand.debug('seed');
	var tempo = 156/60;
	var freq = [20, 7200];
	var atk = 0.1;
	var decay = (tempo.reciprocal / 1.5); // 0.3
	var bands = [32, 32];
	var sorted = 0.5.coin.debug('sorted');
	var sig = Klank.ar(
		{ `[Array.exprand(bands[1], freq[0], freq[1]), Array.exprand(bands[1], 0.1, 1), Array.exprand(bands[1], 0.1, 1)] } ! 2,
		{ BPF.ar(
			SelectX.ar(
				SinOsc.kr(
					tempo / Lag.kr(Duty.kr(
						tempo.reciprocal * Drand((16,20..48), inf), 
						0, Drand((10,12..24), inf)
					)) * LFNoise2.kr(tempo/16, 0.2.rrand(0.4).debug('es'), 1),
					Lag.kr(Duty.kr(
						tempo.reciprocal * Drand((1,4..48), inf),
						0, Drand((0..10).linlin(0,10,0,2*pi),inf)
					)) // not sure
				).range(-0.5,5.5), 
				[ // perc
					BrownNoise.ar(LFNoise2.kr(0.1.exprand(1)).range(0.3,0.75)),
					WhiteNoise.ar(LFNoise2.kr(0.1.exprand(1)).range(0.3,0.75)),
					PinkNoise.ar(LFNoise2.kr(0.1.exprand(1)).range(0.3,0.75)),
				].addAll({ // noises
					var i = 1;
					[LFSaw,LFPulse,Saw,Pulse].choose.ar(
						{ [LFNoise2,LFNoise0].choose.kr( 0.1.exprand(10) ! i).exprange(freq[0], freq[1]) } ! i,
						mul: { [LFNoise2,LFNoise0].choose.kr(0.1.exprand(10)).range(0.5,0.9) } ! i
					).mean
				} ! 3).perform(sorted.if({\value},{\scramble}))
			),
			Array.exprand(bands[0], freq[0], freq[1]).perform(sorted.if({\sort},{\scramble}))
			* LFNoise2.kr(tempo, 0.03, 1)
			* Duty.kr(tempo.reciprocal * 4, 0, Drand([-1,0,1,2], inf).midiratio),
			LFNoise2.kr(tempo/4, 0.5, 1),
			Lag.kr(
				Decay.kr(
					Impulse.kr(
						({ tempo / Array.geom(8, 0.25, 2).choose } ! bands[0]).perform(sorted.if({\sort},{\scramble})),
						0, { LFNoise2.kr(0.1.exprand(1)).range(0.3,0.1) } ! bands[0]
					), // Duty??
					Array.rand(bands[0], 0.01, decay).perform(sorted.if({\sort},{\scramble})).reverse
				),
				Array.rand(bands[0], 0.01, atk).perform(sorted.if({\sort},{\scramble})).reverse
			)
		).mean } ! 2,
		{ LFNoise2.kr(0.1.exprand(1), 0.1, 1) } ! 2,
		{ LFNoise2.kr(0.1.exprand(1)).exprange(0.1,40) } ! 2,
		{ LFNoise2.kr(0.1.exprand(1)).range(0.5,1.5) } ! 2
	);
	sig = Rotate2.ar(
		sig[0], sig[1],
		LFSaw.kr(
			Lag.kr(
				Duty.kr(Drand([2,4,8],inf), 0, Drand([-1,1,0],inf))
				* LFNoise2.kr(tempo/12).exprange(pi/8, 2*pi),
				LFNoise2.kr(tempo/24).range(1,8)
			)
		)
	);
	Limiter.ar(BhobHiShelf.ar(BhobLoShelf.ar(sig, 10, -20.dbamp), LFNoise2.kr(0.1.exprand(1)).exprange(15000,19000), -10.dbamp) * 0.8);
}).play
)
raw 2547 chars (focus & ctrl+a+c to copy)
reception
comments
tommaisey user 05 Jun'12 14:50

Bravo, very cool!