[PD] shelf filter
derek holzer
derek at x-i.net
Tue Oct 11 16:38:50 CEST 2005
Dear list,
I've been trying to make a classic 3 band "DJ EQ" with a slope steep and
attentuation sufficint enough to kill all frequencies in the selected
bandwidth range if needed (a "kill switch"). The filter should also have
as little possible resonance at the crossover frequencies to avoid
coloring the sound that goes through it.
I simply lack the math knowledge to program [biquad~] by myself, so I'm
playing around with the filter helpers from the GGEE library. The
[lowpass], [bandpass] and [highpass] objects seem simple enough, and
I've gotten pretty close to what I need from there. But there's still
the issue of the crossover frequencies. The slope isn't steep enough.
So I checked out [highshelf], [lowshelf] and [hlshelf], but these are
very confusing, espc the "gain" parameter. It seems I have to scale the
output gain by the same ratio as the biquad frequency gain to maintain
the original sound going through? This works at high frequencies, but
not at low ones. So what would be the proper ratio to scale the output
of the filter by in this case?
The [hml_shelf~] abstraction from IEMlib is similarly not too helpful,
as the output also needs scaling (by an unknown ratio) to get the
desired frequency range back up to normal levels.
I also checked out the LADSPA "DJ_EQ" plugin, but either the
attentuation isn't sufficient or the cutoff not steep enough because I
still get a lot of unwanted sound from the other bands. The JackEQ JACK
client doesn't work properly on my machine [Gentoo PPC], so I can't tell
if that would work better or not.
So besides going back to my flunked algebra and trigonometry classes to
cook up a proper biquad, can anyone give me some clues on how to realize
this seemingly simple filter properly?
thx,
d.
--
derek holzer ::: http://www.umatic.nl
---Oblique Strategy # 108:
"Look closely at the most embarrassing details and amplify them"
More information about the Pd-list
mailing list