-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdkphasevoc~.pd
337 lines (337 loc) · 7.97 KB
/
dkphasevoc~.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
333
334
335
336
337
#N canvas 52 250 1375 718 10;
#X obj 51 477 *~;
#X obj 18 477 *~;
#X obj 18 499 -~;
#X obj 167 475 *~;
#X obj 136 475 *~;
#X obj 136 497 +~;
#X obj 109 193 *~;
#X obj 78 193 *~;
#X obj 50 193 *~;
#X obj 19 193 *~;
#X obj 19 218 +~;
#X obj 127 379 *~;
#X obj 20 622 *~;
#X obj 238 430 rfft~;
#X obj 108 161 rfft~;
#X obj 19 564 rifft~;
#X obj 21 646 outlet~;
#X obj 97 379 *~;
#X obj 97 401 +~;
#X obj 124 218 -~;
#X obj 18 431 *~;
#X obj 51 432 *~;
#X obj 19 349 +~ 1e-15;
#X obj 19 598 *~;
#X obj 52 598 tabreceive~ \$0-hann;
#X obj 127 643 expr 2/(3*$f1);
#X obj 97 425 q8_rsqrt~;
#N canvas 131 194 1006 799 read-windows 0;
#X obj 18 693 *~;
#X obj 102 139 /;
#X obj 195 695 *~;
#X obj 17 551 line~;
#X obj 102 164 * 1000;
#X obj 51 597 / 4;
#X floatatom 340 498 7 0 0 0 - - -, f 7;
#X obj 340 474 *;
#X obj 375 474 t b f;
#X obj 19 719 outlet~;
#X obj 195 720 outlet~;
#X obj 218 664 tabreceive~ \$0-hann;
#X text 411 498 stretched window size (samples);
#X floatatom 111 187 5 0 0 0 - - -, f 5;
#X obj 102 115 t f b;
#X obj 142 139 samplerate~;
#X obj 102 208 / 4;
#X obj 203 420 / 2;
#X text 239 417 back up 1/2 window;
#X obj 16 597 -~;
#X text 43 6 Read two windows out of the recorded sample \, one 1/4
ahead of the other. The mid point of the front window is specified
by "location". If "speed" is nonzero \, "location" automatically precesses.
;
#X text 81 601 "back" window 1/4 cycle behind "front" one;
#X text 137 205 computation period (msec) for overlap of 4;
#X text 164 186 msec in a window;
#X text 763 531 misc controls;
#X obj 16 469 f;
#X obj 17 496 pack;
#X msg 17 523 0 \, \$1 \$2;
#X obj 102 91 r \$0-window-size;
#X obj 607 322 r \$0-transpo;
#X obj 340 448 r \$0-window-size;
#X obj 733 563 r \$0-no-detune;
#X msg 733 661 \; \$1-transpo 0;
#X obj 734 626 f \$0;
#X obj 17 637 tabread4~ \$1;
#X obj 194 637 tabread4~ \$1;
#X obj 166 364 r \$0-location;
#X obj 16 441 bang;
#X obj 166 420 -;
#X msg 626 411 2;
#X obj 633 448 pow;
#X obj 664 413 / 12;
#X msg 667 389 1;
#X obj 640 364 t b b f;
#X obj 663 482 pow;
#X text 673 436 ratio of a half step;
#X obj 663 504 clip 0.125 8;
#X connect 0 0 9 0;
#X connect 1 0 4 0;
#X connect 2 0 10 0;
#X connect 3 0 19 0;
#X connect 3 0 35 0;
#X connect 4 0 13 0;
#X connect 4 0 16 0;
#X connect 5 0 19 1;
#X connect 6 0 5 0;
#X connect 6 0 17 0;
#X connect 6 0 25 1;
#X connect 7 0 6 0;
#X connect 8 0 7 0;
#X connect 8 1 7 1;
#X connect 11 0 2 1;
#X connect 11 0 0 1;
#X connect 14 0 1 0;
#X connect 14 1 15 0;
#X connect 15 0 1 1;
#X connect 16 0 26 1;
#X connect 17 0 38 1;
#X connect 19 0 34 0;
#X connect 25 0 26 0;
#X connect 26 0 27 0;
#X connect 27 0 3 0;
#X connect 28 0 14 0;
#X connect 29 0 43 0;
#X connect 30 0 7 0;
#X connect 31 0 33 0;
#X connect 33 0 32 0;
#X connect 34 0 0 0;
#X connect 35 0 2 0;
#X connect 36 0 38 0;
#X connect 37 0 25 0;
#X connect 38 0 35 1;
#X connect 38 0 37 0;
#X connect 38 0 34 1;
#X connect 39 0 40 0;
#X connect 40 0 44 0;
#X connect 41 0 40 1;
#X connect 42 0 41 0;
#X connect 43 0 39 0;
#X connect 43 1 42 0;
#X connect 43 2 44 1;
#X connect 44 0 46 0;
#X connect 46 0 8 0;
#X restore 109 133 pd read-windows;
#X obj 121 69 *~;
#X obj 89 69 *~;
#X obj 89 91 +~;
#X obj 159 94 q8_rsqrt~;
#X obj 159 71 +~ 1e-20;
#X obj 73 119 *~;
#X obj 19 118 *~;
#X obj 29 245 lrshift~ 1;
#X obj 24 269 lrshift~ -1;
#X obj 141 245 lrshift~ 1;
#X obj 133 269 lrshift~ -1;
#X obj 35 300 *~;
#X obj 159 312 *~;
#X obj 19 325 +~;
#X obj 125 331 +~;
#X obj 20 8 tabreceive~ \$0-prev-real;
#X obj 73 29 tabreceive~ \$0-prev-imag;
#X obj 137 543 tabsend~ \$0-prev-imag;
#X obj 136 567 tabsend~ \$0-prev-real;
#X obj 127 622 r \$0-window-size;
#X obj 181 290 r \$0-lock;
#X obj 423 643 block~;
#X obj 589 505 loadbang;
#X msg 423 618 set \$1 4;
#X obj 423 595 r \$0-window-size;
#X obj 588 547 f \$0;
#X text 275 29 \$1 - array name;
#X text 274 49 \$2 - window size;
#X obj 442 35 f \$2;
#X obj 441 9 loadbang;
#X obj 419 106 s \$0-window-size;
#X obj 694 506 table \$0-hann \$2;
#X obj 692 533 table \$0-prev-real \$2;
#X obj 693 560 table \$0-prev-imag \$2;
#X obj 351 256 s \$0-location;
#X obj 354 209 vsnapshot~;
#X obj 401 157 bang~;
#X obj 345 159 inlet~;
#X msg 588 588 \; \$1-transpo 0 \;;
#X obj 482 155 inlet;
#X obj 484 214 s \$0-transpo;
#X obj 625 159 inlet;
#X obj 629 225 s \$0-lock;
#X text 646 181 phase locking;
#X text 260 132 like tabread4 \, index by sample;
#N canvas 124 110 450 300 nearpow2 0;
#X obj 112 41 log;
#X obj 93 120 /;
#X obj 124 153 log 2;
#X msg 135 107 2;
#X obj 108 87 t f b;
#X obj 99 222 pow 2;
#X msg 80 209 2;
#X obj 116 14 inlet;
#X obj 93 266 outlet;
#X obj 83 153 int;
#X obj 101 183 t b f;
#X connect 0 0 4 0;
#X connect 1 0 9 0;
#X connect 2 0 1 1;
#X connect 3 0 2 0;
#X connect 4 0 1 0;
#X connect 4 1 3 0;
#X connect 5 0 8 0;
#X connect 6 0 5 0;
#X connect 7 0 0 0;
#X connect 9 0 10 0;
#X connect 10 0 6 0;
#X connect 10 1 5 1;
#X restore 417 69 pd nearpow2;
#X obj 584 84 loadbang;
#X msg 584 106 0;
#X obj 508 353 \$0;
#X msg 497 383 symbol \$1-hann;
#X obj 481 411 pack f s;
#X msg 481 433 \; \$2 resize \$1;
#X obj 489 316 t f f b;
#X obj 401 344 / 4;
#X obj 393 404 samplerate~;
#X obj 393 426 / 2048;
#X obj 401 449 t f b;
#X msg 454 469 0;
#X obj 404 476 osc~;
#X obj 401 366 t b b f;
#X obj 404 498 *~ -0.5;
#X obj 404 520 +~ 0.5;
#X obj 404 542 tabwrite~ \$0-hann;
#X obj 500 286 r \$0-window-size;
#X text 17 76 normalize;
#X text 157 391 normalize;
#X text 227 273 add neighoring amps (phase locking);
#X text 156 189 mult by conj of sig back win;
#X text 184 494 mult by front window of sig;
#X obj 354 231 + 0;
#X obj 434 187 inlet;
#X text 432 173 offset;
#X text 490 186 transposition;
#X text 694 20 in1: pos;
#X text 693 33 in2: offset;
#X text 691 49 in3: transposition (hs);
#X text 687 66 in4: phase locking;
#X connect 0 0 2 1;
#X connect 1 0 2 0;
#X connect 2 0 15 0;
#X connect 2 0 46 0;
#X connect 3 0 5 1;
#X connect 4 0 5 0;
#X connect 5 0 15 1;
#X connect 5 0 45 0;
#X connect 6 0 19 1;
#X connect 7 0 19 0;
#X connect 8 0 10 1;
#X connect 9 0 10 0;
#X connect 10 0 36 0;
#X connect 10 0 35 0;
#X connect 10 0 41 0;
#X connect 11 0 18 1;
#X connect 12 0 16 0;
#X connect 13 0 1 1;
#X connect 13 0 3 1;
#X connect 13 1 0 1;
#X connect 13 1 4 1;
#X connect 14 0 9 1;
#X connect 14 0 7 1;
#X connect 14 1 6 1;
#X connect 14 1 8 1;
#X connect 15 0 23 0;
#X connect 17 0 18 0;
#X connect 18 0 26 0;
#X connect 19 0 37 0;
#X connect 19 0 38 0;
#X connect 19 0 42 0;
#X connect 20 0 1 0;
#X connect 20 0 4 0;
#X connect 21 0 0 0;
#X connect 21 0 3 0;
#X connect 22 0 17 1;
#X connect 22 0 17 0;
#X connect 22 0 20 0;
#X connect 23 0 12 0;
#X connect 24 0 23 1;
#X connect 25 0 12 1;
#X connect 26 0 20 1;
#X connect 26 0 21 1;
#X connect 27 0 14 0;
#X connect 27 1 13 0;
#X connect 28 0 30 1;
#X connect 29 0 30 0;
#X connect 30 0 32 0;
#X connect 31 0 33 1;
#X connect 31 0 34 1;
#X connect 32 0 31 0;
#X connect 33 0 8 0;
#X connect 33 0 7 0;
#X connect 34 0 9 0;
#X connect 34 0 6 0;
#X connect 35 0 39 0;
#X connect 36 0 39 0;
#X connect 37 0 40 0;
#X connect 38 0 40 0;
#X connect 39 0 41 1;
#X connect 40 0 42 1;
#X connect 41 0 22 0;
#X connect 42 0 11 0;
#X connect 42 0 11 1;
#X connect 42 0 21 0;
#X connect 43 0 29 1;
#X connect 43 0 29 0;
#X connect 43 0 34 0;
#X connect 44 0 28 1;
#X connect 44 0 28 0;
#X connect 44 0 33 0;
#X connect 47 0 25 0;
#X connect 48 0 39 1;
#X connect 48 0 40 1;
#X connect 50 0 53 0;
#X connect 51 0 49 0;
#X connect 52 0 51 0;
#X connect 53 0 66 0;
#X connect 56 0 73 0;
#X connect 57 0 56 0;
#X connect 63 0 97 0;
#X connect 64 0 63 0;
#X connect 65 0 63 0;
#X connect 67 0 68 0;
#X connect 69 0 70 0;
#X connect 73 0 58 0;
#X connect 74 0 75 0;
#X connect 75 0 68 0;
#X connect 75 0 70 0;
#X connect 76 0 77 0;
#X connect 77 0 78 1;
#X connect 78 0 79 0;
#X connect 80 0 81 0;
#X connect 80 1 78 0;
#X connect 80 2 76 0;
#X connect 81 0 87 0;
#X connect 82 0 83 0;
#X connect 83 0 84 0;
#X connect 84 0 86 0;
#X connect 84 1 85 0;
#X connect 85 0 86 1;
#X connect 86 0 88 0;
#X connect 87 0 90 0;
#X connect 87 1 82 0;
#X connect 87 2 83 1;
#X connect 88 0 89 0;
#X connect 89 0 90 0;
#X connect 91 0 80 0;
#X connect 97 0 62 0;
#X connect 98 0 97 1;