I’m having an issue with filtering using the highpass8 function in Nyquist plugins that’s causing a delay of approx. 70ms (HPF at 80Hz) on the lowest frequencies, which decreases as the frequencies get higher. Although this is not always an issue, in some cases it’s necessary to keep the frequencies aligned as they were before filtering.
Here’s a screenshot that shows the delay measurement. Please note that the spectrogram is in logarithmic scale:
Thank you for providing this information. While I appreciate the recommendation to use built-in effects, the subject of this thread is part of the final fine-tuning of my own Nyquist plugin, and built-in effects (non-Nyquist) are not something I can incorporate into my current project.
I recall our previous discussion on this topic, where we referred to the filters in Spectral Delete as “sinc filters”. Sorry I am not an expert, is “FIR filter” another name for “sinc filter”? I have experience in using sinc filters and in fact, I developed a variation of the Spectral Delete plugin called Spectral Gain, which includes these filters.
However, when I use these filters in my current project, there were some issues that I was struggling with, specifically ringing and strange vertical-line artefacts in the spectral domain. I wasn’t able to overcome these issues, so I switched back to Butterworth filters. Currently, I’m implementing Linkwitz-Riley filters (2xButterworth), which have produced better results for my needs.
If there is not a better solution, I will try to implement a workaround with the signal reversion. If this is too heavy for RAM and computation time, I will drop this and keep it as it is. It is not a major issue.
HPF - The frequency-related part of the sound is shifted to the right. The lower the frequency, the bigger the shift. In this context, that frequency-related part of the sound is delayed in comparison to the rest of the signal.
LPF - Here we can see the same problem, plus one extra “global” delay. The higher the frequency, the bigger the shift. Additionally, the whole signal is moved to the right.
Note that these are extreme examples. Filters were applied multiple times for demonstration purposes. If you divide the measured delay from the example above by the number of filtering repetitions, you get the delay value for a single filtering, which is not zero. In some applications, it is necessary to take this into account.