Drawing filter curves

Hi all.

Anyone aware of any library code to draw standard resonant filter curves? I imagine this must be fairly standard and common so might be some stuff out there rather than reinventing the wheel.

Thx for any suggestions.

Check out this:

Great stuff

1 Like

wow, that looks pretty epic! nice one

Just map the values of the filter frequencies and gains.

Like use a jmap with a max of +1 and a minimum of 0 then for your source range from 10.f to 18000.f or whatever your freq range is

jmap (Type sourceValue, Type sourceRangeMin, Type sourceRangeMax, Type targetRangeMin, Type targetRangeMax)

The same for your filter gains. Like +30/-30 for example. I am writing this on my phone but I have a project using this technique I’ll edit this in a couple minutes from my laptop to show you what it looks like

you basically run your filter on a single impulse (delta function), calc the magnitude response of that with forward fft and plot the results mapped to some component

Are you using JUCE filters?

If so, they have methods like JUCE: dsp::IIR::Coefficients< NumericType > Struct Template Reference to calculate the magnitude of a filter response at given frequencies.

From there, you can simply iterate the results to plot to a juce::Path.

This is one approach, but unless you calculate it with a very high-order FFT you’ll have a very low-res low-end. Calculating the response from the coefficients is significantly faster, and you can choose exactly what frequencies to calculate for, at whatever interval you need.

2 Likes

that’s just a method i learned recently and i like about it that it works for any filter, because you just run the filter at this method and get an output