blob: 62563471ad4c97e488a32f5d85617aedeace9773 (
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
|
#N canvas 58 237 555 452 10;
#N canvas 431 336 551 457 messages 0;
#X obj 34 383 outlet;
#X floatatom 42 228 5 0 0 2 - size -;
#X msg 42 259 size \$1;
#X obj 34 87 bng 15 250 50 0 empty trigger trigger_sampling 0 -6 0
8 -262144 -1 -1;
#X obj 64 139 s playsound;
#X obj 34 115 t b b;
#X msg 34 166 acquire_sample;
#X msg 85 230 10000;
#X obj 280 367 fftease-system;
#X text 45 210 resize memory (but with DACs off to be safe);
#X obj 291 266 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X obj 320 265 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X obj 349 265 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X obj 291 239 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#N canvas 0 22 462 312 init 0;
#X msg 33 61 playthrough 1;
#X obj 33 34 loadbang;
#X obj 33 103 outlet;
#X obj 233 93 loadbang;
#X msg 233 114 1;
#X obj 233 136 s speed-slider;
#X msg 137 61 verbose 0;
#X msg 169 142 1;
#X obj 169 164 s transpose-slider;
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X connect 1 0 6 0;
#X connect 3 0 4 0;
#X connect 3 0 7 0;
#X connect 4 0 5 0;
#X connect 6 0 2 0;
#X connect 7 0 8 0;
#X restore 111 335 pd init;
#N canvas 260 69 789 579 frequency-boundaries 0;
#X msg 283 158 high_freq \$1;
#X obj 286 120 hsl 128 15 500 8000 0 0 empty empty empty -2 -6 0 8
-155632 -1 -1 0 1;
#X floatatom 283 140 5 0 0 0 - - -;
#X text 280 102 highest frequency to resynthesize;
#X text 9 364 note: these relate to frequencies in the original sound.
If you transpose the resynthesis \, you will go outside these ranges.
;
#X obj 4 318 outlet;
#X obj 7 117 hsl 128 15 0 1000 0 0 empty empty empty -2 -6 0 8 -155632
-1 -1 0 1;
#X floatatom 4 138 5 0 0 0 - - -;
#X msg 4 167 low_freq \$1;
#X obj 7 117 hsl 128 15 0 1000 0 0 empty empty empty -2 -6 0 8 -155632
-1 -1 0 1;
#X text -1 98 lowest frequency to resynthesize;
#X connect 0 0 5 0;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 8 0 5 0;
#X restore 64 287 pd frequency-boundaries;
#N canvas 24 525 634 358 random-behavior 0;
#X obj 46 95 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X obj 46 149 random 1000;
#X obj 46 187 * 0.001;
#X obj 190 101 random 1000;
#X obj 190 139 * 0.001;
#X obj 190 169 * 3;
#X obj 190 196 + 0.05;
#X obj 190 46 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X obj 190 73 metro 233;
#X obj 46 57 inlet;
#X obj 46 243 spigot;
#X obj 83 221 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
;
#X obj 190 243 spigot;
#X obj 227 221 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
1;
#X obj 344 101 random 1000;
#X obj 344 139 * 0.001;
#X obj 344 73 metro 233;
#X obj 344 243 spigot;
#X obj 381 221 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
1;
#X obj 344 169 * 2;
#X obj 344 196 - 1;
#X obj 344 50 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X obj 190 19 inlet;
#X obj 344 18 inlet;
#X obj 344 268 s speed-slider;
#X obj 190 268 s transpose-slider;
#X obj 46 268 s position-slider;
#X obj 479 183 loadbang;
#X msg 479 205 1;
#X obj 46 121 metro 650;
#X connect 0 0 29 0;
#X connect 1 0 2 0;
#X connect 2 0 10 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 6 0 12 0;
#X connect 7 0 8 0;
#X connect 8 0 3 0;
#X connect 9 0 0 0;
#X connect 10 0 26 0;
#X connect 11 0 10 1;
#X connect 12 0 25 0;
#X connect 13 0 12 1;
#X connect 14 0 15 0;
#X connect 15 0 19 0;
#X connect 16 0 14 0;
#X connect 17 0 24 0;
#X connect 18 0 17 1;
#X connect 19 0 20 0;
#X connect 20 0 17 0;
#X connect 21 0 16 0;
#X connect 22 0 7 0;
#X connect 23 0 21 0;
#X connect 27 0 28 0;
#X connect 28 0 18 0;
#X connect 28 0 13 0;
#X connect 28 0 11 0;
#X connect 29 0 1 0;
#X restore 291 288 pd random-behavior;
#X text 36 10 Load a valid soundfile in sound-source \, then hit the
sampling trigger below. The resulting recording is stored as a series
of FFT frames inside presidency~ available for arbitrary time-access.
;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X connect 3 0 5 0;
#X connect 5 0 6 0;
#X connect 5 1 4 0;
#X connect 6 0 0 0;
#X connect 7 0 2 0;
#X connect 8 0 0 0;
#X connect 10 0 16 0;
#X connect 11 0 16 1;
#X connect 12 0 16 2;
#X connect 13 0 10 0;
#X connect 13 0 11 0;
#X connect 13 0 12 0;
#X connect 14 0 0 0;
#X connect 15 0 0 0;
#X restore 252 214 pd messages;
#X floatatom 156 134 5 0 0 2 speed speed -;
#N canvas 0 22 530 380 sound-source 0;
#X text 13 300 try a vocal sound or other sound with strong formant
structure;
#X obj 31 194 soundfiler;
#X obj 31 160 openpanel;
#N canvas 0 22 450 300 graph1 0;
#X array presidency-sound1 441202 float 2;
#X coords 0 1 441201 -1 200 140 1;
#X restore 237 13 graph;
#X msg 31 131 bang;
#X obj 227 284 outlet~;
#X msg 227 244 bang;
#X obj 348 228 spigot;
#X obj 385 205 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X text 63 132 open the sound;
#X text 133 244 then play it;
#X text 304 190 loop if you like;
#X obj 227 268 tabplay~ presidency-sound1;
#X msg 31 177 read -resize \$1 presidency-sound1;
#X obj 227 219 r playsound;
#X connect 2 0 13 0;
#X connect 4 0 2 0;
#X connect 6 0 12 0;
#X connect 7 0 6 0;
#X connect 8 0 7 1;
#X connect 12 0 5 0;
#X connect 12 1 7 0;
#X connect 13 0 1 0;
#X connect 14 0 6 0;
#X restore 124 95 pd sound-source;
#X msg 301 272 \; pd dsp \$1;
#X obj 301 246 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X floatatom 188 163 5 0 1 2 position position -;
#X obj 28 47 vsl 15 128 -2 2 0 0 speed speed-slider speed 0 -8 0 8
-253906 -1 -1 9525 1;
#X obj 60 47 vsl 15 128 0 1 0 0 position position-slider position 0
-8 0 8 -4094 -1 -1 0 1;
#X text 333 214 <- ask me what I can do;
#X floatatom 220 194 5 0 1 2 transpose transpose -;
#X obj 35 216 vsl 15 128 0.1 2 0 0 transpose transpose-slider transpose
0 -8 0 8 -231210 -1 -1 6016 1;
#X msg 29 13 0;
#N canvas 81 500 498 348 presidency-block 0;
#X obj 28 42 inlet~;
#X obj 89 42 inlet~;
#X obj 150 42 inlet~;
#X obj 313 66 inlet;
#X obj 28 140 outlet~;
#X obj 28 169 block~ 256;
#X text 103 171 FFT size is block~ size times overlap;
#X obj 28 99 presidency~ 5000 0 4000 4 1;
#X obj 212 42 inlet~;
#X text 39 120 args: size \, minfreq \, maxfreq \, overlap \, window
factor;
#X obj 323 279 outlet;
#X obj 323 251 snapshot~;
#X obj 378 213 metro 50;
#X msg 378 192 1;
#X obj 378 156 loadbang;
#X connect 0 0 7 0;
#X connect 1 0 7 1;
#X connect 2 0 7 2;
#X connect 3 0 7 0;
#X connect 7 0 4 0;
#X connect 7 1 11 0;
#X connect 8 0 7 3;
#X connect 11 0 10 0;
#X connect 12 0 11 0;
#X connect 13 0 12 0;
#X connect 14 0 13 0;
#X restore 124 246 pd presidency-block;
#X text 128 372 presidency~ follows the residency~ model but uses an
oscillator bank for resynthesis and offers independent control of speed
\, location and transposition of playback.;
#X text 237 94 <- first load a sound here;
#X floatatom 252 271 5 0 0 0 - - -;
#X text 212 272 sync;
#X obj 214 31 hsl 128 15 0 1 0 0 presidency-gain empty gain -2 -6 0
8 -67648 -1 -1 0 1;
#X obj 124 322 dac~;
#X obj 124 284 *~ 0.25;
#X floatatom 168 268 5 0 0 3 - presidency-gain -;
#X text 59 14 freeze frame;
#X connect 0 0 12 4;
#X connect 1 0 12 1;
#X connect 2 0 12 0;
#X connect 4 0 3 0;
#X connect 5 0 12 2;
#X connect 9 0 12 3;
#X connect 11 0 6 0;
#X connect 12 0 19 0;
#X connect 12 1 15 0;
#X connect 19 0 18 1;
#X connect 19 0 18 0;
#X connect 20 0 19 1;
|