aboutsummaryrefslogtreecommitdiff
path: root/desiredata/doc/7.stuff/soundfile-tools/4.looper.pd
blob: 0b969a42ec2ad3fef695cc08ad33923b115cace2 (plain)
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
333
334
335
336
337
338
#N canvas 0 16 878 417 12;
#N canvas 213 187 495 352 input-sample 0;
#N canvas 0 0 450 300 graph1 0;
#X array array1 63024 float 0;
#X coords 0 1 63023 -1 400 300 1;
#X restore 56 23 graph;
#X text 151 393 INPUT SAMPLE;
#X restore 143 301 pd input-sample;
#N canvas 192 180 507 343 output-sample 0;
#N canvas 0 0 450 300 graph2 0;
#X array array2 441000 float 0;
#X coords 0 1 440999 -1 400 300 1;
#X restore 60 13 graph;
#X text 161 388 OUTPUT SAMPLE;
#X restore 143 325 pd output-sample;
#N canvas 41 102 912 552 guts 0;
#X msg 25 133 bang;
#X obj 15 468 openpanel;
#X obj 144 28 inlet;
#X obj 478 392 dac~;
#X obj 478 342 *~;
#X obj 494 301 line~;
#X obj 494 276 r master-amp;
#X msg 759 352 bang;
#X obj 759 377 savepanel;
#X obj 274 203 spigot;
#X msg 248 133 0;
#X msg 281 133 1;
#X obj 555 384 outlet;
#X obj 268 325 tabwrite~ array2;
#X msg 262 232 bang;
#X obj 456 312 +~;
#X obj 478 367 hip~ 7;
#X msg 480 228 bang;
#X obj 480 253 tabplay~ array2;
#X msg 759 402 write \$1 array2;
#X obj 759 427 soundfiler;
#N canvas 92 118 921 631 audio-transformation 0;
#X obj 320 509 outlet~;
#X obj 221 41 r transposition;
#X obj 287 175 r looplength;
#X obj 221 66 / 120;
#X obj 235 139 pow;
#X obj 221 91 t b f;
#X msg 221 115 2;
#X text 305 107 2 to the power (octaves);
#X text 304 123 gives speed change for the;
#X text 305 141 desired transposition;
#X text 280 65 transposition in octaves;
#X obj 470 264 * 441;
#X floatatom 470 234 0 0 0;
#X obj 426 352 samphold~;
#X obj 545 335 -~ 0.5;
#X obj 545 461 clip~ -0.5 0.5;
#X obj 545 437 *~ 1;
#X obj 545 486 cos~;
#X obj 545 365 wrap~;
#X obj 545 400 -~ 0.5;
#X obj 545 532 *~ -0.5;
#X obj 545 508 -~ 1;
#X floatatom 617 406 0 0 0;
#X obj 601 254 r smoothing;
#X obj 470 208 r startpoint;
#X obj 617 431 max 1;
#X obj 602 308 max 0.001;
#X obj 602 334 t b f;
#X obj 602 358 1;
#X obj 617 382 /;
#X obj 320 482 *~;
#X obj 320 456 tabread4~ array1;
#X obj 320 430 +~;
#X obj 227 472 print~;
#X msg 227 443 bang;
#X obj 601 61 loadbang;
#X msg 598 91 \; transposition 0 \; looplength 0 \; startpoint 0 \;
smoothing 0;
#X obj 236 263 ../../../extra/loop~;
#X obj 285 233 * 441;
#X obj 284 307 *~;
#X obj 133 41 loadbang;
#X obj 78 174 r running;
#X obj 78 203 sel 1;
#X obj 602 282 * 0.01;
#X obj 286 202 max 0.01;
#X connect 1 0 3 0;
#X connect 2 0 44 0;
#X connect 3 0 5 0;
#X connect 4 0 37 0;
#X connect 5 0 6 0;
#X connect 5 1 4 1;
#X connect 6 0 4 0;
#X connect 11 0 13 0;
#X connect 12 0 11 0;
#X connect 13 0 32 1;
#X connect 14 0 18 0;
#X connect 15 0 17 0;
#X connect 16 0 15 0;
#X connect 17 0 21 0;
#X connect 18 0 19 0;
#X connect 19 0 16 0;
#X connect 20 0 30 1;
#X connect 21 0 20 0;
#X connect 22 0 25 0;
#X connect 23 0 43 0;
#X connect 24 0 12 0;
#X connect 25 0 16 1;
#X connect 26 0 27 0;
#X connect 27 0 28 0;
#X connect 27 1 29 1;
#X connect 28 0 29 0;
#X connect 29 0 22 0;
#X connect 30 0 0 0;
#X connect 31 0 30 0;
#X connect 32 0 31 0;
#X connect 32 0 33 0;
#X connect 34 0 33 0;
#X connect 35 0 36 0;
#X connect 37 0 13 1;
#X connect 37 0 39 0;
#X connect 37 0 14 0;
#X connect 37 1 39 1;
#X connect 38 0 37 1;
#X connect 39 0 32 0;
#X connect 40 0 3 0;
#X connect 41 0 42 0;
#X connect 42 0 37 0;
#X connect 43 0 26 0;
#X connect 44 0 38 0;
#X restore 274 283 pd audio-transformation;
#X obj 553 331 env~ 16384;
#X obj 665 317 route normalized;
#X msg 667 457 write -normalize \$1 array2;
#X msg 667 407 bang;
#X obj 667 432 savepanel;
#X obj 667 482 soundfiler;
#X obj 15 518 soundfiler;
#X msg 15 493 read -resize -maxsize 1e+06 \$1 array1;
#X obj 330 100 r transposition;
#X obj 330 125 r looplength;
#X obj 330 175 r smoothing;
#X obj 708 110 timer;
#X obj 708 135 * 44.1;
#X obj 724 37 r running;
#X obj 708 60 f;
#X obj 708 85 sel 1;
#X obj 708 227 moses;
#X obj 753 227 r maxoutsize;
#X msg 708 252 \; array2 resize \$1;
#X msg 685 37 bang;
#X obj 144 53 route read run start hear save stop;
#X obj 312 427 delay;
#X obj 331 404 + 100;
#X obj 145 329 r maxoutsize;
#X obj 86 329 f;
#X msg 86 354 \; array2 resize \$1;
#X msg 312 452 \; action stop;
#X obj 331 379 / 44.1;
#X msg 62 271 \; pd dsp 1;
#X msg 334 240 \; running 1;
#X obj 202 28 r action;
#X msg 733 160 \; running 0 \; pd dsp 0;
#X obj 330 150 r startpoint;
#X obj 553 357 int;
#X connect 0 0 1 0;
#X connect 1 0 29 0;
#X connect 2 0 42 0;
#X connect 4 0 16 0;
#X connect 5 0 4 1;
#X connect 6 0 5 0;
#X connect 7 0 8 0;
#X connect 8 0 19 0;
#X connect 9 0 10 0;
#X connect 9 0 14 0;
#X connect 10 0 9 1;
#X connect 11 0 9 1;
#X connect 14 0 13 0;
#X connect 14 0 46 0;
#X connect 14 0 43 0;
#X connect 14 0 50 0;
#X connect 14 0 51 0;
#X connect 14 0 33 0;
#X connect 15 0 4 0;
#X connect 15 0 22 0;
#X connect 16 0 3 0;
#X connect 16 0 3 1;
#X connect 17 0 18 0;
#X connect 18 0 15 1;
#X connect 19 0 20 0;
#X connect 21 0 13 0;
#X connect 21 0 15 0;
#X connect 22 0 55 0;
#X connect 23 0 25 0;
#X connect 23 1 7 0;
#X connect 24 0 27 0;
#X connect 25 0 26 0;
#X connect 26 0 24 0;
#X connect 29 0 28 0;
#X connect 30 0 9 0;
#X connect 31 0 9 0;
#X connect 32 0 9 0;
#X connect 33 0 34 0;
#X connect 34 0 53 0;
#X connect 34 0 38 0;
#X connect 35 0 36 1;
#X connect 36 0 37 0;
#X connect 37 0 33 1;
#X connect 38 0 40 0;
#X connect 39 0 38 1;
#X connect 41 0 36 0;
#X connect 42 0 0 0;
#X connect 42 1 14 0;
#X connect 42 1 10 0;
#X connect 42 2 11 0;
#X connect 42 3 17 0;
#X connect 42 4 23 0;
#X connect 42 5 41 0;
#X connect 43 0 48 0;
#X connect 44 0 43 1;
#X connect 45 0 46 1;
#X connect 45 0 49 0;
#X connect 46 0 47 0;
#X connect 49 0 44 0;
#X connect 52 0 42 0;
#X connect 54 0 9 0;
#X connect 55 0 12 0;
#X restore 19 228 pd guts;
#X msg 19 96 run the transformation;
#X msg 19 163 hear the output buffer again;
#X text 19 55 click below to:;
#X msg 19 185 save the output buffer;
#X floatatom 367 337 0 0 120;
#N canvas 194 37 397 591 output 0;
#X obj 66 203 t b;
#X obj 66 152 f;
#X obj 66 102 inlet;
#X text 71 81 mute;
#X obj 66 228 f;
#X msg 134 244 0;
#X msg 66 127 bang;
#X obj 66 178 moses 1;
#X obj 134 218 t b f;
#X obj 96 442 outlet;
#X msg 96 416 set \$1;
#X obj 186 163 moses 1;
#X obj 224 444 dbtorms;
#X obj 224 469 pack 0 100;
#X obj 186 138 r master-lvl;
#X obj 96 382 r master-lvl;
#X obj 83 286 s master-lvl;
#X obj 224 494 s master-amp;
#X obj 208 244 loadbang;
#X msg 208 269 \; master-lvl 90;
#X connect 0 0 4 0;
#X connect 1 0 7 0;
#X connect 2 0 6 0;
#X connect 4 0 16 0;
#X connect 5 0 16 0;
#X connect 6 0 1 0;
#X connect 7 0 0 0;
#X connect 7 1 8 0;
#X connect 8 0 5 0;
#X connect 10 0 9 0;
#X connect 11 1 4 1;
#X connect 12 0 13 0;
#X connect 13 0 17 0;
#X connect 14 0 1 1;
#X connect 14 0 11 0;
#X connect 15 0 10 0;
#X connect 15 0 12 0;
#X connect 18 0 19 0;
#X restore 367 316 pd output;
#X msg 367 294 mute;
#X obj 367 359 s master-lvl;
#X text 410 293 <-- mute button;
#X floatatom 19 250 0 0 0;
#X text 20 294 100 maximum;
#X text 20 276 output meter;
#X text 405 336 <--set me;
#X msg 19 74 read an input file;
#X text 367 379 LINE OUT LEVEL in dB (100 norm);
#X msg 19 206 save normalized to max amplitude;
#X floatatom 368 73 0 0 1000;
#X floatatom 369 19 0 0 0;
#X obj 369 47 s transposition;
#X floatatom 369 170 0 0 100;
#X obj 369 192 s smoothing;
#X obj 368 95 s looplength;
#X text 418 73 <- loop length \, hundredths of a second;
#X floatatom 369 122 0 0 60000;
#X obj 369 144 s startpoint;
#X text 420 123 <- start point \, hundredths of a second;
#X text 419 171 <- envelope smoothing \, 0-100;
#X text 38 9 looping sample player.;
#X msg 19 118 start looping when I change something;
#X msg 19 140 stop looping;
#X floatatom 368 239 0 0 60;
#N canvas 0 0 265 196 length 0;
#X obj 48 24 inlet;
#X obj 49 104 * 44100;
#X msg 86 130 \; array2 resize \$1;
#X obj 48 49 min 60;
#X obj 62 78 s output-length;
#X obj 48 164 s maxoutsize;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 1 0 5 0;
#X connect 3 0 1 0;
#X connect 3 0 4 0;
#X restore 368 260 pd length;
#N canvas 219 38 198 151 /SUBPATCH/ 0;
#X obj 79 122 outlet;
#X obj 79 74 loadbang;
#X msg 79 98 10;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X restore 368 217 pd;
#X text 455 241 length in seconds of the output;
#X text 453 259 buffer... maximum 60;
#X text 404 241 <- set;
#X text 408 20 <- transposition up or down \, 10ths of a half step
;
#X connect 2 0 12 0;
#X connect 3 0 2 0;
#X connect 4 0 2 0;
#X connect 6 0 2 0;
#X connect 7 0 10 0;
#X connect 8 0 7 0;
#X connect 9 0 8 0;
#X connect 16 0 2 0;
#X connect 18 0 2 0;
#X connect 19 0 24 0;
#X connect 20 0 21 0;
#X connect 22 0 23 0;
#X connect 26 0 27 0;
#X connect 31 0 2 0;
#X connect 32 0 2 0;
#X connect 33 0 34 0;
#X connect 35 0 33 0;