On Sun, Jul 19, 2009 at 09:32:21PM -0700, Justin Smith
wrote:
On Sun, Jul 19, 2009 at 8:10 PM, Ken
Restivo<ken(a)restivo.org> wrote:
Just a quick update on the wah research.
A friend owns a Dunlop "Jimi Hendrix Wah", which says it is the "Original
Thomas Design", by which I assume they mean to claim it's the same design as the
Thomas Organ Wah, formerly Vox.
This website's describes the frequency response as a lowpass with a resonant peak:
http://www.geofex.com/Article_Folders/wahpedl/wahped.htm
So here is what JAPA says it does (and I believe JAPA more than some random website):
When fully closed, it's a bandpass, with a VERY high Q!
http://restivo.org/misc/lowend-jimi.png
But, wait, when I open it up, suddenly it becomes more like a highpass, but with a lot of
resonance:
http://restivo.org/misc/midrange-jimi.png
When it's fully opened, it's definitely a highpass, but with a helluva peak:
http://restivo.org/misc/high-jimi.png
So, not only is the opposite of what that article says, but it's also kind of
non-linear. I'll poke around the various LADSPA plugins and see if I can find
something nearly like this.
Another guitar-player friend has a different wah (IIRC, either a "Cry Baby", or
a Morley), and I'll see if I can run his through this and see what it comes up looking
like.
Cool. Nice to see some good open source DSP design in process. Is your
goal to make something like a wah with a combination of LADSPA plugins
or would you also consider making a new plugin emulating this
behavior? It may be worth considering trying to build something in
puredata or csound, given that they have much more fine grained
control for building customized processing chains than could be done
in a single instance of jack-rack.
I'm either going to find a LADSPA plugin which does this, or hack something together
in JACK-RACK or via some custom C using existing plugins.
I haven't the maths skills to write any serious DSP in C, and probably not in PD or
Csound either. Whatever I end up with will have to be in C, however, and efficient too,
so it can run on a netbook along with many other synths and plugins.
I think the best way to mimic the wah behavior
will probably be to
manipulate the Q and center frequency based on a pair of table
lookups, or additionally/alternatively you could have a pair of
filters and crossfade betwengn them based on your virtual pedal
position.
Tonight I tried every LADSPA bandpass filter I could find, and none came even close
AFAICT. Comparing its shape to those of other LADSPA plugins indicates to me that the
"Thomas Organ" wah circuit isn't a band-pass after all, just a high-pass
with a VERY high Q. So, yeah, I might be able to get pretty close with one ofthe existing
LADSPA HPF's and varying the Q, as you suggested.
-ken
Just to clarify, the pd or csound solution would only have to have
premade filters in it, plus some parameter routing, the issue with
jack-rack is that you cannot tie parameters to one another in
jack-rack itself (and as far as I know you cannot even have parallel
signal paths), and any external solution you hack together is going to
be less efficient and more fragile than pd, csound, or the like. When
you say whatever you make would have to be written in c I hope you
understand that pd and csound are written and c and will have less
overhead than jack-rack plus whatever midi preprocessing and shell
scripting you need for the alternative approach (though I will not
argue the fact that coding the whole thing in c would be even more
efficient, but also more time consuming and error prone than a
dedicated DSP language).
Suddenly it occurs to me that maybe your goal is to get me so
opinionated about the right way to do this that I just do it for you
myself :)