#N canvas 586 41 692 737 12;
#X declare -stdpath ./;
#X obj 136 187 wrap~;
#X obj 136 214 -~ 0.5;
#N canvas 0 0 450 300 (subpatch) 0;
#X array \$0-sum 441 float 0;
#X coords 0 0.25 440 -0.25 200 130 1;
#X restore 447 131 graph;
#X obj 293 510 output~;
#X obj 339 480 tabwrite~ \$0-sum;
#X obj 136 161 -~;
#X obj 154 117 / 100;
#X floatatom 154 96 4 -100 100 0 - - - 0;
#X obj 154 348 / 100;
#X obj 136 377 *~;
#X obj 223 187 wrap~;
#X obj 223 214 -~ 0.5;
#X obj 223 162 -~;
#X obj 241 118 / 100;
#X floatatom 241 97 4 -100 100 0 - - - 0;
#X obj 241 348 / 100;
#X obj 223 377 *~;
#X obj 311 187 wrap~;
#X obj 311 214 -~ 0.5;
#X obj 311 163 -~;
#X obj 329 119 / 100;
#X floatatom 329 98 4 -100 100 0 - - - 0;
#X obj 329 348 / 100;
#X floatatom 329 321 5 -100 100 0 - - - 0;
#X obj 311 377 *~;
#X text 149 74 -- PHASES (percent) --;
#X text 380 320 AMPLITUDES (percent);
#X obj 136 406 +~;
#X obj 293 444 +~;
#X obj 339 415 tgl 19 0 empty empty empty 0 -6 0 8 #dfdfdf #000000 #000000 0 1;
#X obj 81 119 phasor~;
#X floatatom 81 98 5 0 0 0 - freq - 0;
#X text 61 75 frequency;
#X obj 136 239 *~;
#X obj 223 239 *~;
#X obj 311 239 *~;
#X obj 136 264 *~ 0.5;
#X obj 136 289 -~ 0.0833;
#X obj 223 264 *~ 0.5;
#X obj 311 264 *~ 0.5;
#X obj 223 289 -~ 0.0833;
#X obj 311 289 -~ 0.0833;
#X text 46 579 Here we combine three parabolic waves (in the same way as \, two patches ago \, we combined sawtooth waves). The parabolic wave is obtained from the sawtooth wave (assuming it runs from -0.5 to 0.5) by the formula: y=x*x/2 - 1/12. This is normalized so that the corner has a slope change of minus one unit per cycle \, and adjusted to remove any DC component., f 87;
#X text 407 128 0.25;
#X text 398 245 -0.25;
#X text 46 655 In general \, the segments of the result will be curved \, but if the three magnitudes sum algebraically to zero \, the segments will be linear. Note the reduced scale of the graph (from -0.25 to 0.25) compared to the previous examples., f 87;
#X floatatom 154 321 5 -100 100 0 - amp - 0;
#X floatatom 241 321 5 -100 100 0 - - - 0;
#X obj 40 17 cnv 5 5 25 empty empty Making\ Waveforms\ With\ Corners\ Using\ Parabloic\ Waveforms 15 13 0 16 #dfdfdf #202020 0;
#X obj 339 448 metro 100;
#X text 472 270 ---- 0.01 seconds ----;
#N canvas 940 269 326 281 init 0;
#X obj 104 221 declare -stdpath ./;
#X text 71 41 this subpatch initializes the patch and loads values in number boxes., f 29;
#X obj 113 110 loadbang;
#X msg 113 140 \; freq 440 \; amp 100;
#X connect 2 0 3 0;
#X restore 491 431 pd init;
#X connect 0 0 1 0;
#X connect 1 0 33 0;
#X connect 1 0 33 1;
#X connect 5 0 0 0;
#X connect 6 0 5 1;
#X connect 7 0 6 0;
#X connect 8 0 9 1;
#X connect 9 0 27 0;
#X connect 10 0 11 0;
#X connect 11 0 34 0;
#X connect 11 0 34 1;
#X connect 12 0 10 0;
#X connect 13 0 12 1;
#X connect 14 0 13 0;
#X connect 15 0 16 1;
#X connect 16 0 27 1;
#X connect 17 0 18 0;
#X connect 18 0 35 0;
#X connect 18 0 35 1;
#X connect 19 0 17 0;
#X connect 20 0 19 1;
#X connect 21 0 20 0;
#X connect 22 0 24 1;
#X connect 23 0 22 0;
#X connect 24 0 28 1;
#X connect 27 0 28 0;
#X connect 28 0 4 0;
#X connect 28 0 3 0;
#X connect 29 0 49 0;
#X connect 30 0 5 0;
#X connect 30 0 12 0;
#X connect 30 0 19 0;
#X connect 31 0 30 0;
#X connect 33 0 36 0;
#X connect 34 0 38 0;
#X connect 35 0 39 0;
#X connect 36 0 37 0;
#X connect 37 0 9 0;
#X connect 38 0 40 0;
#X connect 39 0 41 0;
#X connect 40 0 16 0;
#X connect 41 0 24 0;
#X connect 46 0 8 0;
#X connect 47 0 15 0;
#X connect 49 0 4 0;
