-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdkpaulstretch~.pd
188 lines (188 loc) · 4.43 KB
/
dkpaulstretch~.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
#N canvas 1 56 1083 685 10;
#X text 80 15 position (samples);
#X obj 324 22 inlet;
#X text 373 22 blocksize;
#X obj 377 58 loadbang;
#X obj 265 107 moses 0.5;
#X msg 217 138 set 8192 4 1;
#X msg 327 160 set \$1 4 1;
#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 336 125 pd nearpow2;
#X obj 195 215 t f b;
#X obj 225 247 samplerate~;
#X obj 197 271 /;
#X obj 197 293 * 1000;
#X text 244 291 window len (ms);
#X obj 197 315 / 4;
#X obj 112 299 bang~;
#X obj 114 330 f;
#X obj 114 352 pack;
#X msg 114 374 0 \, \$1 \$2;
#X obj 114 396 line~;
#X obj 526 26 inlet;
#X text 592 25 transpostion;
#X msg 522 103 2;
#X obj 529 140 pow;
#X obj 560 105 / 12;
#X msg 563 81 1;
#X obj 536 56 t b b f;
#X obj 559 174 pow;
#X text 569 128 ratio of a half step;
#X obj 559 196 clip 0.125 8;
#X text 636 199 lim to up or down 3 octaves;
#X obj 116 449 +~;
#X text 146 416 transposition amt;
#X obj 281 70 f \$2;
#X obj 235 178 block~ \$2 4 1;
#X obj 114 472 tabread4~ \$1;
#X obj 205 474 tabreceive~ \$0-hann;
#X obj 115 499 *~;
#X obj 115 521 rfft~;
#X obj 115 543 *~;
#X obj 355 293 / 0.375;
#X msg 351 263 1;
#X obj 355 315 / 4;
#X obj 354 338 /;
#X obj 355 226 t b f;
#X text 403 272 normalization for hann:;
#X text 411 290 (1/0.375)*(1/overlap)*(1/windowsize);
#X obj 208 570 *~;
#X obj 115 565 *~;
#X obj 224 501 noise~;
#X obj 224 523 cos~;
#X obj 295 500 noise~;
#X obj 295 522 -~ 0.25;
#X obj 295 544 cos~;
#X text 344 501 random phases for cos and sin;
#X obj 117 602 rifft~;
#X obj 118 641 *~;
#X obj 168 613 tabreceive~ \$0-hann;
#X obj 118 663 outlet~;
#X obj 733 234 table \$0-hann;
#X obj 681 356 \$0;
#X msg 670 386 symbol \$1-hann;
#X obj 654 414 pack f s;
#X msg 654 436 \; \$2 resize \$1;
#X obj 662 319 t f f b;
#X obj 574 347 / 4;
#X obj 566 407 samplerate~;
#X obj 566 429 / 2048;
#X obj 574 452 t f b;
#X msg 627 472 0;
#X obj 577 479 osc~;
#X obj 574 369 t b b f;
#X obj 577 501 *~ -0.5;
#X obj 577 523 +~ 0.5;
#X obj 577 545 tabwrite~ \$0-hann;
#X text 342 101 if not pow of 2 \, make it;
#X text 40 40 args: \$1 - sample array \, \$2 - window size;
#X obj 114 418 *~ 1;
#X obj 27 14 inlet~;
#X obj 66 201 samphold~;
#X text 441 655 cleaned up martin brinkmann's (mmb's) small_paul1 for
easier abstraction use and modified it to accept signal input.;
#X text 12 86 in1: pos \, in2: offset \, in3: blocksize \, in4: transpose
;
#X obj 207 11 inlet;
#X connect 1 0 32 0;
#X connect 3 0 32 0;
#X connect 4 0 5 0;
#X connect 4 1 7 0;
#X connect 5 0 33 0;
#X connect 6 0 33 0;
#X connect 7 0 6 0;
#X connect 7 0 8 0;
#X connect 7 0 15 1;
#X connect 7 0 43 0;
#X connect 7 0 63 0;
#X connect 8 0 10 0;
#X connect 8 1 9 0;
#X connect 9 0 10 1;
#X connect 10 0 11 0;
#X connect 11 0 13 0;
#X connect 13 0 16 1;
#X connect 14 0 15 0;
#X connect 15 0 16 0;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 18 0 76 0;
#X connect 18 0 78 1;
#X connect 19 0 25 0;
#X connect 21 0 22 0;
#X connect 22 0 26 0;
#X connect 23 0 22 1;
#X connect 24 0 23 0;
#X connect 25 0 21 0;
#X connect 25 1 24 0;
#X connect 25 2 26 1;
#X connect 26 0 28 0;
#X connect 28 0 76 1;
#X connect 30 0 34 0;
#X connect 32 0 4 0;
#X connect 34 0 36 0;
#X connect 35 0 36 1;
#X connect 36 0 37 0;
#X connect 37 0 38 0;
#X connect 38 0 46 0;
#X connect 38 0 47 0;
#X connect 39 0 41 0;
#X connect 40 0 39 0;
#X connect 41 0 42 0;
#X connect 42 0 38 1;
#X connect 43 0 40 0;
#X connect 43 1 42 1;
#X connect 46 0 54 1;
#X connect 47 0 54 0;
#X connect 48 0 49 0;
#X connect 49 0 47 1;
#X connect 50 0 51 0;
#X connect 51 0 52 0;
#X connect 52 0 46 1;
#X connect 54 0 55 0;
#X connect 55 0 57 0;
#X connect 56 0 55 1;
#X connect 59 0 60 0;
#X connect 60 0 61 1;
#X connect 61 0 62 0;
#X connect 63 0 64 0;
#X connect 63 1 61 0;
#X connect 63 2 59 0;
#X connect 64 0 70 0;
#X connect 65 0 66 0;
#X connect 66 0 67 0;
#X connect 67 0 69 0;
#X connect 67 1 68 0;
#X connect 68 0 69 1;
#X connect 69 0 71 0;
#X connect 70 0 73 0;
#X connect 70 1 65 0;
#X connect 70 2 66 1;
#X connect 71 0 72 0;
#X connect 72 0 73 0;
#X connect 76 0 30 0;
#X connect 77 0 78 0;
#X connect 78 0 30 1;
#X connect 81 0 34 1;