diff options
Diffstat (limited to 'examples/puredata/xtract/f0.pd')
-rw-r--r-- | examples/puredata/xtract/f0.pd | 302 |
1 files changed, 0 insertions, 302 deletions
diff --git a/examples/puredata/xtract/f0.pd b/examples/puredata/xtract/f0.pd deleted file mode 100644 index 6ea0714..0000000 --- a/examples/puredata/xtract/f0.pd +++ /dev/null @@ -1,302 +0,0 @@ -#N canvas 730 93 584 590 10; -#N canvas 162 173 901 522 guts 0; -#X obj 205 48 osc~; -#X obj 338 70 a_spigot~; -#X obj 205 70 a_spigot~; -#X obj 331 -26 line; -#X msg 331 -50 \$1 50; -#X obj 357 282 ftom; -#X obj 3 48 ftom; -#N canvas 0 0 450 300 fm 0; -#X obj 181 114 osc~; -#X obj 138 175 osc~; -#X obj 137 154 +~; -#X obj 144 209 outlet~; -#X obj 182 82 *; -#X obj 137 26 inlet; -#X obj 204 6 inlet; -#X obj 179 54 f; -#X obj 204 30 t b f; -#X obj 182 143 *~; -#X obj 238 81 - 2; -#X obj 225 113 * 100000; -#X connect 0 0 9 0; -#X connect 1 0 3 0; -#X connect 2 0 1 0; -#X connect 4 0 0 0; -#X connect 5 0 2 0; -#X connect 5 0 4 0; -#X connect 5 0 7 1; -#X connect 6 0 8 0; -#X connect 7 0 4 0; -#X connect 7 0 2 0; -#X connect 8 0 7 0; -#X connect 8 1 4 1; -#X connect 8 1 10 0; -#X connect 9 0 2 1; -#X connect 10 0 11 0; -#X connect 11 0 9 1; -#X restore 339 47 pd fm; -#X obj 459 69 a_spigot~; -#X obj 253 168 +~; -#N canvas 0 0 450 300 noise 0; -#X obj 260 126 noise~; -#X obj 269 161 *~; -#X obj 270 194 lop~; -#X obj 305 161 * 10000; -#X obj 320 124 inlet; -#X obj 268 236 outlet~; -#X connect 0 0 1 0; -#X connect 1 0 2 0; -#X connect 2 0 5 0; -#X connect 3 0 2 1; -#X connect 4 0 3 0; -#X connect 4 0 1 1; -#X restore 587 66 pd noise; -#N canvas 554 114 496 580 pda 0; -#X obj 99 100 xtract~ f0; -#X obj 197 6 inlet~; -#X msg 361 203 list \$1; -#X obj 244 115 *~; -#X obj 59 25 r sr; -#X obj 149 267 tabsend~ freqs; -#X obj 401 30 table freqs; -#X obj 148 292 tabreceive~ freqs; -#X obj 6 220 != 0; -#X obj 4 331 spigot; -#X obj 57 331 spigot; -#X obj 67 217 == 0; -#X obj 27 369 f; -#X obj 28 415 lop~ 20; -#X obj 27 393 sig~; -#X obj 29 469 snapshot~; -#X obj 95 434 bang~; -#X obj 26 529 outlet; -#X obj 29 499 a_bavg 4; -#X obj 197 29 lop~ 5000; -#X obj 402 8 block~ 2048; -#X obj 200 51 hip~ 20; -#X msg 60 48 list \$1; -#X obj 274 59 r \$0-window-gen; -#X obj 274 80 a_hann 2048; -#X obj 148 222 xtract~ peak_spectrum; -#X obj 149 315 xtract~ lowest_value; -#X obj 150 243 a_blockswap~ 2048; -#X obj 359 127 samplerate~; -#X obj 358 150 / 2048; -#X msg 358 171 \$1 10; -#X obj 356 105 r \$0-peak-args; -#X obj 147 195 xtract~ spectrum 2048; -#X connect 0 0 2 0; -#X connect 0 0 8 0; -#X connect 0 0 9 0; -#X connect 0 0 11 0; -#X connect 1 0 19 0; -#X connect 2 0 26 1; -#X connect 3 0 32 0; -#X connect 4 0 22 0; -#X connect 7 0 26 0; -#X connect 8 0 9 1; -#X connect 9 0 12 0; -#X connect 10 0 12 0; -#X connect 11 0 10 1; -#X connect 12 0 14 0; -#X connect 13 0 15 0; -#X connect 14 0 13 0; -#X connect 15 0 18 0; -#X connect 16 0 15 0; -#X connect 18 0 17 0; -#X connect 19 0 21 0; -#X connect 21 0 0 0; -#X connect 21 0 3 0; -#X connect 22 0 0 1; -#X connect 23 0 24 0; -#X connect 24 0 3 1; -#X connect 25 0 27 0; -#X connect 26 0 10 0; -#X connect 27 0 5 0; -#X connect 28 0 29 0; -#X connect 29 0 30 0; -#X connect 30 0 25 1; -#X connect 31 0 28 0; -#X connect 32 0 25 0; -#X restore 357 262 pd pda; -#N canvas 0 0 596 417 d_saw 0; -#X obj 382 176 phasor~; -#X obj 397 96 noise~; -#X obj 346 116 sig~; -#X obj 381 149 +~; -#X obj 397 117 *~; -#X obj 242 198 phasor~; -#X obj 319 283 outlet~; -#X obj 385 215 *~ 0.5; -#X obj 240 227 *~ 0.3; -#X obj 270 173 * 0.01; -#X obj 241 174 +; -#X obj 460 97 * 0.1; -#X obj 312 249 lop~ 10000; -#X obj 369 51 inlet; -#X obj 261 55 inlet fund; -#X obj 258 138 f; -#X obj 286 105 t b f; -#X connect 0 0 7 0; -#X connect 1 0 4 0; -#X connect 2 0 3 0; -#X connect 3 0 0 0; -#X connect 4 0 3 1; -#X connect 5 0 8 0; -#X connect 7 0 12 0; -#X connect 8 0 12 0; -#X connect 9 0 10 1; -#X connect 10 0 5 0; -#X connect 11 0 4 1; -#X connect 12 0 6 0; -#X connect 13 0 16 0; -#X connect 14 0 2 0; -#X connect 14 0 11 0; -#X connect 14 0 15 1; -#X connect 14 0 10 0; -#X connect 15 0 10 0; -#X connect 15 0 9 0; -#X connect 16 0 15 0; -#X connect 16 1 9 1; -#X restore 457 45 pd d_saw; -#X obj 160 262 fiddle~ 2048; -#X obj 75 47 adc~; -#X obj 76 71 a_spigot~; -#X obj 2 69 a_mton; -#X obj 160 283 a_mton; -#X obj 357 301 a_mton; -#X obj 733 -70 loadbang; -#X obj 68 241 loadbang; -#X msg 67 263 symbol; -#X text 411 263 <-The magic happens in here; -#X obj 660 323 a_output~; -#X msg 747 271 0; -#X obj 263 46 r \$0-sine; -#X obj 134 48 r \$0-adc; -#X obj 396 48 r \$0-fm; -#X obj 521 43 r \$0-saw; -#X obj 586 41 r \$0-noisiness; -#X obj 473 -1 r \$0-inharmonicity; -#X obj 161 409 s \$0-fidd_f0_note; -#X obj 178 386 s \$0-fidd_f0_8ve; -#X obj 197 361 s \$0-fidd_f0_cent; -#X obj 356 367 s \$0-pda_f0_note; -#X obj 333 -73 r \$0-fund; -#X obj 375 345 s \$0-pda_f0_8ve; -#X obj 395 326 s \$0-pda_f0_cent; -#X obj 745 230 r \$0-master-lvl-stereo; -#X obj 747 252 r \$0-master-lvl-mute; -#X obj 747 291 s \$0-master-lvl-stereo; -#X obj 733 -45 f \$0; -#X obj 38 357 s \$0-f0_cent; -#X obj 19 378 s \$0-f0_8ve; -#X obj 0 406 s \$0-f0_note; -#X obj 254 261 s~ \$0-dacs; -#X obj 670 281 r~ \$0-dacs; -#X msg 732 -19 \; pd dsp 1 \; \; \$1-window-gen bang \; sr 44100 \; -\; \$1-master-lvl-stereo 50 \; \$1-peak-args bang; -#X connect 0 0 2 0; -#X connect 1 0 9 0; -#X connect 2 0 9 0; -#X connect 3 0 0 0; -#X connect 3 0 12 0; -#X connect 3 0 7 0; -#X connect 3 0 6 0; -#X connect 4 0 3 0; -#X connect 5 0 18 0; -#X connect 6 0 16 0; -#X connect 7 0 1 0; -#X connect 8 0 9 0; -#X connect 9 0 11 0; -#X connect 9 0 13 0; -#X connect 9 0 45 0; -#X connect 10 0 9 1; -#X connect 11 0 5 0; -#X connect 12 0 8 0; -#X connect 13 0 17 0; -#X connect 14 0 15 0; -#X connect 15 0 9 0; -#X connect 16 0 44 0; -#X connect 16 1 43 0; -#X connect 16 2 42 0; -#X connect 17 0 31 0; -#X connect 17 1 32 0; -#X connect 17 2 33 0; -#X connect 18 0 34 0; -#X connect 18 1 36 0; -#X connect 18 2 37 0; -#X connect 19 0 41 0; -#X connect 20 0 21 0; -#X connect 21 0 31 0; -#X connect 21 0 34 0; -#X connect 21 0 44 0; -#X connect 24 0 23 2; -#X connect 24 0 40 0; -#X connect 25 0 2 1; -#X connect 26 0 15 1; -#X connect 27 0 1 1; -#X connect 28 0 8 1; -#X connect 29 0 10 0; -#X connect 30 0 7 1; -#X connect 35 0 4 0; -#X connect 38 0 23 2; -#X connect 39 0 24 0; -#X connect 41 0 47 0; -#X connect 46 0 23 0; -#X connect 46 0 23 1; -#X restore 519 -226 pd guts; -#X obj 11 -226 cnv 15 500 200 empty empty PDA_comparison 20 12 0 14 --261681 -66577 0; -#X obj 34 -94 hsl 128 15 2 2.05 0 0 \$0-inharmonicity empty fm-inharmonicity --2 -6 0 8 -225271 -1 -1 0 1; -#X obj 34 -50 hsl 128 15 0 0.5 0 0 \$0-noisiness empty noisiness -2 --6 0 8 -225271 -1 -1 0 1; -#X obj 33 -135 hsl 128 15 30 3000 0 0 \$0-fund empty f0 -2 -6 0 8 -225271 --1 -1 0 1; -#X obj 32 -172 tgl 15 0 \$0-sine empty sine 0 -6 0 8 -225280 -1 -1 -0 1; -#X obj 73 -172 tgl 15 0 \$0-fm empty fm 0 -6 0 8 -225280 -1 -1 0 1 -; -#X obj 110 -172 tgl 15 0 \$0-saw empty saw 0 -6 0 8 -225280 -1 -1 0 -1; -#X obj 227 -133 cnv 15 200 100 empty empty empty 20 12 0 14 -262131 --66577 0; -#X obj 226 -199 cnv 15 200 60 empty empty empty 20 12 0 14 -225280 --66577 0; -#X symbolatom 242 -170 5 0 0 0 f0 #0-f0_note -; -#X floatatom 312 -170 5 0 0 0 8ve #0-f0_8ve -; -#X symbolatom 245 -112 5 0 0 0 f0 #0-fidd_f0_note -; -#X floatatom 313 -112 5 0 0 0 8ve #0-fidd_f0_8ve -; -#X text 304 -200 Input; -#X text 308 -84 xtract~; -#X text 305 -134 fiddle~; -#X floatatom 315 -62 5 0 0 0 8ve #0-pda_f0_8ve -; -#X symbolatom 247 -62 5 0 0 0 f0 #0-pda_f0_note -; -#X text 20 8 Notes:; -#X text 20 36 In this patch xtract~ is used to provide a combination -of time domain and frequency domain fundamental frequency estimation. -; -#X text 27 233 A block size of 2048 has been used in this example. -Which allows for a theoretical limit of 21Hz. In reality xtract~ can -be used to detect frequencies down to 30Hz with this block size \, -but with a larger block size it could go lower!; -#X text 23 88 [xtract~ f0] uses a method based on the AMDF function -\, with centre and peak clipping used to provide noise robustness. -This could be further improved \, as could the efficiency of the algorithm. -; -#X obj 147 -172 tgl 15 0 \$0-adc empty adc~ 0 -6 0 8 -257472 -1 -1 -0 1; -#X floatatom 386 -171 5 0 0 0 cent #0-f0_cent -; -#X floatatom 386 -63 5 0 0 0 cent #0-pda_f0_cent -; -#X floatatom 386 -113 5 0 0 0 cent #0-fidd_f0_cent -; -#X obj 465 -187 vsl 10 100 0 127 0 0 \$0-master-lvl-stereo \$0-master-lvl-stereo -out -4 -8 0 8 -262131 -1 -1 3898 1; -#X obj 465 -77 bng 10 250 50 0 \$0-master-lvl-mute empty mute -6 16 -0 8 -262131 -1 -1; -#X text 26 154 If [xtract~ f0] is unable to find a fundamental (i.e. -its output is 0 \, the lowest frequency in the peak spectrum is used. -In general this happens for very low frequencies. [xtract~ spectrum] -\, [xtract~ peak_spectrum] \, and [xtract~ lowest_value] are used to -achieve this.; |