Filter with variable slope?


#1

Is there a synthesizer with a filter or a DSP filter design that has a continuously variable slope ?
What about different slope curves?
What about a downwards slope curve of say -x^n and n could be varied continuously ?
I imagine this might be more expressive than a synth which just moves the filter cutoff or resonance with velocity etc.
Let me know if anyone knows of anything.
Sean


#2

This problem has been researched a bit, you may want to check out papers from DAFX and the j.AES on the subject.

There are a couple strategies.

The trivial way is with an FIR filter designed using the “Frequency Sampling” method. You can state the frequency response at N points between 0 and Nyquist and design a filter that is guaranteed to have the correct response at those points (but not necessarily between them, so there is ripple). You can use this to design a “continuously” variable slope filter. The catch is that if you wrote an algorithm to do it, it would be rather expensive and probably impractical for modulation purposes.

Just thinking out loud, you could invert Massenburg;s strategy (couldn’t find the exact paper, you may want to check it out).

TL;DR, to fix the frequency warping near Nyquist in IIR filters designed in continuous time, what he did was use a shelving filter (which has a variable slope) where the filter parameters were based on what the magnitude should be at Nyquist in order to have a fixed rolloff across the spectrum.

So for a continuously variable rolloff, you could select a rolloff at Nyquist (or DC) and design a shelving filter to fit that criteria. Then to add resonance you could bandpass filter in parallel (or more interestingly, modify the Moog strategy by feeding back through an allpass filter to get 360^o phase shift at the cutoff). You can also make a resonant shelving filter but those can get some wacky behavior at the other end of the shelf that you may not want.


#3

Lots to read up on thanks!
I looked up this …


I wonder if values of omega p and omega s can be considered for each a range of midi velocity values and different functions called depending on the modulation amount. It’s all a bit beyond me at this point the maths I had kind of hoped someone had already built it! I feel like the “resonance” built into filters is an easy way to approximate the sound of what instruments really do which I suspect is more like different filter slopes. I would love to hear a saw wave with a set cutoff frequency and the slope changing with midi input. I have a sense it might be a lot more fun to play than changing the filter cutoff or resonance.


#4

Max has this filter design object someone showed me …
https://docs.cycling74.com/max7/maxobject/filterdesign
I guess even being able to change the order of the filter in discrete steps might work … I guess you could trigger different filter designs for ranges of midi values ?


#5

this response by Vadim from Native Instruments is a fun read …