#N canvas 453 23 640 700 12;
#X declare -stdpath ./;
#X floatatom 301 195 4 0 127 0 - - - 0;
#X text 244 191 center;
#X obj 301 262 line~;
#X obj 301 239 pack 0 50;
#X floatatom 164 207 4 0 127 0 - - - 0;
#X text 71 201 fundamental;
#X floatatom 400 206 4 0 127 0 - - - 0;
#X obj 400 277 line~;
#X obj 106 482 *~;
#X obj 400 254 pack 0 50;
#X obj 106 531 cos~;
#X obj 164 267 mtof;
#X obj 319 298 expr 1/$f1;
#X obj 301 215 mtof;
#X text 243 206 freq.;
#X obj 301 329 *~;
#X text 441 208 bandwidth;
#X obj 400 228 mtof;
#X obj 400 341 *~;
#X text 433 340 divide by fundamental;
#X text 64 217 (MIDI units);
#X obj 109 619 output~;
#X text 58 14 WAVE PACKETS AS ALTERNATIVE TO PAF;
#X obj 41 305 phasor~;
#X obj 460 408 +~ 0.5;
#X obj 460 433 wrap~;
#X obj 106 554 +~ 1;
#X obj 42 438 -~ 0.5;
#X obj 109 588 +~;
#X obj 42 502 *~;
#X obj 42 525 cos~;
#X obj 179 456 samphold~;
#X obj 100 451 samphold~;
#X obj 42 552 *~;
#X obj 106 506 clip~ -0.5 0.5;
#X obj 307 537 *~;
#X obj 307 586 cos~;
#X obj 307 609 +~ 1;
#X obj 252 481 -~ 0.5;
#X obj 252 537 *~;
#X obj 252 565 cos~;
#X obj 400 507 samphold~;
#X obj 301 506 samphold~;
#X obj 252 594 *~;
#X obj 307 561 clip~ -0.5 0.5;
#X obj 400 365 max~ 1;
#X obj 164 242 - 12;
#X text 396 618 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 398 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;
