-
Notifications
You must be signed in to change notification settings - Fork 6
/
12b-sampler_MIDI-keyboard.pd
332 lines (332 loc) · 8.29 KB
/
12b-sampler_MIDI-keyboard.pd
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
#N canvas 586 224 607 844 10;
#X declare -lib iemlib;
#X declare -lib Gem;
#X obj 20 12 cnv 15 480 60 empty empty MIDI_control 20 30 0 20 -262130
-99865 0;
#X obj 46 771 dac~;
#X obj 46 611 vline~;
#X msg 273 182 create \, 1;
#X msg 285 204 0 \, destroy;
#X obj 46 640 tabread4~ \$0-soundfile;
#X obj 325 377 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#N canvas 0 50 450 300 (subpatch) 0;
#X array \$0-soundfile 214599 float 2;
#X coords 0 1 214599 -1 200 140 1;
#X restore 46 155 graph;
#N canvas 2817 186 851 943 loading_files 0;
#X obj 150 67 inlet;
#X obj 177 476 outlet;
#X obj 19 394 soundfiler;
#X obj 19 457 / 48;
#X obj 19 415 t f f;
#X msg 177 424 open \$1;
#X obj 46 438 s \$0-samples;
#X obj 19 477 s \$0-miliseconds;
#X obj 177 447 pix_buffer_filmopen \$0-speicher;
#X obj 19 308 t a b;
#X obj 46 328 symbol \$0-soundfile;
#X obj 19 351 pack s s;
#X msg 19 373 read -resize \$1 \$2;
#X obj 150 91 openpanel;
#X text 197 214 loading the video into the buffer;
#X obj 150 114 splitfilename .;
#X obj 150 140 t s s;
#X obj 150 166 makefilename %s.aiff;
#X obj 177 189 makefilename %s.mov;
#X text 181 13 Storage for the video;
#X obj 16 21 pix_buffer \$0-speicher 800;
#X text 185 26 maximum 800 frames in this case;
#X obj 267 113 declare -lib iemlib;
#X connect 0 0 13 0;
#X connect 2 0 4 0;
#X connect 3 0 7 0;
#X connect 4 0 3 0;
#X connect 4 1 6 0;
#X connect 5 0 8 0;
#X connect 8 0 1 0;
#X connect 9 0 11 0;
#X connect 9 1 10 0;
#X connect 10 0 11 1;
#X connect 11 0 12 0;
#X connect 12 0 2 0;
#X connect 13 0 15 0;
#X connect 15 0 16 0;
#X connect 16 0 17 0;
#X connect 16 1 18 0;
#X connect 17 0 9 0;
#X connect 18 0 5 0;
#X restore 325 585 pd loading_files;
#X obj 49 305 hsl 195 15 0 1 0 0 \$0-in \$0-in-init empty -2 -8 0 10
-262144 -1 -1 0 1;
#X obj 49 320 hsl 195 15 0 1 0 0 \$0-out \$0-out-init empty -2 -8 0
10 -262144 -1 -1 19400 1;
#X obj 49 295 hsl 195 10 0 1 0 0 empty \$0-playhead empty -2 -8 0 10
-228856 -1 -1 0 1;
#X text 25 305 in;
#X text 22 320 out;
#X text -10 291 playhead;
#N canvas 898 277 580 428 video_processing 0;
#X obj 147 25 inlet~;
#X obj 279 24 inlet;
#X obj -12 305 pix_texture;
#X obj -12 51 gemhead;
#X obj 279 160 unpack f f f;
#X obj 147 192 *;
#X obj 147 102 snapshot~;
#X obj -12 73 t a b;
#X obj 147 148 /;
#X obj 147 233 int;
#X obj 147 255 change;
#X obj -12 376 rectangle 3 2;
#X obj 356 194 /;
#X obj 356 271 *;
#X obj 356 215 t b f;
#X msg 356 237 3;
#X obj -12 280 pix_buffer_read \$0-speicher;
#X obj 162 125 r \$0-samples;
#X obj 162 170 r \$0-frames;
#X obj 279 194 s \$0-frames;
#X obj 58 215 s \$0-playhead;
#X obj 58 194 speedlim 100;
#X obj -12 331 alpha;
#X obj -12 354 colorRGB;
#X obj 240 24 inlet;
#X obj 240 254 line;
#X obj 147 213 + 0.5;
#X connect 0 0 6 0;
#X connect 1 0 4 0;
#X connect 2 0 22 0;
#X connect 3 0 7 0;
#X connect 4 0 19 0;
#X connect 4 1 12 0;
#X connect 4 2 12 1;
#X connect 5 0 26 0;
#X connect 6 0 8 0;
#X connect 7 0 16 0;
#X connect 7 1 6 0;
#X connect 8 0 5 0;
#X connect 8 0 21 0;
#X connect 9 0 10 0;
#X connect 10 0 16 1;
#X connect 12 0 14 0;
#X connect 13 0 11 1;
#X connect 14 0 15 0;
#X connect 14 1 13 1;
#X connect 15 0 13 0;
#X connect 15 0 11 2;
#X connect 16 0 2 0;
#X connect 17 0 8 1;
#X connect 18 0 5 1;
#X connect 21 0 20 0;
#X connect 22 0 23 0;
#X connect 23 0 11 0;
#X connect 24 0 25 0;
#X connect 25 0 23 4;
#X connect 26 0 9 0;
#X restore 214 640 pd video_processing;
#X obj 49 335 hsl 195 15 1 0.0001 0 0 \$0-speed \$0-speed-init empty
-2 -8 0 10 -262144 -1 -1 14551 1;
#X text 7 335 speed;
#N canvas 0 56 450 300 init 0;
#X obj 14 42 loadbang;
#X msg 44 73 \; pd dsp 1;
#X obj 37 141 s \$0-in-init;
#X msg 37 121 0;
#X msg 25 172 1;
#X obj 25 192 s \$0-out-init;
#X msg 14 226 0.25;
#X obj 14 247 s \$0-speed-init;
#X text 15 12 this subpatch initializes the patch;
#X text 118 82 switches audio comptation on;
#X text 116 123 sets the in-point to the beginning of the sample;
#X text 115 175 sets the outpoint to the end of the sample;
#X text 114 229 sets speed to normal speed;
#X obj 299 30 declare -lib Gem;
#X obj 298 10 iemlib/iemlib2;
#X connect 0 0 1 0;
#X connect 0 0 3 0;
#X connect 0 0 4 0;
#X connect 0 0 6 0;
#X connect 3 0 2 0;
#X connect 4 0 5 0;
#X connect 6 0 7 0;
#X restore 421 148 pd init;
#N canvas 84 72 450 300 inpoint 0;
#X obj 24 -59 inlet;
#X obj 24 59 outlet;
#X obj 24 -33 t l b;
#X obj 66 -33 r \$0-in;
#X obj 66 9 *;
#X obj 51 30 f;
#X obj 81 -12 r \$0-samples;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 2 1 5 0;
#X connect 3 0 4 0;
#X connect 4 0 5 1;
#X connect 5 0 1 0;
#X connect 6 0 4 1;
#X restore 46 579 pd inpoint;
#N canvas 944 97 450 300 outpoint 0;
#X obj 38 -25 inlet;
#X obj 38 206 outlet;
#X obj 38 181 pack f f;
#X obj 82 19 *;
#X obj 97 -2 r \$0-samples;
#X obj 82 -24 r \$0-out;
#X obj 38 123 f;
#X obj 65 123 f;
#X obj 38 1 t b b;
#X obj 236 -23 inlet;
#X connect 0 0 8 0;
#X connect 2 0 1 0;
#X connect 3 0 6 1;
#X connect 4 0 3 1;
#X connect 5 0 3 0;
#X connect 6 0 2 0;
#X connect 7 0 2 1;
#X connect 8 0 6 0;
#X connect 8 1 7 0;
#X connect 9 0 7 1;
#X restore 46 550 pd outpoint;
#N canvas 0 409 252 308 speed 0;
#X obj 21 194 outlet;
#X obj 21 -85 r \$0-out;
#X obj 47 -64 r \$0-in;
#X obj 62 -43 r \$0-samples;
#X obj 47 -16 *;
#X obj 21 32 -;
#X obj 47 5 t b f;
#X obj 21 55 / 48;
#X obj 21 -16 *;
#X obj 21 171 abs;
#X obj 21 148 *;
#X obj 32 78 r \$0-speed;
#X obj 52 123 t b f;
#X text 54 56 Samplingrate of the audio file;
#X obj 32 101 * 4;
#X floatatom 88 153 5 0 0 0 - - -;
#X obj 165 12 inlet;
#X connect 1 0 8 0;
#X connect 2 0 4 0;
#X connect 3 0 4 1;
#X connect 3 0 8 1;
#X connect 4 0 6 0;
#X connect 5 0 7 0;
#X connect 6 0 5 0;
#X connect 6 1 5 1;
#X connect 7 0 10 0;
#X connect 8 0 5 0;
#X connect 9 0 0 0;
#X connect 10 0 9 0;
#X connect 11 0 14 0;
#X connect 12 0 10 0;
#X connect 12 1 10 1;
#X connect 12 1 15 0;
#X connect 14 0 12 0;
#X connect 16 0 12 0;
#X restore 46 490 pd speed;
#X text 191 353 |;
#X text 158 363 normal speed;
#X msg 294 245 frame \$1;
#X floatatom 294 227 5 0 0 0 - - -;
#X obj 273 266 gemwin 30;
#N canvas 947 334 450 300 envelope 0;
#X obj 32 32 inlet~;
#X obj 36 266 outlet~;
#X obj 35 237 *~;
#X obj 94 38 inlet;
#X obj 191 109 delay;
#X obj 221 42 inlet;
#X obj 217 85 - 20;
#X text 217 20 zeit (abspieldauer);
#X text 88 17 start (bang);
#X obj 52 180 pack f f;
#X msg 191 134 0;
#X msg 98 94 1;
#X obj 295 125 r \$0-env;
#X obj 52 206 vline~;
#X obj 95 61 t b b b;
#X obj 230 267 outlet;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 3 0 14 0;
#X connect 4 0 10 0;
#X connect 5 0 6 0;
#X connect 6 0 4 1;
#X connect 9 0 13 0;
#X connect 9 0 15 0;
#X connect 10 0 9 0;
#X connect 11 0 9 0;
#X connect 12 0 6 1;
#X connect 12 0 9 1;
#X connect 13 0 2 1;
#X connect 14 0 11 0;
#X connect 14 1 4 0;
#X connect 14 2 6 0;
#X restore 46 666 pd envelope;
#X obj 399 268 hsl 50 15 0 150 0 0 \$0-env \$0-env-init empty -2 -8
0 10 -262144 -1 -1 0 1;
#X obj 250 180 cnv 15 20 20 empty empty 1 6 10 0 14 -261234 -66577
0;
#X text 336 182 create Gem window;
#X text 342 376 load files;
#X obj 302 375 cnv 15 20 20 empty empty 2 6 10 0 14 -261234 -66577
0;
#X obj 253 317 cnv 15 20 20 empty empty 3 6 10 0 14 -261234 -66577
0;
#X text 394 250 envelope;
#X text 276 319 choose in \, out \, speed and envelope size;
#X floatatom 396 288 5 0 0 0 - - -;
#X obj 78 384 notein 1;
#X obj 46 427 mtof;
#X obj 46 512 t b b f f;
#X obj 46 743 *~;
#X obj 206 699 line~;
#X msg 206 677 \$1 20;
#X obj 206 456 / 127;
#X obj 33 363 key;
#X floatatom 3 419 5 0 0 0 - - -;
#X obj 33 383 t f b;
#X msg 206 430 127;
#X text 24 78 Here we are adding support for a MIDI Keyboard. We get
an monophonic A/V sampler.;
#X msg 46 447 440 \$1;
#X obj 46 469 /;
#X text 41 792 Max Neupert - Bauhaus-Universität Weimar 2012-2018
;
#X connect 2 0 5 0;
#X connect 2 0 15 0;
#X connect 3 0 26 0;
#X connect 4 0 26 0;
#X connect 5 0 27 0;
#X connect 6 0 8 0;
#X connect 8 0 15 2;
#X connect 19 0 2 0;
#X connect 20 0 19 0;
#X connect 21 0 39 0;
#X connect 24 0 26 0;
#X connect 25 0 24 0;
#X connect 27 0 40 0;
#X connect 28 0 36 0;
#X connect 37 0 38 0;
#X connect 37 1 43 0;
#X connect 38 0 49 0;
#X connect 39 0 20 0;
#X connect 39 1 27 1;
#X connect 39 2 20 1;
#X connect 39 3 27 2;
#X connect 40 0 1 0;
#X connect 40 0 1 1;
#X connect 41 0 40 1;
#X connect 42 0 41 0;
#X connect 43 0 42 0;
#X connect 43 0 15 1;
#X connect 44 0 46 0;
#X connect 46 0 38 0;
#X connect 46 0 45 0;
#X connect 46 1 47 0;
#X connect 47 0 43 0;
#X connect 49 0 50 0;
#X connect 50 0 21 0;