This file is indexed.

/usr/share/puredata/doc/7.stuff/soundfile-tools/6.vocoder.pd is in puredata-core 0.46.7-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
#N canvas 73 102 706 428 12;
#X floatatom 462 162 0 0 100;
#X msg 462 137 set \$1;
#X text 29 322 100 maximum;
#X text 29 304 output meter;
#N canvas 145 136 937 540 guts 0;
#X msg 5 296 bang;
#X obj 5 321 openpanel;
#X obj 136 29 inlet;
#X obj 452 375 dac~;
#X obj 452 323 *~;
#X obj 467 300 line~;
#X obj 467 280 r master-amp;
#X msg 689 157 bang;
#X obj 689 177 savepanel;
#X obj 506 393 outlet;
#X obj 297 238 tabwrite~ array2;
#X obj 454 238 +~;
#X obj 452 343 hip~ 7;
#X msg 446 108 bang;
#X obj 446 133 tabplay~ array2;
#X msg 689 197 write \$1 array2;
#X obj 689 218 soundfiler;
#X obj 506 373 env~ 16384;
#X obj 587 129 route normalized;
#X msg 587 250 write -normalize \$1 array2;
#X msg 587 209 bang;
#X obj 587 230 savepanel;
#X obj 587 274 soundfiler;
#X obj 5 365 soundfiler;
#X msg 5 343 read -resize -maxsize 1e+06 \$1 array1;
#X obj 676 338 loadbang;
#N canvas 0 0 690 470 fft-analysis 0;
#X obj 275 314 *~;
#X obj 257 348 *~;
#X obj 218 348 *~;
#X obj 105 163 *~;
#X obj 66 156 *~;
#X obj 66 182 +~;
#X obj 216 104 *~;
#X obj 253 104 inlet~;
#X obj 216 130 rfft~;
#X obj 42 371 *~;
#X floatatom 458 208 0 0 0;
#X obj 334 177 *~;
#X obj 66 104 *~;
#X obj 103 104 inlet~;
#X obj 45 65 tabreceive~ hanning;
#X obj 66 130 rfft~;
#X obj 218 374 rifft~;
#X obj 42 397 outlet~;
#X obj 297 177 *~;
#X obj 297 203 +~;
#X obj 307 314 sig~ 0.001;
#X text 122 214 modulus;
#X obj 66 208 sqrt~;
#X obj 275 288 *~;
#X obj 457 58 r squelch;
#X obj 329 418 block~ 1024 4;
#X obj 297 229 rsqrt~;
#X obj 341 203 sig~ 1e-20;
#X obj 297 255 clip~;
#X obj 458 130 t f f;
#X obj 458 156 *;
#X obj 458 182 * 0.01;
#X obj 456 94 max 1;
#X obj 559 58 loadbang;
#X obj 458 234 max 0;
#X connect 0 0 1 1;
#X connect 0 0 2 1;
#X connect 1 0 16 1;
#X connect 2 0 16 0;
#X connect 3 0 5 1;
#X connect 4 0 5 0;
#X connect 5 0 22 0;
#X connect 6 0 8 0;
#X connect 7 0 6 1;
#X connect 8 0 18 0;
#X connect 8 0 18 1;
#X connect 8 0 2 0;
#X connect 8 1 11 0;
#X connect 8 1 11 1;
#X connect 8 1 1 0;
#X connect 9 0 17 0;
#X connect 10 0 34 0;
#X connect 11 0 19 1;
#X connect 12 0 15 0;
#X connect 13 0 12 1;
#X connect 14 0 12 0;
#X connect 14 0 6 0;
#X connect 14 0 9 0;
#X connect 15 0 4 0;
#X connect 15 0 4 1;
#X connect 15 1 3 0;
#X connect 15 1 3 1;
#X connect 16 0 9 1;
#X connect 18 0 19 0;
#X connect 19 0 26 0;
#X connect 20 0 0 1;
#X connect 22 0 23 0;
#X connect 23 0 0 0;
#X connect 24 0 32 0;
#X connect 26 0 28 0;
#X connect 27 0 26 0;
#X connect 28 0 23 1;
#X connect 29 0 30 0;
#X connect 29 0 30 1;
#X connect 30 0 31 0;
#X connect 31 0 10 0;
#X connect 32 0 29 0;
#X connect 33 0 32 0;
#X connect 34 0 28 2;
#X restore 296 194 pd fft-analysis;
#X msg 202 86 bang;
#N canvas 46 0 723 534 hanning-window 0;
#X obj 122 273 phasor~;
#X obj 122 311 cos~;
#X obj 31 436 tabwrite~ hanning;
#X obj 40 336 -~;
#X obj 37 290 sig~ 1;
#X msg 50 240 0;
#X text 188 18 CALCULATE HANNING;
#X text 188 36 WINDOW TABLE;
#N canvas 0 0 450 300 graph1 0;
#X array hanning 1024 float 0;
#X coords 0 1 1023 -1 400 300 1;
#X restore 342 235 graph;
#X obj 123 227 sig~;
#X text 156 173 sample rate / window size;
#X msg 31 191 bang;
#X obj 88 357 sig~ 0.5;
#X obj 66 399 *~;
#X obj 124 106 samplerate~;
#X obj 33 31 r window-size;
#X obj 123 175 /;
#X msg 262 106 \; hanning resize \$1;
#X obj 31 70 t b f f;
#X connect 0 0 1 0;
#X connect 1 0 3 1;
#X connect 3 0 13 0;
#X connect 4 0 3 0;
#X connect 5 0 0 1;
#X connect 9 0 0 0;
#X connect 11 0 2 0;
#X connect 11 0 5 0;
#X connect 12 0 13 1;
#X connect 13 0 2 0;
#X connect 14 0 16 0;
#X connect 15 0 18 0;
#X connect 16 0 9 0;
#X connect 18 0 14 0;
#X connect 18 0 11 0;
#X connect 18 1 16 1;
#X connect 18 2 17 0;
#X restore 673 403 pd hanning-window;
#X obj 181 29 r action;
#X msg 150 163 \; pd dsp 1;
#X msg 389 106 stop;
#X msg 58 455 \; array2 resize \$1;
#X obj 58 434 + 4410;
#X obj 136 50 route read AND run hear save stop;
#X obj 58 412 min;
#X obj 107 380 t b f;
#X obj 107 270 openpanel;
#X obj 107 314 soundfiler;
#X msg 107 293 read -resize -maxsize 1e+06 \$1 array3;
#X msg 106 239 bang;
#X msg 676 360 \; window-size 1024 \;;
#X obj 296 145 tabplay~ array1;
#X obj 314 167 tabplay~ array3;
#X connect 0 0 1 0;
#X connect 1 0 24 0;
#X connect 2 0 34 0;
#X connect 4 0 12 0;
#X connect 5 0 4 1;
#X connect 6 0 5 0;
#X connect 7 0 8 0;
#X connect 8 0 15 0;
#X connect 11 0 4 0;
#X connect 12 0 3 0;
#X connect 12 0 3 1;
#X connect 12 0 17 0;
#X connect 13 0 14 0;
#X connect 14 0 11 1;
#X connect 15 0 16 0;
#X connect 17 0 9 0;
#X connect 18 0 20 0;
#X connect 18 1 7 0;
#X connect 19 0 22 0;
#X connect 20 0 21 0;
#X connect 21 0 19 0;
#X connect 23 0 35 0;
#X connect 24 0 23 0;
#X connect 25 0 41 0;
#X connect 26 0 10 0;
#X connect 26 0 11 0;
#X connect 27 0 10 0;
#X connect 27 0 30 0;
#X connect 27 0 42 0;
#X connect 27 0 43 0;
#X connect 29 0 34 0;
#X connect 31 0 14 0;
#X connect 33 0 32 0;
#X connect 34 0 0 0;
#X connect 34 1 40 0;
#X connect 34 2 27 0;
#X connect 34 3 13 0;
#X connect 34 4 18 0;
#X connect 34 5 31 0;
#X connect 35 0 33 0;
#X connect 36 0 35 0;
#X connect 36 1 35 1;
#X connect 37 0 39 0;
#X connect 38 0 36 0;
#X connect 39 0 38 0;
#X connect 40 0 37 0;
#X connect 42 0 26 0;
#X connect 43 0 26 1;
#X restore 29 263 pd guts;
#X msg 29 158 run the transformation;
#X msg 29 200 hear the output buffer again;
#X text 29 97 click below to:;
#X msg 29 221 save the output buffer;
#X floatatom 29 284 0 0 0;
#X msg 29 242 save normalized to max amplitude;
#N canvas 130 10 488 287 input-sample 0;
#N canvas 0 0 450 300 graph1 0;
#X array array1 188955 float 0;
#X coords 0 1 188954 -1 400 100 1;
#X restore 53 21 graph;
#N canvas 0 0 450 300 graph3 0;
#X array array3 225280 float 0;
#X coords 0 1 225279 -1 400 100 1;
#X restore 54 146 graph;
#X text 227 279 INPUT SAMPLES;
#X restore 169 368 pd input-sample;
#N canvas 192 180 507 343 output-sample 0;
#N canvas 0 0 450 300 graph2 0;
#X array array2 193365 float 0;
#X coords 0 1 193364 -1 400 300 1;
#X restore 56 12 graph;
#X text 151 365 OUTPUT SAMPLE;
#X restore 168 393 pd output-sample;
#X floatatom 408 365 0 0 0;
#N canvas 194 37 397 591 output 0;
#X obj 62 191 t b;
#X obj 62 144 f;
#X obj 62 96 inlet;
#X text 67 76 mute;
#X obj 62 215 f;
#X msg 127 229 0;
#X msg 62 120 bang;
#X obj 62 167 moses 1;
#X obj 127 206 t b f;
#X obj 90 416 outlet;
#X msg 90 392 set \$1;
#X obj 175 154 moses 1;
#X obj 211 418 dbtorms;
#X obj 211 442 pack 0 100;
#X obj 175 130 r master-lvl;
#X obj 90 359 r master-lvl;
#X obj 78 269 s master-lvl;
#X obj 211 466 s master-amp;
#X obj 195 229 loadbang;
#X msg 195 253 \; 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 408 344 pd output;
#X msg 408 323 mute;
#X obj 408 386 s master-lvl;
#X text 449 322 <-- mute button;
#X text 444 363 <--set me;
#X text 408 406 LINE OUT LEVEL in dB (100 norm);
#X msg 29 179 stop the transformation;
#X text 193 9 (old-fashioned) VOCODER;
#X text 28 31 This takes in two soundfiles and uses the first to "vocode"
the second. THe resulting sound is as long as the shorter of the two
inputs.;
#X msg 29 116 read the analysis sound from file;
#X msg 29 137 AND read the sound to be processed from file;
#X text 462 97 SQUELCH;
#X obj 462 116 r squelch;
#X obj 462 187 s squelch;
#X text 526 161 1-100 or so;
#X connect 0 0 27 0;
#X connect 1 0 0 0;
#X connect 4 0 9 0;
#X connect 5 0 4 0;
#X connect 6 0 4 0;
#X connect 8 0 4 0;
#X connect 10 0 4 0;
#X connect 13 0 16 0;
#X connect 14 0 13 0;
#X connect 15 0 14 0;
#X connect 20 0 4 0;
#X connect 23 0 4 0;
#X connect 24 0 4 0;
#X connect 26 0 1 0;