-
-
Notifications
You must be signed in to change notification settings - Fork 193
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
Add support for zero phase peaking filter #303
Comments
Can you elaborate? |
Certainly. Peaking filters adjust the gain of specific frequency bands, and are currently implemented using filters that introduce a non-linear phase shift. The phase change occurs because these filters have a frequency-dependent phase response. It is possible to plot the phase shift for each frequency, e.g. like this:
(based on https://github.com/nomonosound/log-wmse-audio-quality/blob/master/dev/plot_filter_phase_shift.py) As we can see, it is not a zero-phase filter. A flat curve here would mean that the filter did not affect the phase. Achieving zero-phase filtering is sometimes done by applying the filter forward and then backward in time, effectively canceling out any phase shifts. This approach doubles the filtering computation but preserves the waveform's original phase characteristics. If the filter is FIR filter, it is possible to design the filter kernel in a symmetric way that results in a linear phase response. |
The peaking filter we have today changes the phase. It would be nice to have a bool argument for making it zero-phase.
The text was updated successfully, but these errors were encountered: