#N canvas 405 23 493 610 10;
#X obj 124 379 cos~;
#X floatatom 171 169 4 0 100 0 - - -, f 4;
#X obj 171 193 / 10;
#X text 313 263 --- 0.02 seconds ---;
#X obj 124 349 *~;
#X obj 171 265 line~;
#X obj 171 217 max 0;
#N canvas 0 0 450 300 (subpatch) 0;
#X array F08-carrier 882 float 0;
#X coords 0 2 881 -2 200 140 1;
#X restore 277 121 graph;
#X floatatom 24 266 4 0 0 0 - - -, f 4;
#X text 22 227 fundamental;
#X text 22 242 frequency;
#X obj 166 379 cos~;
#X obj 207 292 wrap~;
#X obj 171 319 -~;
#X obj 166 349 +~;
#X obj 171 416 -~;
#X obj 186 446 *~;
#X obj 164 471 +~;
#X obj 171 241 pack 0 50;
#X text 221 379 synthesize the two partials;
#X obj 165 497 hip~;
#X obj 166 523 output~;
#X text 19 47 The other \, spiffier way is to make a sum of cosines
to interpolate between adjacent harmonics. Suppose for example we want
a center frequency of 5.3 (in units of the fundamental.) We just take
partial 5 with amplitude 0.7 and partial 6 with amplitude 0.3:;
#X obj 253 523 tabwrite~ F08-carrier;
#X text 283 499 <-graph;
#X obj 251 498 bng 18 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 24 290 phasor~ 100;
#X text 69 131 center frequency (in;
#X text 69 146 tenths of fundamental);
#X text 262 291 the fractional part "q";
#X text 220 318 subtract to get the integer part "k";
#X text 216 351 multiply phase by k and k+1;
#X text 219 415 c2 - c1;
#X text 234 444 q * (c2 - c1);
#X text 203 471 q * c2 + (1-q) * c1;
#X obj 1 1 cnv 15 445 20 empty \$0-pddp.cnv.header movable_center_frequency...
20 10 1 18 -261139 -33289 0;
#X obj 407 2 pddp/pddplink http://puredata.info/dev/pddp -text pddp
;
#X text 125 27 ... by adding two cosines;
#X obj 1 588 cnv 15 445 20 empty \$0-pddp.cnv.footer empty 20 12 0
14 -233017 -33289 0;
#N canvas 44 246 494 284 META 0;
#X text 12 125 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 105 AUTHOR Miller Puckette;
#X text 12 85 LIBRARY PDDP;
#X text 12 5 GENRE tutorial;
#X text 12 45 LICENSE SIBSD;
#X text 12 145 HELP_PATCH_AUTHORS Updated for release 0.37. Jonathan
Wilkes revised the patch to conform to the PDDP template for Pd version
0.42.;
#X text 12 25 KEYWORDS signal;
#X text 12 65 DESCRIPTION movable center frequency;
#X restore 392 590 pd META;
#N canvas 13 202 428 190 References 0;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -261139 -33289 0;
#X text 7 2 movable center frequency- Related Help Documents;
#X text 19 37 links:;
#X restore 103 590 pd References;
#X obj 6 590 pddp/pddplink ../5.reference/pddp/help.pd -text help;
#X connect 0 0 15 1;
#X connect 0 0 17 0;
#X connect 1 0 2 0;
#X connect 2 0 6 0;
#X connect 4 0 0 0;
#X connect 4 0 14 0;
#X connect 5 0 13 0;
#X connect 5 0 12 0;
#X connect 6 0 18 0;
#X connect 8 0 26 0;
#X connect 11 0 15 0;
#X connect 12 0 13 1;
#X connect 12 0 16 1;
#X connect 13 0 4 1;
#X connect 14 0 11 0;
#X connect 15 0 16 0;
#X connect 16 0 17 1;
#X connect 17 0 20 0;
#X connect 17 0 23 0;
#X connect 18 0 5 0;
#X connect 20 0 21 0;
#X connect 20 0 21 1;
#X connect 25 0 23 0;
#X connect 26 0 4 0;
#X connect 26 0 14 1;
