#N canvas 414 23 561 706 10;
#X declare -stdpath ./;
#X obj 7 675 cnv 15 552 21 empty empty empty 20 12 0 14 #e0e0e0 #202020 0;
#X obj 7 441 cnv 3 550 3 empty empty inlets 8 12 0 13 #dcdcdc #000000 0;
#X obj 7 579 cnv 3 550 3 empty empty outlets 8 12 0 13 #dcdcdc #000000 0;
#X obj 7 616 cnv 3 550 3 empty empty arguments 8 12 0 13 #dcdcdc #000000 0;
#X obj 89 454 cnv 17 3 87 empty empty 0 5 9 0 16 #dcdcdc #9c9c9c 0;
#X obj 89 546 cnv 17 3 17 empty empty 1 5 9 0 16 #dcdcdc #9c9c9c 0;
#X text 154 455 signal;
#X text 154 589 signal;
#X text 135 628 1) float;
#X obj 89 589 cnv 17 3 17 empty empty 0 5 9 0 16 #dcdcdc #9c9c9c 0;
#X text 118 547 float/signal;
#X text 205 589 - output of low-pass filter;
#X floatatom 308 217 7 0 0 0 - - - 0;
#X obj 308 266 line~;
#X msg 308 241 \$1 10;
#X obj 311 192 hsl 128 15 100 10000 1 1 empty empty empty -2 -8 0 10 #dcdcdc #000000 #000000 0 1;
#X text 351 191 cutoff;
#X text 135 647 2) symbol;
#X text 206 454 - signal to be filtered;
#X text 205 547 - cutoff frequency;
#X obj 174 200 phasor~ 250;
#X text 95 136 This filter is very efficient and useful for gently rolling off harsh high end and for smoothing out control signals.;
#X text 206 647 - frequency mode: <Hz> (default) \, <linear> or <radians>;
#X text 154 491 linear;
#X text 148 508 radians;
#X text 160 526 clear;
#X text 205 472 - sets frequency input mode to 'hertz';
#X text 205 490 - sets frequency input mode to 'linear';
#X text 205 508 - sets frequency input mode to 'radians';
#X text 205 526 - clears filter's memory;
#X text 96 90 Similar to Pd vanilla's [lop~] \, [onepole~] implements the simplest of IIR filters \, providing a 6dB per octave attenuation.;
#N canvas 179 23 979 555 frequency 0;
#X text 509 32 linear:;
#X text 89 36 hz:;
#X text 502 248 radians:;
#X text 81 69 [onepole~] has three different modes (set by messages or argument) for mapping input values onto cutoff frequency. These are mainly for convenience \, but they may also slightly improve efficiency.;
#X text 565 264 where k represents the cutoff frequency in radians.;
#X text 564 249 The filter equation is: y[n] = y[-1] + k * (x[n] - y[-1]) \,;
#X text 81 131 - The 'hz' mode is simply an input in hertz \, as in our main example in the parent patch.;
#X obj 621 108 noise~;
#X floatatom 787 139 7 0 0 0 - - - 0;
#X obj 771 111 hsl 128 15 0 1 0 1 empty empty empty -2 -8 0 10 #dcdcdc #000000 #000000 0 1;
#X text 811 110 cutoff;
#X obj 621 140 cyclone/onepole~ 0 linear;
#X text 837 138 linear;
#X text 567 288 - The 'radians' mode lets you set the center frequency of the equation directly \, while the input has the same range as linear (0-1) \, the output has a curved frequency response that is closer to the exponential pitch scale of the human ear. Compare the difference below.;
#X obj 630 408 noise~;
#X floatatom 802 439 7 0 0 0 - - - 0;
#X obj 786 411 hsl 128 15 0 1 0 1 empty empty empty -2 -8 0 10 #dcdcdc #000000 #000000 0 1;
#X text 826 410 cutoff;
#X obj 630 440 cyclone/onepole~ 0 radians;
#X text 852 438 radians;
#X obj 174 357 noise~;
#X obj 322 302 samplerate~;
#X obj 322 277 loadbang;
#X obj 322 327 / 4;
#X floatatom 322 353 6 0 0 0 - - - 0;
#X floatatom 267 274 7 0 0 0 - - - 0;
#X obj 270 241 hsl 128 15 0 1 0 1 empty empty empty -2 -8 0 10 #dcdcdc #000000 #000000 12700 1;
#X text 312 241 cutoff;
#X obj 267 346 *;
#X obj 174 389 cyclone/onepole~;
#X floatatom 289 379 7 0 0 0 - - - 0;
#X text 83 171 But please note that the effective cutoff frequency in hertz is the sample rate frequency divided by 4 \, or half the Nyquist frequency.;
#X text 568 32 - The 'linear' mode is just a scaled version of the standard hertz mode with values in the 0-1 range isntead 0 and half the Nyquist.;
#X text 337 379 hertz;
#X msg 546 380 linear;
#X msg 600 380 radians;
#X obj 174 424 output~;
#X obj 621 175 output~;
#X obj 630 474 output~;
#X connect 7 0 11 0;
#X connect 9 0 8 0;
#X connect 9 0 11 1;
#X connect 11 0 37 0;
#X connect 14 0 18 0;
#X connect 16 0 15 0;
#X connect 16 0 18 1;
#X connect 18 0 38 0;
#X connect 20 0 29 0;
#X connect 21 0 23 0;
#X connect 22 0 21 0;
#X connect 23 0 24 0;
#X connect 24 0 28 1;
#X connect 25 0 28 0;
#X connect 26 0 25 0;
#X connect 28 0 29 1;
#X connect 28 0 30 0;
#X connect 29 0 36 0;
#X connect 34 0 18 0;
#X connect 35 0 18 0;
#X restore 434 313 pd frequency \; input modes;
#X obj 174 255 cyclone/onepole~;
#X text 358 216 hz;
#X text 178 472 Hz;
#X text 205 626 - cutoff frequency (default 1);
#X obj 174 226 cyclone/triangle~ 0;
#X obj 174 296 output~;
#X obj 2 2 ./header onepole~;
#X text 22 61 One pole lowpass filter;
#X obj 27 267 declare -stdpath ./;
#X obj 418 406 open-else;
#X text 465 380 click;
#X text 45 391 see also:;
#X msg 418 380 lop2~;
#X text 164 384 Plugdata users or those with ELSE can also use [else/lop2~] as an alternative, f 39;
#X obj 113 390 lop~;
#X connect 12 0 14 0;
#X connect 13 0 32 1;
#X connect 14 0 13 0;
#X connect 15 0 12 0;
#X connect 20 0 36 0;
#X connect 32 0 37 0;
#X connect 36 0 32 0;
#X connect 44 0 41 0;
