Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added Peaking-EQ and Allpass filters #612

Merged
merged 2 commits into from
Jan 24, 2024
Merged

Conversation

yacinbm
Copy link
Contributor

@yacinbm yacinbm commented Jan 22, 2024

Added All-Pass and Peaking-EQ filters based on the Audio EQ Cookbook.

Please find attached the frequency response of both filters as generated by test_band_pass_filter_frequency_response.

All-Pass Frequency Response

mod rs--all-pass-880hz-frequency-response

Peaking-EQ Frequency Response

mod rs--peaking-eq-880hz-frequency-response

@yacinbm
Copy link
Contributor Author

yacinbm commented Jan 22, 2024

@yamadapc by the way, I was wondering how we could implement a band shelf. I was thinking we could substract an upper high shelf from a lower high shelf filter.

That way, we should be left with a frequency response that goes up from the lower cutoff, and down again at the upper cutoff. What do you think?

Edit:
Found an implementation derived from the RBJ equations here. Will study these to try and figure out how they were obtained. Will try to update this PR once I'm satisfied with the math :)

@yamadapc
Copy link
Owner

That seems good. I will merge this and publish in a bit.

I'm not sure regarding your band-shelf implementation idea but all of the filters crate is ported from this DSPFilters C++ project from vinniefalco.

@yacinbm
Copy link
Contributor Author

yacinbm commented Jan 23, 2024

That seems good. I will merge this and publish in a bit.

I'm not sure regarding your band-shelf implementation idea but all of the filters crate is ported from this DSPFilters C++ project from vinniefalco.

Sounds good, I will open a new PR for the band-shelf filter when I come around to doing it :)

@yacinbm
Copy link
Contributor Author

yacinbm commented Jan 24, 2024

After a little more research, I came to realize that peaking-EQ filters are the exact same as band-shelf filters! I'll leave it up to you to decide if we should rename the new peaking-EQ filters as band-shelf, as this is how vinniefalco named it. If you let me know, I can update the PR to reflect this :)

@yamadapc
Copy link
Owner

yamadapc commented Jan 24, 2024

I see. Perhaps band-shelf would be more consistent with the other filter names, since they are all pass/shelf/stop names. I can rename too when I merge though.

@yamadapc yamadapc merged commit 9c7b991 into yamadapc:master Jan 24, 2024
8 of 12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants