#N canvas 15 126 835 625 12;
#X obj 272 163 line~;
#X floatatom 53 64 0 0 0 0 - - -;
#X obj 30 315 cos~;
#N canvas 0 0 450 300 graph1 0;
#X array pulse-output 882 float 0;
#X coords 0 1.02 882 -1.02 200 130 1;
#X restore 583 409 graph;
#X obj 53 91 phasor~ 0;
#X obj 272 139 pack 0 50;
#X floatatom 272 90 0 0 100 0 - - -;
#X text 50 43 frequency;
#X obj 53 115 -~ 0.5;
#X obj 53 207 *~;
#X obj 272 114 / 10;
#X obj 30 265 clip~ -0.5 0.5;
#X obj 30 418 hip~ 5;
#N canvas 0 0 450 300 graph1 0;
#X array phase-output 882 float 0;
#X coords 0 1.02 882 -1.02 200 60 1;
#X restore 583 150 graph;
#N canvas 0 0 450 300 graph1 0;
#X array clip-output 882 float 0;
#X coords 0 1.02 882 -1.02 200 130 1;
#X restore 583 272 graph;
#X text 113 114 phase -1/2 to 1/2;
#X text 139 91 phase 0 to 1;
#X text 119 5 PULSE GENERATOR;
#X obj 19 234 tabwrite~ phase-output;
#X obj 19 393 tabwrite~ pulse-output;
#X text 103 419 high pass filter to cut DC;
#X text 319 115 fix range;
#X text 326 164 smooth it;
#X text 314 187 add 1;
#X text 41 148 <-- click to graph;
#X text 83 209 increase amplitude;
#X text 164 264 clip back to range -1/2 to 1/2;
#X text 90 316 cosine wave lookup (-1/2 and 1/2 give -1);
#X obj 272 188 +~ 1;
#X obj 19 292 tabwrite~ clip-output;
#X text 585 539 ---- 0.02 seconds ----;
#X obj 19 148 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 30 446 output~;
#X obj 30 338 +~ 1;
#X obj 30 361 *~ 0.5;
#X text 574 589 updated for Pd version 0.37;
#X text 88 337 add one (range now from 0 to 2);
#X text 96 360 ...and now from 0 to 1;
#X text 20 531 This patch computes a pulse train \, with an "index"
control that essentially squeezes the pulses. If "bandwidth" is zero
you get a pure cosine wave \, and for larger values of the bandwidth
\, the cosine wave is squeezed to fill smaller portions of the waveform.
;
#X text 269 71 index;
#X text 790 142 0.5;
#X text 787 198 -0.5;
#X text 785 264 1;
#X text 787 390 -1;
#X text 785 405 1;
#X text 786 528 -1;
#X connect 0 0 28 0;
#X connect 1 0 4 0;
#X connect 2 0 33 0;
#X connect 4 0 8 0;
#X connect 5 0 0 0;
#X connect 6 0 10 0;
#X connect 8 0 9 0;
#X connect 9 0 11 0;
#X connect 9 0 18 0;
#X connect 10 0 5 0;
#X connect 11 0 2 0;
#X connect 11 0 29 0;
#X connect 12 0 32 0;
#X connect 12 0 32 1;
#X connect 28 0 9 1;
#X connect 31 0 18 0;
#X connect 31 0 29 0;
#X connect 31 0 19 0;
#X connect 33 0 34 0;
#X connect 34 0 19 0;
#X connect 34 0 12 0;
