#N canvas 426 34 558 503 10;
#X obj -1 666 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -233017 -33289 0;
#X obj -1 276 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 619 273 357 233 META 0;
#X text 9 156 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 9 16 LICENSE SIBSD;
#X text 9 136 AUTHOR Miller Puckette;
#X text 9 176 RELEASE_DATE 1997;
#X text 9 116 LIBRARY cyclone;
#X text 9 196 HELP_PATCH_AUTHORS Alex Cleveland updated this patch
for Pd-l2ork version 2013.05.28;
#X text 9 96 OUTLET_0 signal;
#X text 9 -4 KEYWORDS signal lowpass filter low pass pole;
#X text 9 36 DESCRIPTION single-pole lowpass filter;
#X text 9 56 INLET_0 signal;
#X text 9 76 INLET_1 float signal;
#X restore 501 668 pd META;
#X obj -1 369 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj -1 406 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj -1 449 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8
12 0 13 -228856 -1 0;
#N canvas 312 395 428 109 Related_objects 0;
#X obj 0 0 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 6 1 Related Objects;
#X restore 196 668 pd Related_objects;
#X obj 78 285 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X obj 78 312 cnv 17 3 35 empty \$0-pddp.cnv.let.0 1 5 9 0 16 -228856
-162280 0;
#X obj -1 0 cnv 15 552 40 empty \$0-pddp.cnv.header onepole~ 3 12 0
18 -204280 -1 0;
#X obj 489 8 onepole~;
#X text 11 23 single-pole lowpass filter;
#X text 108 284 signal;
#X text 108 311 float;
#X text 108 331 signal;
#X text 108 379 signal;
#X text 90 422 1) float;
#X text 179 423 - initial frequency;
#X text 179 379 - output of low-pass filter based on args;
#X obj 141 143 dac~;
#X text 110 498 where k represents the cutoff frequency in radians.
this generates a single-pole lowpass filter with a 6dB/octave attenuation.
;
#X text 161 478 out = prev + k * (in - prev);
#X text 110 458 onepole~ implements the minimal filter equation:;
#X text 110 584 onepole's advantages are efficiency and simplicity.
it works well as a pre- or post-processing stage for other treatments
\, such as waveshaping or filtering \, which can benefit from a gentle
roll-off of high frequencies.;
#X obj 479 49 pddp/dsp;
#X text 110 539 this filter is equivalent to a biquad~ object with
the coefficients \, [ a0 = k \, b1 = k - 1 ] \, as demonstrated above.
;
#X obj 78 379 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 211 101 optional argument initializes cutoff frequency;
#X floatatom 200 71 5 0 0 0 - - -, f 5;
#X obj 131 175 Scope~ 160 75 256 3 128 -1 1 0 0 0 0 102 255 51 135
135 135 0;
#X obj 131 71 osc~ 500;
#X obj 131 109 onepole~ 400;
#X msg 221 148 range -1 1;
#X text 179 284 - input frequency to be filtered;
#X text 179 311 - set cutoff frequency with float;
#X text 179 331 - set cutoff frequency with signal;
#X obj 18 669 pddp/pddplink @pd_help/all_about_help_patches.pd -text Usage Guide
;
#X connect 28 0 31 1;
#X connect 30 0 31 0;
#X connect 31 0 19 0;
#X connect 31 0 29 0;
#X connect 32 0 29 0;
