chris@531
|
1 #N canvas 825 500 1305 1225 10;
|
chris@531
|
2 #X obj 941 614 s~ _gain;
|
chris@531
|
3 #X obj 477 523 lop~ 30;
|
chris@531
|
4 #X obj 941 437 abs~;
|
chris@531
|
5 #X obj 941 481 clip~ 0 1;
|
chris@531
|
6 #N canvas 1785 452 296 317 input-controller 0;
|
chris@531
|
7 #X obj 89 85 abs~;
|
chris@531
|
8 #X obj 89 157 clip~ 0 10;
|
chris@531
|
9 #X obj 89 105 lop~ 30;
|
chris@531
|
10 #X obj 89 65 *~ 150000;
|
chris@531
|
11 #X obj 89 125 -~ 0.25;
|
chris@531
|
12 #X obj 46 191 sig~ 1;
|
chris@531
|
13 #X obj 73 217 /~;
|
chris@531
|
14 #X obj 89 190 q8_rsqrt~;
|
chris@531
|
15 #N canvas 1265 891 433 402 accelerometer-integration 0;
|
chris@531
|
16 #X obj 72 225 rpole~ 1;
|
chris@531
|
17 #X obj 72 246 hip~ 1;
|
chris@531
|
18 #X obj 72 155 lop~ 100;
|
chris@531
|
19 #X obj 132 225 rpole~ 1;
|
chris@531
|
20 #X obj 132 246 hip~ 1;
|
chris@531
|
21 #X obj 132 155 lop~ 100;
|
chris@531
|
22 #X obj 192 225 rpole~ 1;
|
chris@531
|
23 #X obj 192 246 hip~ 1;
|
chris@531
|
24 #X obj 192 155 lop~ 100;
|
chris@531
|
25 #X obj 72 289 *~;
|
chris@531
|
26 #X obj 132 289 *~;
|
chris@531
|
27 #X obj 192 289 *~;
|
chris@531
|
28 #X obj 29 320 sig~ 1;
|
chris@531
|
29 #X obj 55 345 /~;
|
chris@531
|
30 #X obj 72 319 q8_rsqrt~;
|
chris@531
|
31 #X obj 346 176 samplerate~;
|
chris@531
|
32 #X obj 318 133 loadbang;
|
chris@531
|
33 #X obj 318 155 t b b;
|
chris@531
|
34 #X obj 317 175 f 1;
|
chris@531
|
35 #X obj 317 194 /;
|
chris@531
|
36 #X obj 316 215 s _invsr;
|
chris@531
|
37 #X obj 206 177 r _invsr;
|
chris@531
|
38 #X obj 146 177 r _invsr;
|
chris@531
|
39 #X obj 86 177 r _invsr;
|
chris@531
|
40 #X obj 192 197 *~ 0;
|
chris@531
|
41 #X obj 132 197 *~ 0;
|
chris@531
|
42 #X obj 72 197 *~ 0;
|
chris@531
|
43 #X obj 314 349 s~ _zacc;
|
chris@531
|
44 #X obj 315 272 -~ 0.5;
|
chris@531
|
45 #X obj 315 294 *~ 4;
|
chris@531
|
46 #X obj 315 320 clip~ -1 1;
|
chris@531
|
47 #X obj 55 367 outlet~;
|
chris@531
|
48 #X text 29 21 Integrate accelerometer data to estimate velocity;
|
chris@531
|
49 #X text 29 31 =================================================;
|
chris@531
|
50 #X obj 72 65 receive~ \$0-x;
|
chris@531
|
51 #X obj 132 95 receive~ \$0-y;
|
chris@531
|
52 #X obj 192 125 receive~ \$0-z;
|
chris@531
|
53 #X connect 0 0 1 0;
|
chris@531
|
54 #X connect 1 0 9 0;
|
chris@531
|
55 #X connect 1 0 9 1;
|
chris@531
|
56 #X connect 2 0 26 0;
|
chris@531
|
57 #X connect 3 0 4 0;
|
chris@531
|
58 #X connect 4 0 10 0;
|
chris@531
|
59 #X connect 4 0 10 1;
|
chris@531
|
60 #X connect 5 0 25 0;
|
chris@531
|
61 #X connect 6 0 7 0;
|
chris@531
|
62 #X connect 7 0 11 0;
|
chris@531
|
63 #X connect 7 0 11 1;
|
chris@531
|
64 #X connect 8 0 24 0;
|
chris@531
|
65 #X connect 8 0 28 0;
|
chris@531
|
66 #X connect 9 0 14 0;
|
chris@531
|
67 #X connect 10 0 14 0;
|
chris@531
|
68 #X connect 11 0 14 0;
|
chris@531
|
69 #X connect 12 0 13 0;
|
chris@531
|
70 #X connect 13 0 31 0;
|
chris@531
|
71 #X connect 14 0 13 1;
|
chris@531
|
72 #X connect 15 0 19 1;
|
chris@531
|
73 #X connect 16 0 17 0;
|
chris@531
|
74 #X connect 17 0 18 0;
|
chris@531
|
75 #X connect 17 1 15 0;
|
chris@531
|
76 #X connect 18 0 19 0;
|
chris@531
|
77 #X connect 19 0 20 0;
|
chris@531
|
78 #X connect 21 0 24 1;
|
chris@531
|
79 #X connect 22 0 25 1;
|
chris@531
|
80 #X connect 23 0 26 1;
|
chris@531
|
81 #X connect 24 0 6 0;
|
chris@531
|
82 #X connect 25 0 3 0;
|
chris@531
|
83 #X connect 26 0 0 0;
|
chris@531
|
84 #X connect 28 0 29 0;
|
chris@531
|
85 #X connect 29 0 30 0;
|
chris@531
|
86 #X connect 30 0 27 0;
|
chris@531
|
87 #X connect 34 0 2 0;
|
chris@531
|
88 #X connect 35 0 5 0;
|
chris@531
|
89 #X connect 36 0 8 0;
|
chris@531
|
90 #X restore 89 30 pd accelerometer-integration;
|
chris@531
|
91 #X obj 73 256 outlet~;
|
chris@531
|
92 #X connect 0 0 2 0;
|
chris@531
|
93 #X connect 1 0 7 0;
|
chris@531
|
94 #X connect 2 0 4 0;
|
chris@531
|
95 #X connect 3 0 0 0;
|
chris@531
|
96 #X connect 4 0 1 0;
|
chris@531
|
97 #X connect 5 0 6 0;
|
chris@531
|
98 #X connect 6 0 9 0;
|
chris@531
|
99 #X connect 7 0 6 1;
|
chris@531
|
100 #X connect 8 0 3 0;
|
chris@531
|
101 #X restore 941 364 pd input-controller;
|
chris@531
|
102 #X obj 424 1183 dac~;
|
chris@531
|
103 #X obj 235 250 loadbang;
|
chris@531
|
104 #X obj 451 995 loadbang;
|
chris@531
|
105 #X obj 830 938 s~ fmod;
|
chris@531
|
106 #X obj 830 906 lop~ 20;
|
chris@531
|
107 #X obj 830 838 sig~ 1;
|
chris@531
|
108 #X obj 830 860 -~;
|
chris@531
|
109 #X obj 477 545 *~ 0.75;
|
chris@531
|
110 #X obj 376 865 *~;
|
chris@531
|
111 #X obj 961 512 s~ accvel;
|
chris@531
|
112 #X obj 531 649 r~ accvel;
|
chris@531
|
113 #X obj 376 1047 e_platereverb;
|
chris@531
|
114 #X obj 941 459 -~ 0.0025;
|
chris@531
|
115 #X obj 235 1017 predel 2;
|
chris@531
|
116 #X obj 257 982 lop~ 20;
|
chris@531
|
117 #X obj 469 680 -~ 0.25;
|
chris@531
|
118 #X obj 477 569 -~ 0.75;
|
chris@531
|
119 #X obj 257 940 *~ 2;
|
chris@531
|
120 #X obj 257 962 -~ 1;
|
chris@531
|
121 #X obj 941 558 lop~ 5;
|
chris@531
|
122 #X msg 451 1017 0;
|
chris@531
|
123 #X obj 941 406 *~ 0.666;
|
chris@531
|
124 #X obj 481 802 sig~ 1;
|
chris@531
|
125 #X obj 481 824 -~;
|
chris@531
|
126 #X obj 235 864 *~;
|
chris@531
|
127 #X obj 531 802 clip~ 0 1;
|
chris@531
|
128 #X obj 531 780 *~ 2;
|
chris@531
|
129 #X obj 531 758 -~ 0.75;
|
chris@531
|
130 #X obj 468 732 clip~ 0.3 1;
|
chris@531
|
131 #X obj 376 1018 predel 5;
|
chris@531
|
132 #X obj 469 702 *~ 2;
|
chris@531
|
133 #X obj 941 586 clip~ 0 3;
|
chris@531
|
134 #X obj 235 614 vangex;
|
chris@531
|
135 #X obj 376 1109 hv_tanh;
|
chris@531
|
136 #X obj 486 1109 hv_tanh;
|
chris@531
|
137 #X obj 477 383 k.ramp~ 0 0.3;
|
chris@531
|
138 #X obj 468 754 lop~ 5;
|
chris@531
|
139 #X msg 235 272 33;
|
chris@531
|
140 #X obj 830 884 *~ 5;
|
chris@531
|
141 #X obj 235 1048 *~ 2;
|
chris@531
|
142 #X obj 280 1047 *~ 2;
|
chris@531
|
143 #X obj 376 1141 *~ 2;
|
chris@531
|
144 #X obj 486 1140 *~ 2;
|
chris@531
|
145 #X obj 235 313 + 12;
|
chris@531
|
146 #X obj 335 312 + 19;
|
chris@531
|
147 #X obj 285 313 + 16;
|
chris@531
|
148 #X obj 385 313 + 28;
|
chris@531
|
149 #X obj 477 441 k.ramp~ 0.6 0.3;
|
chris@531
|
150 #X obj 477 422 k.ramp~ 0.4 0.3;
|
chris@531
|
151 #X obj 477 402 k.ramp~ 0.2 0.3;
|
chris@531
|
152 #X obj 385 614 vangex;
|
chris@531
|
153 #X obj 335 614 vangex;
|
chris@531
|
154 #X obj 285 614 vangex;
|
chris@531
|
155 #X text 1157 1177 @krighxz 2016;
|
chris@531
|
156 #X text 1044 513 velocity derived from accelerometer;
|
chris@531
|
157 #X text 612 648 use velocity to control reverb input level;
|
chris@531
|
158 #X obj 233 174 adc~ 3;
|
chris@531
|
159 #X obj 233 196 send~ \$0-x;
|
chris@543
|
160 #X obj 323 174 adc~ 4;
|
chris@543
|
161 #X obj 413 174 adc~ 5;
|
chris@543
|
162 #X obj 323 196 send~ \$0-y;
|
chris@543
|
163 #X obj 413 196 send~ \$0-z;
|
chris@531
|
164 #X obj 458 352 receive~ \$0-x;
|
chris@531
|
165 #X obj 477 501 receive~ \$0-z;
|
chris@531
|
166 #X obj 257 918 receive~ \$0-x;
|
chris@531
|
167 #X text 70 1016 delay-based panning >>>;
|
chris@531
|
168 #X obj 895 838 receive~ \$0-z;
|
chris@531
|
169 #X text 586 500 z axis controls timbre (harmonic ratio);
|
chris@531
|
170 #X text 568 353 x axis controls gain weightings of voices;
|
chris@531
|
171 #X text 48 920 x axis controls panning >>>;
|
chris@531
|
172 #X text 1022 614 <<< velocity controls gain of voices;
|
chris@531
|
173 #X text 1001 838 <<< z axis modulates frequency of all voices;
|
chris@531
|
174 #X text 35 16 The 'Vangelisiser';
|
chris@531
|
175 #X text 35 26 ==================;
|
chris@531
|
176 #X text 35 46 This is a synth designed to be controlled using a single
|
chris@531
|
177 ;
|
chris@531
|
178 #X text 35 59 accelerometer. Inspired by the emotional sounds of Vangelis
|
chris@531
|
179 ;
|
chris@531
|
180 #X text 35 73 four voices tuned to a chord are controlled using axes
|
chris@531
|
181 of;
|
chris@531
|
182 #X text 35 87 the accelerometer as well as overall velocity derived
|
chris@531
|
183 from;
|
chris@531
|
184 #X text 35 102 all three axes.;
|
chris@531
|
185 #X text 35 116 This patch should ideally be compiled using Heavy and
|
chris@531
|
186 run;
|
chris@531
|
187 #X text 35 130 at a block size of 64;
|
chris@531
|
188 #X text 1062 30 ............................;
|
chris@531
|
189 #X text 1062 40 . ____ ._____ _ .......___ .;
|
chris@531
|
190 #X text 1062 50 .| __ )| ____| |....../ _ |.;
|
chris@531
|
191 #X text 1062 70 .| |_) | |___| |___ / ___ |.;
|
chris@531
|
192 #X text 1062 80 .|____/|_____|_____/_/..._|.io;
|
chris@531
|
193 #X text 1062 90 ............................;
|
chris@531
|
194 #X text 1062 60 .| __ || __|.| |...../ _| |.;
|
chris@531
|
195 #X connect 1 0 12 0;
|
chris@531
|
196 #X connect 2 0 17 0;
|
chris@531
|
197 #X connect 3 0 14 0;
|
chris@531
|
198 #X connect 3 0 24 0;
|
chris@531
|
199 #X connect 4 0 26 0;
|
chris@531
|
200 #X connect 6 0 42 0;
|
chris@531
|
201 #X connect 7 0 25 0;
|
chris@531
|
202 #X connect 9 0 8 0;
|
chris@531
|
203 #X connect 10 0 11 0;
|
chris@531
|
204 #X connect 11 0 43 0;
|
chris@531
|
205 #X connect 12 0 21 0;
|
chris@531
|
206 #X connect 13 0 34 0;
|
chris@531
|
207 #X connect 15 0 20 0;
|
chris@531
|
208 #X connect 15 0 32 0;
|
chris@531
|
209 #X connect 16 0 38 0;
|
chris@531
|
210 #X connect 16 1 39 0;
|
chris@531
|
211 #X connect 17 0 3 0;
|
chris@531
|
212 #X connect 18 0 44 0;
|
chris@531
|
213 #X connect 18 1 45 0;
|
chris@531
|
214 #X connect 19 0 18 1;
|
chris@531
|
215 #X connect 19 0 34 1;
|
chris@531
|
216 #X connect 20 0 35 0;
|
chris@531
|
217 #X connect 21 0 55 2;
|
chris@531
|
218 #X connect 21 0 56 2;
|
chris@531
|
219 #X connect 21 0 57 2;
|
chris@531
|
220 #X connect 21 0 37 2;
|
chris@531
|
221 #X connect 22 0 23 0;
|
chris@531
|
222 #X connect 23 0 19 0;
|
chris@531
|
223 #X connect 24 0 36 0;
|
chris@531
|
224 #X connect 25 0 16 2;
|
chris@531
|
225 #X connect 26 0 2 0;
|
chris@531
|
226 #X connect 27 0 28 0;
|
chris@531
|
227 #X connect 28 0 29 1;
|
chris@531
|
228 #X connect 29 0 18 0;
|
chris@531
|
229 #X connect 30 0 28 1;
|
chris@531
|
230 #X connect 31 0 30 0;
|
chris@531
|
231 #X connect 32 0 31 0;
|
chris@531
|
232 #X connect 33 0 41 0;
|
chris@531
|
233 #X connect 34 0 16 0;
|
chris@531
|
234 #X connect 34 1 16 1;
|
chris@531
|
235 #X connect 35 0 33 0;
|
chris@531
|
236 #X connect 36 0 0 0;
|
chris@531
|
237 #X connect 37 0 13 0;
|
chris@531
|
238 #X connect 37 0 29 0;
|
chris@531
|
239 #X connect 38 0 46 0;
|
chris@531
|
240 #X connect 39 0 47 0;
|
chris@531
|
241 #X connect 40 0 37 1;
|
chris@531
|
242 #X connect 41 0 13 1;
|
chris@531
|
243 #X connect 42 0 48 0;
|
chris@531
|
244 #X connect 42 0 50 0;
|
chris@531
|
245 #X connect 42 0 49 0;
|
chris@531
|
246 #X connect 42 0 51 0;
|
chris@531
|
247 #X connect 43 0 9 0;
|
chris@531
|
248 #X connect 44 0 38 0;
|
chris@531
|
249 #X connect 45 0 39 0;
|
chris@531
|
250 #X connect 46 0 5 0;
|
chris@531
|
251 #X connect 47 0 5 1;
|
chris@531
|
252 #X connect 48 0 37 0;
|
chris@531
|
253 #X connect 49 0 56 0;
|
chris@531
|
254 #X connect 50 0 57 0;
|
chris@531
|
255 #X connect 51 0 55 0;
|
chris@531
|
256 #X connect 52 0 55 1;
|
chris@531
|
257 #X connect 53 0 56 1;
|
chris@531
|
258 #X connect 54 0 57 1;
|
chris@531
|
259 #X connect 55 0 13 0;
|
chris@531
|
260 #X connect 55 0 29 0;
|
chris@531
|
261 #X connect 56 0 13 0;
|
chris@531
|
262 #X connect 56 0 29 0;
|
chris@531
|
263 #X connect 57 0 13 0;
|
chris@531
|
264 #X connect 57 0 29 0;
|
chris@531
|
265 #X connect 61 0 62 0;
|
chris@531
|
266 #X connect 63 0 65 0;
|
chris@531
|
267 #X connect 64 0 66 0;
|
chris@531
|
268 #X connect 67 0 40 0;
|
chris@531
|
269 #X connect 67 0 52 0;
|
chris@531
|
270 #X connect 67 0 53 0;
|
chris@531
|
271 #X connect 67 0 54 0;
|
chris@531
|
272 #X connect 68 0 1 0;
|
chris@531
|
273 #X connect 69 0 22 0;
|
chris@531
|
274 #X connect 71 0 11 1;
|