forked from maxzanoni/ProcSC
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathEx6_Bass.scd
More file actions
75 lines (50 loc) · 1.36 KB
/
Ex6_Bass.scd
File metadata and controls
75 lines (50 loc) · 1.36 KB
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
// ------ Wobble bass -----
(
SynthDef(\dubstep, { arg note = 22,gate = 1,dur=2;
var trig, son, sweep, out, freq;
freq = note.midicps;
son = Mix.ar(LFSaw.ar(freq * [0.99, 1, 1.01]));
son = LPF.ar(son, 300);
out = son + BPF.ar(son, 2000, 2);
a = EnvGen.ar(Env.asr(0.01,1,dur),gate:gate,doneAction:2);
Out.ar(0, Pan2.ar(FreeVerb.ar(out*a,room:0.3),0));
}).add;
)
x = Synth(\dubstep,[\note,22]);
x.set(\gate,0);
// ------ Wobble bass complete -----
(
SynthDef(\dubstep, { arg note = 22,gate = 1,dur=2;
var trig, son, sweep, out, freq;
freq = note.midicps;
trig = CoinGate.kr(0.5, Impulse.kr(2));
//trig = Impulse.kr(2);
sweep = Poll.kr(trig,LFSaw.ar(Demand.kr(trig, 0, Drand([1, 2, 2, 3, 4, 5, 6, 8, 16], inf))).exprange(40, 5000)); /// Inf: number of different values to produce
son = Mix.ar(LFSaw.ar(freq * [0.99, 1, 1.01]));
son = LPF.ar(son, sweep);
out = son + BPF.ar(son, 2000, 2);
a = EnvGen.ar(Env.asr(0.01,1,dur),gate:gate,doneAction:2);
Out.ar(0, Pan2.ar(FreeVerb.ar(out*a,room:0.3),0));
}).add;
)
x = Synth(\dubstep,[\note,22]);
x.set(\note,30);
x.set(\note,40);
x.set(\gate,0);
(
Routine({
var a;
var note = [22, 40, 60, 20, 80, 42];
var dur = [3, 3, 3, 3, 3, 3];
note.do{arg i;
a = Synth(\dubstep);
(i).postln;
a.set(\note, i);
5.wait;
a.set(\gate,0,\dur,1);
2.wait;
};
a.set(\gate,0);
"done".postln;
}).play;
)