#N canvas 453 23 642 769 12;
#X declare -stdpath ./;
#X floatatom 301 205 4 0 127 0 - - - 0;
#X text 244 201 center;
#X obj 301 272 line~;
#X obj 301 249 pack 0 50;
#X floatatom 164 214 4 0 127 0 - - - 0;
#X text 71 208 fundamental;
#X floatatom 400 216 4 0 127 0 - - - 0;
#X obj 400 287 line~;
#X obj 106 552 *~;
#X obj 400 264 pack 0 50;
#X obj 106 601 cos~;
#X obj 164 274 mtof;
#X obj 319 308 expr 1/$f1;
#X obj 301 225 mtof;
#X text 243 216 freq.;
#X obj 301 339 *~;
#X text 441 218 bandwidth;
#X obj 400 238 mtof;
#X obj 400 361 *~;
#X text 433 360 divide by fundamental;
#X text 64 224 (MIDI units);
#X obj 109 689 output~;
#X text 58 14 WAVE PACKETS AS ALTERNATIVE TO PAF;
#X obj 51 345 phasor~;
#X obj 460 424 +~ 0.5;
#X obj 460 449 wrap~;
#X obj 106 624 +~ 1;
#X obj 52 488 -~ 0.5;
#X obj 109 658 +~;
#X obj 52 552 *~;
#X obj 52 575 cos~;
#X obj 179 526 samphold~;
#X obj 100 521 samphold~;
#X obj 52 602 *~;
#X obj 106 576 clip~ -0.5 0.5;
#X obj 307 557 *~;
#X obj 307 606 cos~;
#X obj 307 629 +~ 1;
#X obj 252 501 -~ 0.5;
#X obj 252 557 *~;
#X obj 252 585 cos~;
#X obj 400 527 samphold~;
#X obj 301 526 samphold~;
#X obj 252 614 *~;
#X obj 307 581 clip~ -0.5 0.5;
#X obj 400 385 max~ 1;
#X obj 164 249 - 12;
#X text 381 706 updated for Pd version 0.40.;
#X text 47 125 The patch is almost exactly like B13 (the overlapping
sample) except that \, instead of using tabread~ we just use cos~ \,
and that we control pulse width (for bandwidth) as well as wavetable
transposition (for center frequency)., f 71;
#X text 47 47 The stretched wavetable method is an alternative to the
PAF generator \, slightly more expensive in processing time but with
two advantages: first \, it is not patent encumbered (PAF patent runs
out in 2011) and second \, it can be generalized to use samples instead
of sinusoids to make complex spectral shapes., f 71;
#X text 512 413 second phase signal out of phase from first one, f
13;
#X obj 463 11 declare -stdpath ./;
#X connect 0 0 13 0;
#X connect 2 0 15 0;
#X connect 3 0 2 0;
#X connect 4 0 46 0;
#X connect 6 0 17 0;
#X connect 7 0 18 0;
#X connect 8 0 34 0;
#X connect 9 0 7 0;
#X connect 10 0 26 0;
#X connect 11 0 12 0;
#X connect 11 0 23 0;
#X connect 12 0 15 1;
#X connect 12 0 18 1;
#X connect 13 0 3 0;
#X connect 15 0 32 0;
#X connect 15 0 42 0;
#X connect 17 0 9 0;
#X connect 18 0 45 0;
#X connect 23 0 24 0;
#X connect 23 0 27 0;
#X connect 23 0 32 1;
#X connect 23 0 31 1;
#X connect 24 0 25 0;
#X connect 25 0 38 0;
#X connect 25 0 42 1;
#X connect 25 0 41 1;
#X connect 26 0 33 1;
#X connect 27 0 8 0;
#X connect 27 0 29 0;
#X connect 28 0 21 0;
#X connect 28 0 21 1;
#X connect 29 0 30 0;
#X connect 30 0 33 0;
#X connect 31 0 8 1;
#X connect 32 0 29 1;
#X connect 33 0 28 0;
#X connect 34 0 10 0;
#X connect 35 0 44 0;
#X connect 36 0 37 0;
#X connect 37 0 43 1;
#X connect 38 0 35 0;
#X connect 38 0 39 0;
#X connect 39 0 40 0;
#X connect 40 0 43 0;
#X connect 41 0 35 1;
#X connect 42 0 39 1;
#X connect 43 0 28 1;
#X connect 44 0 36 0;
#X connect 45 0 31 0;
#X connect 45 0 41 0;
#X connect 46 0 11 0;
