#N canvas 298 115 555 414 12; #X obj 42 349 output~; #X text 302 376 updated for Pd version 0.37; #X text 56 2 ZIPPER NOISE; #X obj 43 321 *~; #X obj 125 350 output~; #X obj 126 322 *~; #X obj 65 262 line; #X obj 149 262 line~; #N canvas 0 0 450 300 metro 0; #X obj 88 39 loadbang; #X msg 87 65 1; #X obj 87 96 metro 500; #X obj 87 131 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 ; #X obj 87 153 sel 0 1; #X obj 87 190 outlet; #X obj 151 192 outlet; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 3 0 4 0; #X connect 4 0 5 0; #X connect 4 1 6 0; #X restore 65 170 pd metro; #X obj 65 198 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 132 199 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X msg 65 219 1 300; #X msg 132 221 0 300; #X obj 72 290 osc~ 880; #X text 30 28 Here is a related issue: if we use a (control) line object to change an amplitude \, it sends ramping control messages \, once every 20 msec by default. At left we use this to control the amplitude of a sinusoid. In effect we're multiplying the sinusoid by a staircase signal (50 increments per second.) Using the signal version \, line~ \, fixes the problem. Line~ outputs a ramp that is incremented every sample.; #X connect 3 0 0 0; #X connect 3 0 0 1; #X connect 5 0 4 0; #X connect 5 0 4 1; #X connect 6 0 3 1; #X connect 7 0 5 1; #X connect 8 0 9 0; #X connect 8 1 10 0; #X connect 9 0 11 0; #X connect 10 0 12 0; #X connect 11 0 6 0; #X connect 11 0 7 0; #X connect 12 0 6 0; #X connect 12 0 7 0; #X connect 13 0 3 0; #X connect 13 0 5 0;