«Deep Choir (THX Deep Note inspired synth sketch)» by Andrew Brož

on 21 Sep'20 18:18 in

THX Deep Note inspired synth sketch

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
// A. Broz: Deep Choir (Cheap Version, 2020-09-21)
// https://youtu.be/fpgXnjZ188o
(

~numVoices = 30;

~chaos = { |range = 1.0|
	~numVoices collect: { exprand(200 / range, 400 * range) }
};

~bigChord = { |fund = 30, harmonics = 5|
	~numVoices collect: {
		fund
		* rrand(1, harmonics) // build chord
		* rrand(1, 2) * rrand(1, 2) // octaves
		+ rrand(-1.2, 1.2) // beats
	}
};

// Try with Pmono
SynthDef(\fakeTHX, {
	var env = EnvGen.kr(
		envelope: Env.linen(15, \sus.kr(20), 15, 1, \sine),
		doneAction: Done.freeSelf,
	);
	var sig = \freq.kr(~chaos.value, \lag.kr(10)).collect { |f|
		f = f + LFNoise2.kr(0.1, 0.5);
		BLowPass.ar(Saw.ar(f), f, 0.6);
	};
	sig = Splay.ar(sig, 0.8) * env * \mul.kr(0.1, 3);
	Out.ar(0, sig);
}).add;

Routine({

	var fakeTHX;

        // Record it!
	/*s.record(
	    path: thisProcess.platform.recordingsDir
		++ "/deep_choir_" ++ ~numVoices
		++ "_" ++ Date.getDate.asSortableString
		++ ".wav",
	    duration: 57,
	);
	1.wait;*/

	fakeTHX = Synth(\fakeTHX, [\sus, 25]);

	7.wait;

	fakeTHX.setn(\freq, ~bigChord.(30, 4));

	7.wait;

	fakeTHX.setn(\lag, 3);

	fakeTHX.set(\freq, ~bigChord.(40, 10));

	7.wait;

	fakeTHX.setn(\lag, 1);

	fakeTHX.setn(\freq, ~chaos.(0.8));

	2.wait;

	fakeTHX.setn(\freq, ~chaos.(6));

	2.wait;

	fakeTHX.setn(\lag, 2);

	fakeTHX.setn(\freq, ~bigChord.(20, 7));

	7.wait;

	fakeTHX.setn(\lag, 10);

	fakeTHX.setn(\freq, ~bigChord.(30, 5));
}).play;

)
raw 1502 chars (focus & ctrl+a+c to copy)
reception
comments