Variable slope filter, how to?

This forum is for developers of Rack Extensions to discuss the RE SDK, share code, and offer tips to other developers.
Post Reply
User avatar
orthodox
RE Developer
Posts: 2286
Joined: 22 Jan 2015
Location: 55°09'24.5"N 37°27'41.4"E

16 Apr 2021

Did anybody make those "variable slope" filters?

I could not find any info on them. I made two variants:

1) a continuous interpolation between nth-order Butterworth filters G(w) = (1 + w^(2*n))^(-1/2)). It starts at 6dB/oct and preserves the constant response of -3 dB at the cutoff frequency. The interpolation works by simply moving poles and zeros like this (z-plane):
Image

2) an approximation of the gain function G(w) = 1/(1 + w^n) with Padé rational functions. It is simple enough as well and allows for gradual slope change starting from 0, but it requires numerically finding roots of some 12th-degree polynomials for every new slope value, in order to split the filter into biquad sections.

I'm curious if there are any other methods or common practices for implementing such filters.

User avatar
Enlightenspeed
RE Developer
Posts: 1103
Joined: 03 Jan 2019

17 Apr 2021

orthodox wrote:
16 Apr 2021
Did anybody make those "variable slope" filters?
I don't know about "true" audio filters with variable slope, but it has certainly been done within the context of additive synthesis, where the active partials are subject to a variable slope - at the very least Parsec and Noxious use this method of filtering.

As for the rest, I don't know anything about filter design yet so I can't comment.

User avatar
orthodox
RE Developer
Posts: 2286
Joined: 22 Jan 2015
Location: 55°09'24.5"N 37°27'41.4"E

17 Apr 2021

Enlightenspeed wrote:
17 Apr 2021
I don't know about "true" audio filters with variable slope, but it has certainly been done within the context of additive synthesis, where the active partials are subject to a variable slope - at the very least Parsec and Noxious use this method of filtering.
I need a "true" IIR audio filter, so mangling partials won't do.

User avatar
orthodox
RE Developer
Posts: 2286
Joined: 22 Jan 2015
Location: 55°09'24.5"N 37°27'41.4"E

19 Apr 2021

After all, I couldn't come up with anything better than the method of approximating the "fractional" slope. It is enough to implement the filter for "fractional order" slopes between 0 and 1 (0 to 6 dB/octave), and higher order filters can be obtained by chaining an additional regular ("integer order") filter to it.

No matter how good the approximation can be, at some frequency high enough the slope will always turn to either a shelf-like or a 6dB/oct line, and that can't be cured.

Image

The graph shows the ideal continuously varying slope filter (between 0dB/oct and 6dB/oct) together with two variants of the approximating filter consisting of 8 biquad sections, and they are accurate only up to about 20 times the filter cutoff frequency.
Last edited by orthodox on 20 Apr 2021, edited 1 time in total.

User avatar
selig
RE Developer
Posts: 11685
Joined: 15 Jan 2015
Location: The NorthWoods, CT, USA

19 Apr 2021

What are "those" variable slope filters? What is common practice - I've not seen anyone else do the variable slope thing, but haven't checked around recently (could be why you've found no info on them. At least at the time of release, I assumed I had the only product on any platform that implemented variable slope filters…been working on the concept for many years previous in Reaktor, they're great on synths giving you yet another parameter to modulate (for those into that sort of thing!).

With my implementation, every position (at every frequency) from 6 dB/Oct to 0 dB/Oct is a shelf by design, with the higher order (6-48 dB/Oct) being traditional HP/LP filters. Not sure I understand your question exactly, but happy to try to help, although admittedly my math skills are weak…
Selig Audio, LLC

User avatar
orthodox
RE Developer
Posts: 2286
Joined: 22 Jan 2015
Location: 55°09'24.5"N 37°27'41.4"E

19 Apr 2021

selig wrote:
19 Apr 2021
What are "those" variable slope filters? What is common practice - I've not seen anyone else do the variable slope thing, but haven't checked around recently (could be why you've found no info on them. At least at the time of release, I assumed I had the only product on any platform that implemented variable slope filters…been working on the concept for many years previous in Reaktor, they're great on synths giving you yet another parameter to modulate (for those into that sort of thing!).

With my implementation, every position (at every frequency) from 6 dB/Oct to 0 dB/Oct is a shelf by design, with the higher order (6-48 dB/Oct) being traditional HP/LP filters. Not sure I understand your question exactly, but happy to try to help, although admittedly my math skills are weak…
Thank you for your reply. Sorry, I was convinced that everybody had been making those filters for quite some time and only I somehow missed it. :puf_smile:

The question was that maybe someone had some magic formula for it that I could not find. Now I am quite satisfied with the two models I initially found. I'll definitely take a look at ColoringEQ to see how it's done there, now that it turns out to be a rare implementation of the concept.

Bes
Competition Winner
Posts: 1128
Joined: 22 Feb 2017

20 Apr 2021

sorry if this no help at all but i did see this article from 1976 mention variable filter slopes so here it is
Attachments
[doi 10.1109_ultsym.1976.196711] Newton, C.O.; Paige, E.G.S. -- [IEEE 1976 Ultrasonics Symposium - (1976.09.29-1976.10.1)] 1976 Ultrasonics Symposium - Surface Acoustic Wave Dispersive Filte.pdf
(340.47 KiB) Downloaded 79 times
- Certified Reason expert

User avatar
orthodox
RE Developer
Posts: 2286
Joined: 22 Jan 2015
Location: 55°09'24.5"N 37°27'41.4"E

20 Apr 2021

Bes wrote:
20 Apr 2021
sorry if this no help at all but i did see this article from 1976 mention variable filter slopes so here it is
That's about other kind of slopes, sorry.

Post Reply
  • Information
  • Who is online

    Users browsing this forum: Seznam [Bot] and 2 guests