«IDMish» by xffff

on 17 Jul'12 16:28 in bassdrumsdistortedclippingidm

thanks to whoever it was who wrote the kick and snare, I stole them from the dubstep whatsit from the list ages ago. Bit of time wasting turned relatively interesting.

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
// bit of an afternoon playing random noises turned out to sound relatively IDM-ish

// I stole the kick & snare from the dubstep thing off the list a while ago... thanks

(
fork{
	loop{ | i | 
		var time, trigtime;
		time = [1/8,1/4,1].wchoose([2,1,0.2].normalizeSum);
		trigtime = [1,2,4,8,16].choose;
		play{		
			var sound, freq, ampenv, filterenv, mod, snare, snaretrig, kick, kickenv, lin;
						
			mod = LFNoise2.kr({0.01.rand}.dup(2), [0.01.rand,0.001.rand,0.5.rand].choose, 1.0);
			
			freq = [
					Scale.minorPentatonic.degrees,
					Scale.minorPentatonic.degrees.choose
				].choose + (12 * (2..6).choose);
			freq = freq.midicps;
			
			filterenv = EnvGen.kr(Env.linen(time/3.0.rand.max(0.01), 
				time/3.0.rand.max(0.01),
				time/3.0.rand.max(0.01)).range(freq*1.5,freq*10.0.rand.max(1.5))
			);
			
			ampenv = EnvGen.kr(Env.perc(0.01,time/2.0.rand.max(1/8),1.0.rand),doneAction:2);
			
			sound = Select.ar(5.rand, [
				Pulse.ar(freq*mod,0.5).tanh,
				LFTri.ar(freq*mod,0).tanh,
				Pulse.ar(freq*mod,0.5).tanh,
				LFSaw.ar(freq*mod,0.5).tanh,		
				SinOscFB.ar(freq*mod,100.0.rand).tanh
			]); 
			
			sound = RLPF.ar(sound, filterenv, LFNoise2.kr(0.01.rand, 0.3, 0.5) );
			sound = sound * ampenv;
			
			sound = sound + (DelayC.ar(sound, 1/4, {[1/4,1/8].choose}.dup(2)) * [1.0.rand,0]);
			
			5.do{sound = (sound.clip + sound)*0.75};

			sound = LPF.ar(sound, LFNoise2.kr(trigtime, 250, 500) );
	
			snaretrig = Impulse.kr(trigtime);
			snare = 3*PinkNoise.ar(1!2) * 
				EnvGen.kr(Env.perc(0.01,0.01,[0,0.3.rand].choose),snaretrig);
			5.do{snare = AllpassC.ar(snare, 0.5, {0.05.rand}.dup(2), 1.0.rand)+snare};
			5.do{snare = (snare.distort + snare)*0.85};
			
			kickenv = EnvGen.kr(Env.perc(0.01,time,[0,1.0.rand].choose));
			kick = SinOsc.ar(40!2+(kickenv**3*200),0,7*kickenv) * kickenv; 
			5.do{kick = (kick.distort + kick)*0.75};
			
			sound = Limiter.ar(sound + snare + kick, 1.0, 0.00001);
						
			Out.ar(0,sound.tanh);
		};
		
		time.wait;
	};
}
)
raw 2052 chars (focus & ctrl+a+c to copy)
reception
comments
nufets user 18 Jul'12 08:49

really, really like it ;)

vividsnow user 22 Jul'12 20:35

what cpu/mem do you use? )

xffff user 24 Jul'12 10:18

I7-620M/8GB, my server memSize is set quite high (~1Gb) because I get carried away and do a lot of sampling. Should probably put a line at the top with that in but I forgot (it's in my startup file). :)

alln4tural user 03 Aug'12 05:19

yeah jazzy!

Schemawound user 08 Aug'12 11:53

=D !!!

nova user 08 Dec'16 05:09

love it!