«Blowing ambient with lots of reverb» by rukano

on 09 May'12 01:50 in ambientrelaxedblowclusterssinewaves

Going to sleep, need some relaxing after 10 hours epic sax guy.

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
fork{
	// notes sequence
	var seq = Pxrand([0,3,5,7,8],inf).asStream;
	loop{
		var dur = 8;
		var num = 8;
		var root = 36;
		var freq = (seq.next+root).midicps;
		var spread = rrand(0.4,0.8);
		var attack = rrand(0.05, 0.3);
		
		// play the cluster
		play{
			var harm = Array.geom(num, 1, 1.5);
			var harma = Array.geom(num, 0.5, 0.8);
			var detune = Array.fill(num, { LFNoise2.kr(1,0.01,1) });
			var source = PinkNoise.ar;
			var bandwidth = Rand(0.001,0.01);
			var generator = [
				SinOsc.ar(freq*harm*detune, mul:harma*0.3).scramble,
				Resonz.ar(source, freq*harm*detune, bandwidth, mul:harma).scramble * 50
			].wchoose([0.2,0.8]);
			var snd = Splay.ar(generator,spread);
			snd * LFGauss.ar(dur, attack, loop:0, doneAction:2);
		};
		dur.wait;
	};
	
};

// global triple super gverb
{
	var in = In.ar(0,2);
	in = (in*0.2) + GVerb.ar(in, 220, 12, mul:0.6);
	in = (in*0.2) + GVerb.ar(in, 220, 12, mul:0.6);
	in = (in*0.2) + GVerb.ar(in, 220, 12, mul:0.6);
	ReplaceOut.ar(0, Limiter.ar(LeakDC.ar(in)))
}.play(addAction:\addToTail)
raw 1080 chars (focus & ctrl+a+c to copy)
reception
comments
Bryan Christophe Green user 16 Feb'15 05:05

Very nice! And an awesome learning exercise for beginners like myself.

g_montel user 28 Mar'15 09:55

thanks !

tom.dugovic user 24 Sep'22 20:56

Looks great!

A couple notes - I think GVerb expects a mono input, and the triple reverb can be condensed with a loop. Try: 3.do { in = (in*0.2) + GVerb.ar(Mix.ar(in), 220, 12, mul: 0.3); }; instead

I cut the mul in half because of mixing the GVerb channels.

There's probably an effective way to make a SynthDef here, though the .scramble operator won't behave the same way.

I like the sound!