-
Notifications
You must be signed in to change notification settings - Fork 0
/
dodecahedron.scd
108 lines (94 loc) · 3.82 KB
/
dodecahedron.scd
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
TempoClock.default.tempo_(120/180);
ServerOptions.inDevices.postln;
s.record(numChannels:2);
s.options.sampleRate =48000;
s.options.device_("Blutetooth");
s.options.numOutputBusChannels=40;
s.options.memSize = 65536;
s.options.memSize
s.options.numInputBusChannels=0;
s.record(numChannels:2) ;
(
s.options.numOutputBusChannels=12;
s.waitForBoot;
MIDIClient.init;
MIDIIn.connectAll;
~notes0=Array.newClear(128);
s.options.memSize = 32768;
(
(
///////////////////////////////////////////////////////
(SynthDef(\solids,{
arg a=8,a1=4,filter=3,rq=1,sweep=11,sweep1=20,attack1=0.01,decay1=1,attack2=0.01,decay2=1;
var x=0,y=1,freq,wave,partials=0,spat,scale=0,
x1=0,y1=1,freq1,wave1,spat1,scale1=0,partials1=0,
vectorbus1=4,ton=220,ton1=440,envelope1,bend,
vectorbus=15,
elevation_1=1,elevation_2=1,elevation_3=1,elevation_4=1,elevation_5=1,elevation_6=1,
elevation_7=1,elevation_8=1,elevation_9=1,elevation_10=1,elevation_11=1,elevation_12=1,
elevation_13=1,elevation_14=1,elevation_15=1,elevation_16=1,elevation_17=1,elevation_18=1,
elevation_19=1,elevation_20=1,
envelope,bus=1;
bend=[2,-3];
attack1=MouseX.kr(0.1,6);
decay1=MouseY.kr(1,6);
attack1=MouseX.kr(0.1,6);
decay2=MouseY.kr(1,6);
envelope=EnvGen.kr(Env.perc(attack1,decay1,1/(3/2),bend),doneAction:2);
envelope1=EnvGen.kr(Env.perc(attack2,decay2,1/(3/2),bend),doneAction:2);
5.do{ scale=scale+1; spat=scale/(scale+a); vectorbus=vectorbus+5;
3.do{ x=x+1; y= ((x+a)/x); freq=(y*ton);
wave=BLowPass.ar(SinOsc.ar(freq,mul:1/y),ton*filter,rq)*envelope1;
partials=(partials+wave)*envelope1};
Out.ar(vectorbus,PanAz.ar(5,partials*envelope1,LFSaw.ar(1/spat)))};
Out.ar(0,InFeedback.ar(20)*elevation_1*envelope);
Out.ar(1,InFeedback.ar(21)*elevation_2*envelope);
Out.ar(2,InFeedback.ar(22)*elevation_3*envelope);
Out.ar(3,InFeedback.ar(23)*elevation_4*envelope);
Out.ar(4,InFeedback.ar(24)*elevation_5*envelope);
Out.ar(5,InFeedback.ar(25)*elevation_6*envelope);
Out.ar(6,InFeedback.ar(26)*elevation_7*envelope);
Out.ar(7,InFeedback.ar(27)*elevation_8*envelope);
Out.ar(8,InFeedback.ar(28)*elevation_9*envelope);
Out.ar(9,InFeedback.ar(29)*elevation_10*envelope);
Out.ar(10,InFeedback.ar(30)*elevation_11*envelope);
Out.ar(11,InFeedback.ar(31)*elevation_12*envelope);
Out.ar(12,InFeedback.ar(32)*elevation_13*envelope);
Out.ar(13,InFeedback.ar(33)*elevation_14*envelope);
Out.ar(14,InFeedback.ar(34)*elevation_15*envelope);
Out.ar(15,InFeedback.ar(35)*elevation_16*envelope);
Out.ar(16,InFeedback.ar(36)*elevation_17*envelope);
Out.ar(17,InFeedback.ar(37)*elevation_18*envelope);
Out.ar(18,InFeedback.ar(38)*elevation_19*envelope);
Out.ar(19,InFeedback.ar(39)*elevation_20*envelope);
}).add
);
((f= Pdef(\pat1, Pbind(\instrument, \solids,
\dur,Pseq([1/4,1/4,1/4,1/8,1/8,1/8],inf),
\a,Pseq([2,4,12,9,6,4,5,3,6,12,3,2,5,3,4,2,12,3],inf),
\a1,Pseq([2,4,1,5,10,4,4,2,3,1,8,6,12,2,3,3,5],inf),
\elevation_1,Pexprand(1/20,1,inf),.
\elevation_2,Pexprand(1/20,1,inf),
\elevation_3,Pexprand(1/20,1,inf),
\elevation_4,Pexprand(1/20,1,inf),
\elevation_5,Pexprand(1/20,1,inf),
\elevation_6,Pexprand(1/20,1,inf),
\elevation_7,Pexprand(1/20,1,inf),
\elevation_8,Pexprand(1/20,1,inf),
\elevation_9,Pexprand(1/20,1,inf),
\elevation_10,Pexprand(1/20,1,inf),
\elevation_11,Pexprand(1/20,1,inf),
\elevation_12,Pexprand(1/20,1,inf),
\elevation_13,Pexprand(1/20,1,inf),
\elevation_14,Pexprand(1/20,1,inf),
\elevation_15,Pexprand(1/20,1,inf),
\elevation_16,Pexprand(1/20,1,inf),
\elevation_17,Pexprand(1/20,1,inf),
\elevation_18,Pexprand(1/20,1,inf),
\elevation_19,Pexprand(1/20,1,inf),
\elevation_20,Pexprand(1/20,1,inf),
)).play(quant:1));
)
)
//////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////