«more glitch» by xffff

on 08 Aug'12 18:59 in glitchstep sequencerfunquickconvoluted

More afternoon fun. Scale down to 2ch if you need stereo.

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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
// this was going to be drum and bass but I got carried away

(
fork{
	// this is going to be a convoluted step seq
	var i = 0;
	
	loop{ 
		var tempo, step;
		tempo = [
			(3,5..21).reciprocal.choose,
			1/11,
			1/7,
			1/5,
			1
		].wchoose([0.1,17,0.4,0.3,0.25].normalizeSum);
		
		i = i + 1;
		step = i % 16;
				
		play{
			// not sure I used all of these.
			var scale, bdm, hh, sd, bd, bda, sda, hha, bdseq, sdseq, hhseq, reva, revb, rev,
				mix;
						
			scale = Scale.harmonicMinor.degrees+26;
			
			// bd sequence
			bdseq =[ {2.rand}.dup(16), 
				[1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0]
			].choose;
			
			// bd amp env
			bda = EnvGen.kr(Env.perc(0.01,tempo*6.0.rand,bdseq[step]), doneAction: 2);
			
			// bass freq modulation
			bdm = {LFNoise2.kr(tempo.rand,0.25,1)}.dup;
			
			// bd
			bd = LPF.ar(Pulse.ar(scale.choose.midicps,0.5).distort*bdm,1e4.rand).sum * bda; 
			bd = bd.tanh;
			5.do{bd = CombC.ar(bd, 0.5, 0.1.rand, 5.0.rand)+bd};
			5.do{bd = AllpassC.ar(bd, 0.5, 0.1.rand, 5.0.rand)+bd};
			
			// sd seq
			sdseq = [ [0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0], 
				{2.rand}.dup(16) 
			].choose;
			
			// sd amp env
			sda = EnvGen.kr(Env.perc(0.01,0.1,sdseq[step]));

			// sd
			sd = PinkNoise.ar(2).distort * sda.lag(0.1.rand);
			5.do{sd = AllpassC.ar(sd, 0.5, [0.25.rand,0.05.rand].choose, 1.5.rand)+sd};
					
			// hh seq
			hhseq = [{2.rand}.dup(16),
				[0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1]
			].choose;
			
			// hh amp env
			hha = EnvGen.kr(Env.perc(0.01,0.01,hhseq[step]));

			// hh
			hh = HPF.ar(WhiteNoise.ar(0.7),8000) * hha;
	
			// drums together
			mix = bd + sd + hh;
						
			// rev
			reva = GVerb.ar(mix,1.0.rand.max(0.1),1.0.rand).sum;
			revb = GVerb.ar(mix,1.0.rand.max(1),3.0.rand).sum;
			rev = XFade2.ar(reva,revb,LFNoise0.kr(tempo));
			
			// pannnn
			mix = PanAz.ar(5,rev,LFNoise0.kr(tempo*2));
			mix = Limiter.ar(mix);
			
			// raussssss
			Out.ar(0,mix.clip);
		};
	tempo.wait;
	};	
}
)
raw 2029 chars (focus & ctrl+a+c to copy)
reception
comments
Erik Natanael Gustafsson user 13 Aug'12 03:12

I keep getting loads of these: "JackDriver: exception in real time: alloc failed, increase server's memory allocation (e.g. via ServerOptions)" even though I've increased my s.options.memSize. It looks really interesting though :)