Noise Repellent 0.3.0 beta is out!

Hi everyone!

I’m very glad to share that I’ve released a beta version of the upcoming Noise Repellent plugins. In this update, I’ve overhauled the denoising algorithm significantly. I was able to implement most of the pending features—heavily inspired by iZotope’s RX spectral denoiser—and they are working very well. This puts Noise Repellent in a whole new league.

Noise Repellent now consists of two plugins: a standard 1D spectral denoiser (the one everybody knows) and a new 2D version that processes the audio as an image. They are differentiated because the 2D version requires significant buffering to gather enough information to work.

Changes:

  • Manual Noise Capture: Improved to allow blending between different statistics. You can now morphs between the median, average, and max spectrum of the profile. This new control is called “Aggressiveness” and allows you to push the reduction hard if needed (similar to CEDAR’s bias control).

  • Adaptive Mode: I replaced the old adaptive version of the denoiser. Now, adaptive noise estimation is an option built into the plugins.

  • New Algorithms: Introduced three new adaptive algorithms for different situations: Dialog (SPP-MSEE), Audio Restoration (Brandt), and General (Martin).

  • Hybrid Workflow: The adaptive mode can now be used on top of a manual profile (if already captured) for cases where the noise is dynamic. If no noise profile is learned, the adaptive mode works purely on the noise calculated by the algorithm.

  • Smoothing: Implemented a new smoothing algorithm inspired by Alexey Lukin’s papers. It interprets the audio as an image (spectrogram) and uses image denoising techniques to eliminate musical noise generated during reduction.

  • Masking Thresholds: Reworked into a veto engine rather than a scaling criterion. It now decides whether reduction should be applied fully or partially based on the thresholds. This helps preserve the energy of signals masking the noise, making the reduction much more transparent.

  • Whitening: Reworked to occur at the final stage of the process, effectively whitening the noise floor while preserving the reduction floor level.

  • Suppression: “Reduction Strength” is now called “Suppression” and uses a better scheme for over-subtraction based on the Berouti style.

  • Tone Reduction: Added a tone reduction control. It detects spectral peaks in the noise profile and applies a parallel reduction path to them, allowing you to reduce hum while preserving some hiss. This improves transparency.

One downside of this new version is increased latency: 50ms for the 1D denoiser and over 100ms for the 2D denoiser (required by the NLM smoothing algorithm). This was necessary to improve low-frequency resolution for precise hum reduction. For the quality you get, this is a minor trade-off. In the future, I plan to implement FFT partitioning to reduce the latency.

I would love to get some feedback on this because I’ve been quite biased in my own testing. Also, if you have any noisy files you are happy to share with me to add to my testing arsenal, that would be very appreciated!

17 Likes

Fantastic work, thank you so much !! Feedback may take time to arrive but rest assured your work is appreciated.

1 Like