Weeping Demon Digitization
I reverse engineered Ibanez's Weeping Demon wah pedals and made a digital model. The details are discussed in the presentation PDF below. It's a really cool circuit. Rather than using a potentiometer to control the pedal angle, there is a clever optical sensor that won't get dirty and noisy over time. In the digitization, the filter stage, which consists of several op-amps in feedback with each other (a state variable filter) is reduced to a block of multiply/add blocks and a state dependent transfer function is obtained via Mason's gain law. A freqency warped bilinear transform is used to digitize the model.
There is also some python code for reducing the amount of computation associated with the filter coefficients. It is quite common in virtual analog to have insanely long expressions for the filter coefficients. The scripts provided can take an arbitrarily complicated set of multivariable polynomial and reduce the amount of computation required to process audio.
The filter stage, a state variable filter. If we model nothing else, let's model this.
The delayed auto-bypass feature. This is super easy to model with a timer. No need to do any math.
The input and output buffering stages. Mostly emitter followers and bypass filters with very low cutoff frequencies. No need to include these in the model, they are mostly to prevent loading.
Thanks to Jonathan Abel for advice and for being awesome.