«Fall Asleep Walking» by Schemawound

on 03 Sep'12 08:59 in ambientdrone

"Fall Asleep Walking" by Schemawound Appears on the album "They Want To Make Your Body Move. I Want To Hold You Perfectly Still." Full album is available for download from http://www.schemawound.com

Code by Jonathan Siemasko Contact: schemawound@yahoo.com Homepage: http://www.schemawound.com/

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
/*
"Fall Asleep Walking" by Schemawound
Appears on the album "They Want To Make Your Body Move.  I Want To Hold You Perfectly Still."
Full album is available for download from http://www.schemawound.com

Code by Jonathan Siemasko
Contact: schemawound@yahoo.com
Homepage: http://www.schemawound.com/
*/

(
/*Fall Asleep Walking*/
	{
		//Song Params
		var seconds = 400;
		var sourceGroup, fxGroup, fxBus, fxBus2, mainOut;
		
		//Synth Defs
		SynthDef(\FAW_LowPad, {|outbus = 0, seconds = 400, pan = -1|
			var env = EnvGen.ar(Env.linen(10, seconds - 20, 10), doneAction:2);
			var lfo = SinOsc.ar(0.01);
			var amp = 0.01;
			var sinFunc = {|i| 
				SinOsc.ar(
					3 * (i + 1), 
					mul: max(0, LFNoise1.kr(1))
				)
			};
			var mix = Mix(Array.fill(150, sinFunc)) ;
			var output = mix * lfo * env * amp;
			Out.ar(outbus, Pan2.ar(output, pan));
		}).add;

		SynthDef(\FAW_MidPad, {|outbus = 0, seconds = 400, pan = 1|
			var env = EnvGen.ar(Env.linen(10, seconds - 20, 10), doneAction:2);
			var lfo = SinOsc.ar(0.027);
			var amp = 0.01;
			var sinFunc = {|i| 
				SinOsc.ar(
					10 * (i + 1), 
					mul: max(0, LFNoise1.kr(1))
				)
			};
			var mix = Mix(Array.fill(100, sinFunc)) ;
			var output = mix * lfo * env *amp;
			Out.ar(outbus, Pan2.ar(output, pan));
		}).add;

		SynthDef(\FAW_FM, {|outbus = 0, seconds = 400|
			var line = Line.ar(0, 0.05, seconds, doneAction:2);
			var lfo = LFTri.ar(0.04) * LFTri.ar(0.5);
			var osc = (SinOsc.ar(50) * Saw.ar(51) * Saw.ar(2200) * SinOsc.ar(350)) / 3;
			var sum = line * osc * lfo;
			var output = sum + CombC.ar(sum, 0.1, 0.1, 10);
			Out.ar(outbus, output!2);
		}).add;

		SynthDef(\FAW_Verb, {|outbus = 0, inbus, room = 0.15,	damp = 0.5|
			var input, wetVerb, verbLFO;
			input = In.ar(inbus, 2);
			verbLFO = LFTri.kr(0.0034).range(0, 1);
			wetVerb = FreeVerb.ar(input, 1, room, damp) * verbLFO;
			Out.ar(outbus, (input + wetVerb) * 0.3);
		}).add;

		//Sync
		Server.default.sync;

		sourceGroup = Group.new;
		fxGroup = Group.after(sourceGroup);
		fxBus = Bus.audio(Server.default, 2);
		fxBus2 = Bus.audio(Server.default, 2);
		mainOut = 0;

		//Play
		Synth(\FAW_LowPad, [\outbus, fxBus, \seconds, seconds], target: sourceGroup);
		Synth(\FAW_MidPad, [\outbus, fxBus, \seconds, seconds], target: sourceGroup);
		Synth(\FAW_Verb, [\inbus, fxBus, \outbus, mainOut], target: fxGroup);

		Synth(\FAW_FM, [\outbus, fxBus2, \seconds, seconds], target: sourceGroup);
		Synth(\FAW_Verb, [\inbus, fxBus2, \outbus, mainOut, \room, 1], target: fxGroup);
	}.fork
)
raw 2603 chars (focus & ctrl+a+c to copy)
reception
comments