#N canvas 83 221 878 705 12;
#X obj 315 424 line~;
#X obj 47 517 cos~;
#X graph graph1 0 -2 882 2 644 469 844 339;
#X array pulse-output 882 float 0;
#X pop;
#X floatatom 84 633 0 0 0;
#N canvas 176 241 532 273 output 0;
#X obj 338 160 t b;
#X obj 338 110 f;
#X obj 338 60 inlet;
#X text 344 29 mute;
#X obj 338 185 f;
#X msg 425 178 0;
#X msg 338 85 bang;
#X obj 338 135 moses 1;
#X obj 398 111 moses 1;
#X obj 83 148 dbtorms;
#X obj 398 86 r master-lvl;
#X obj 83 42 r master-lvl;
#X obj 338 210 s master-lvl;
#X obj 17 148 inlet~;
#X obj 199 41 inlet;
#X text 199 18 level;
#X obj 199 100 s master-lvl;
#X msg 96 65 set \$1;
#X obj 96 89 outlet;
#X msg 214 64 \; pd dsp 1;
#X obj 83 194 line~;
#X obj 22 212 *~;
#X obj 22 241 dac~;
#X obj 83 171 pack 0 50;
#X text 15 125 audio;
#X text 93 110 show level;
#X obj 17 177 hip~ 1;
#X connect 0 0 4 0;
#X connect 1 0 7 0;
#X connect 2 0 6 0;
#X connect 4 0 12 0;
#X connect 5 0 12 0;
#X connect 6 0 1 0;
#X connect 7 0 0 0;
#X connect 7 1 5 0;
#X connect 8 1 4 1;
#X connect 9 0 23 0;
#X connect 10 0 1 1;
#X connect 10 0 8 0;
#X connect 11 0 9 0;
#X connect 11 0 17 0;
#X connect 13 0 26 0;
#X connect 14 0 16 0;
#X connect 14 0 19 0;
#X connect 17 0 18 0;
#X connect 20 0 21 1;
#X connect 21 0 22 0;
#X connect 21 0 22 1;
#X connect 23 0 20 0;
#X connect 26 0 21 0;
#X restore 48 660 pd output;
#X msg 124 633 MUTE;
#X obj 315 400 pack 0 50;
#X floatatom 315 328 0 0 0;
#X obj 47 429 -~ 0.5;
#X obj 47 468 *~;
#X obj 315 352 / 10;
#X obj 47 493 clip~ -0.5 0.5;
#X text 315 306 bandwidth;
#X msg 165 602 bang;
#X obj 315 448 +~ 1;
#X obj 48 540 +~ 1;
#X obj 197 513 cos~;
#X obj 48 569 *~;
#X floatatom 219 342 4 0 0;
#X obj 219 366 / 10;
#X text 644 472 --- 0.02 seconds ---;
#X obj 197 487 *~;
#N canvas 204 427 939 588 graph 0;
#X obj 91 345 inlet~;
#X obj 729 341 inlet;
#X obj 74 395 tabwrite~ pulse-output;
#X obj 319 350 inlet~;
#X obj 493 343 inlet~;
#X obj 302 400 tabwrite~ window;
#X obj 484 401 tabwrite~ carrier;
#X msg 390 53 \; array2 rename window;
#X connect 0 0 2 0;
#X connect 1 0 2 0;
#X connect 1 0 5 0;
#X connect 1 0 6 0;
#X connect 3 0 5 0;
#X connect 4 0 6 0;
#X restore 76 602 pd graph;
#X obj 315 376 max 0;
#X obj 219 438 line~;
#X obj 219 414 pack 0 50;
#X obj 219 390 max 0;
#X graph graph3 0 -2 881 2 644 328 844 188;
#X array carrier 882 float 0;
#X pop;
#X graph graph4 0 -2 881 2 645 175 845 35;
#X array window 882 float 0;
#X pop;
#X text 211 601 <-- graph;
#X floatatom 47 381 4 0 0;
#X obj 47 405 phasor~ 100;
#X text 31 2 WINDOWED PACKETS;
#X text 169 632 <-- output;
#X text 43 356 freq.;
#X text 43 337 fundamental;
#X text 28 51 The simpler technique is to synthesize enveloped sinusoidal
wave packets. The packets should repeat at the fundamental frequency
\, but the frequency of the packet itself controls the center frequency
of the formant. The length of the packet varies inversely with bandwidth.
;
#X text 27 132 In the patch below \, the "clip~" followed by "cos~"
and "+~ 1" is the enveloping ("windowing" function \, which appears
in the top graph. This is just the original PWM patch from part 2 The
carrier \, on the other hand \, is a broken sinusoid made by amplifying
the phasor~ (the "*~" controlled by "center freq.") and taking the
cos~ of the result. The "breaks" in the sinusoid only occur when the
enveloping signal is zero.;
#X text 197 256 center;
#X text 195 275 freq. (in;
#X text 194 294 tenths of;
#X text 193 314 fundamental);
#X text 92 535 window;
#X text 233 487 magnified phase;
#X text 278 531 desired center frequency;
#X text 250 514 <--this cosine goes at the;
#X text 279 550 but its phase is reset each;
#X text 277 569 fundamental period.;
#X text 612 666 updated for Pd version 0.34;
#X connect 0 0 14 0;
#X connect 1 0 15 0;
#X connect 3 0 4 1;
#X connect 4 0 3 0;
#X connect 5 0 4 2;
#X connect 6 0 0 0;
#X connect 7 0 10 0;
#X connect 8 0 9 0;
#X connect 8 0 21 0;
#X connect 9 0 11 0;
#X connect 10 0 23 0;
#X connect 11 0 1 0;
#X connect 13 0 22 3;
#X connect 14 0 9 1;
#X connect 15 0 17 0;
#X connect 15 0 22 1;
#X connect 16 0 17 1;
#X connect 16 0 22 2;
#X connect 17 0 22 0;
#X connect 17 0 4 0;
#X connect 18 0 19 0;
#X connect 19 0 26 0;
#X connect 21 0 16 0;
#X connect 23 0 6 0;
#X connect 24 0 21 1;
#X connect 25 0 24 0;
#X connect 26 0 25 0;
#X connect 30 0 31 0;
#X connect 31 0 8 0;
