Hello,
I made a little port of the WebAudio API filters that area implemented as parameterized coefficients of a 2º order BiQuad IIR filter.
Then I also added the notch filter that was lacking in the original code.
Normally the implementations of the code for the WebAudio API are in C++, but I ported from a Python version. It’s a very simple implementation, but it’s easy to follow, study and understand. I have also I excited the filters with a Dirac impulse and and plotted the impulse response of the filters. Gain(dB) vs frequency and Phase Shift vs frequency. All the plots are in the project page.
The list of implemented audio filters are:
-low-pass
-high-pass
-band-pass
-all-pass
-peak
-PeakEQ_constant_Q
-low-shelf
-high-shelf
-notch
-10 band parametric equalizer
Audio filters in Rust
https://github.com/joaocarvalhoopen/Audio_filters_in_Rust
In the project page you can find references to extensive resources on the subject.
Thank you,
Best regards,
João