Thanks for the reply Miller. Out of curiosity, would you *not *recommend using it for any kind of audio data that goes to the output? Up until this realisation I would rely quite heavily on [lop~] for any kind of sweepable (or static) low pass filtering needs, and I'm pretty sure many of the people I've worked with would do the same.

If that's the case could you recommend an alternative? It was only from your recent email that I realised [vcf~] had both a band-pass and low pass output, I had always assumed it was only band-pass. Is it intentional to not a bank of go-to filters? [biquad~] is the next one I would go to, but generating your own coefficients isn't that... err.. efficient when you're wanting some that just 'works' :) Looking forward to hearing your input, Cheers, Joe On 21 May 2014 17:31, Miller Puckette <m...@ucsd.edu> wrote: > Hi Joe - > > That code is an approximation that works well for low cutoff > frequencies but badly for high ones. (I should probably warn > about this in the help window... that'll go on my dolist) > > cheers > M > > > On Fri, May 16, 2014 at 12:58:31PM +0100, Joe White wrote: > > Hi, > > > > I've been looking at the [lop~] implementation (Pd-0.45-4) and noticed > > something that seem weird to me. > > > > In d_filter, line 176: > > > > static void siglop_ft1(t_siglop *x, t_floatarg f) > > { > > if (f < 0) f = 0; > > x->x_hz = f; > > x->x_ctl->c_coef = f * (2 * 3.14159) / x->x_sr; > > if (x->x_ctl->c_coef > 1) > > x->x_ctl->c_coef = 1; > > else if (x->x_ctl->c_coef < 0) > > x->x_ctl->c_coef = 0; > > } > > > > > > Is it correct that for: > > > > y[n] = x[n] * a + y[n-1] * b > > > > *a = 2π * Fc / Fs* > > b = 1.0 - a > > > > where Fc is the cut-off frequency and Fs the sampling frequency. > > > > I appreciate the a coefficient is bounded afterwards but wouldn't that > mean > > that Fc values greater than Fs / 2π will have no impact on the sound > being > > processed. > > > > For example if Fs is 44100, then Fc values above ~7020Hz will not affect > > the filter. > > > > Have I missed something crucial or could this a bug in the code? > > > > The simple IIR filter described in > > http://en.wikipedia.org/wiki/Low-pass_filter suggests that the actual > > coefficient calculation should be more like: > > > > a = 2π*Fc / (2π*Fc + Fs) > > > > Looking forward to understand this more! > > > > Cheers, > > Joe > > > > -- > > Follow me on Twitter @diplojocus > > > _______________________________________________ > > Pd-list@lists.iem.at mailing list > > UNSUBSCRIBE and account-management -> > http://lists.puredata.info/listinfo/pd-list > > -- Follow me on Twitter @diplojocus

_______________________________________________ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list