#N canvas 399 117 886 704 12;
#X declare -stdpath ./;
#X obj 410 394 line~;
#X obj 142 443 cos~;
#N canvas 0 0 450 300 (subpatch) 0;
#X array pulse-output 882 float 0;
#X coords 0 1 882 -1 200 130 1;
#X restore 609 425 graph;
#X obj 410 371 pack 0 50;
#X floatatom 410 325 0 0 0 0 - - - 0;
#X obj 202 342 -~ 0.5;
#X obj 142 391 *~;
#X obj 410 348 / 10;
#X obj 142 416 clip~ -0.5 0.5;
#X text 408 306 bandwidth;
#X obj 410 417 +~ 1;
#X obj 142 466 +~ 1;
#X obj 283 472 cos~;
#X obj 142 528 *~;
#X floatatom 301 313 4 0 0 0 - - - 0;
#X obj 301 337 / 10;
#X text 609 558 --- 0.02 seconds ---;
#X obj 283 446 *~;
#N canvas 462 254 698 213 graph 0;
#X obj 68 57 inlet~;
#X obj 563 57 inlet;
#X obj 68 124 tabwrite~ pulse-output;
#X obj 246 57 inlet~;
#X obj 398 57 inlet~;
#X obj 246 124 tabwrite~ window;
#X obj 398 124 tabwrite~ carrier;
#X msg 563 121 \; pd dsp 1;
#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 1 0 7 0;
#X connect 3 0 5 0;
#X connect 4 0 6 0;
#X restore 248 564 pd graph;
#X obj 301 383 line~;
#X obj 301 360 pack 0 50;
#N canvas 0 0 450 300 (subpatch) 0;
#X array carrier 882 float 0;
#X coords 0 1 881 -1 200 140 1;
#X restore 609 247 graph;
#N canvas 0 0 450 300 (subpatch) 0;
#X array window 882 float 0;
#X coords 0 1 881 -1 200 140 1;
#X restore 610 74 graph;
#X floatatom 202 291 4 0 0 0 - - - 0;
#X obj 202 317 phasor~ 100;
#X text 62 15 WINDOWED PACKETS;
#X text 90 480 window;
#X text 318 450 magnified phase;
#X text 73 47 The simpler of two techniques for making slidable center
frequencies 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., f 68;
#X obj 142 606 output~;
#X obj 142 562 hip~;
#X obj 301 539 bng 18 250 50 0 empty empty empty 0 -6 0 8 #fcfcfc #000000
#000000;
#X text 617 623 updated for Pd version 0.37;
#X obj 142 489 *~ 0.5;
#X text 813 200 -1;
#X text 815 70 1;
#X text 813 373 -1;
#X text 817 243 1;
#X text 814 544 -1;
#X text 817 419 1;
#X text 74 135 In the patch below \, the "clip~" followed by "cos~"
and "+~ 1" is the enveloping ("windowing") function \, which appears
in the top graph. 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., f 68;
#X text 90 451 raised;
#X text 90 466 cosine;
#X text 186 252 fundamental frequency, f 11;
#X text 322 473 <= this cosine goes at the;
#X text 323 538 <= graph;
#X text 344 486 desired center frequency but its phase is reset each
fundamental period., f 24;
#X text 289 263 center freq. (in tenths of fundamental), f 13;
#X obj 699 16 declare -stdpath ./;
#X connect 0 0 10 0;
#X connect 1 0 11 0;
#X connect 3 0 0 0;
#X connect 4 0 7 0;
#X connect 5 0 6 0;
#X connect 5 0 17 0;
#X connect 6 0 8 0;
#X connect 7 0 3 0;
#X connect 8 0 1 0;
#X connect 10 0 6 1;
#X connect 11 0 33 0;
#X connect 12 0 13 1;
#X connect 12 0 18 2;
#X connect 13 0 18 0;
#X connect 13 0 30 0;
#X connect 14 0 15 0;
#X connect 15 0 20 0;
#X connect 17 0 12 0;
#X connect 19 0 17 1;
#X connect 20 0 19 0;
#X connect 23 0 24 0;
#X connect 24 0 5 0;
#X connect 30 0 29 0;
#X connect 30 0 29 1;
#X connect 31 0 18 3;
#X connect 33 0 13 0;
#X connect 33 0 18 1;
