Spectral denoising with varying sensitivity

Hello dear shellac record enthusiasts,

I am very satisfied with Audacities denoise tool. But the noise floor of heavily worn-out shellacs often varies with 78 rpm, sounding like shshshssssssshshshssssssshshshshssssss… and on sections with dense, loud music, the grooves are even more worn, adding additional noise which is much louder than the normal noise floor. Denoising too reserved results in noisy loud parts, and denoising too heavily destroys the soft music.

My current solution is processing the different sections separately. But this is a pain in the xxx and sometimes causes artefacts at the start and end of each processed section.

I’m trying to work out a method to denoise with a continously varying sensitivity setting.
As I’m not a programmer, I won’t change the denoise algorithm, but try a workaround procedure:

  1. Isolation of (high frequency) noise above music frequency range in a separate track
  2. Generating a track which contains “noise level / noise RMS over time” (this is what gives me trouble)
  3. Low-passing or smoothing that noise level track reasonably, let´s say with a 5 Hz cutoff
  4. Inverting that smoothed noise level curve
  5. Scale the volume of the original sound track with the inverted noise level curve by multiplication
  6. Denoise with a constant sensitivity
  7. Restoring of the original volume curve of the music by multiplying with the un-inverted noise-level curve.

There are surely some limitations, as the low-pass frequency will affect the “attac and release time” of the denoise sensitivity.
I expect a long phase of experimentation until the right multiplication factor is found.
Nevertheless, the above workflow should do the trick much better than the hand-selection method.

I would very much appreciate any help from you on how to generate a “volume over time” representation of the noise floor.
I do not believe to be the first person with this rather simple idea to automate the level of denoising. But I couldn’t find a topic on that. Therefore the question to the older forum regulars: Has this been successfully tried before?

Best regards,


I just stumbled over the Thread “Envelope follower” and the “dynamic mirror” plugin.
As far as I understood, this plugin could solve the whole thing :slight_smile:
I’m looking forward to give it a try.

Now I´m only worried that there is no button to erase this thread, as it might be redundant (although I’m “abusing” the “envelope follower” for another purpose).

Best regards,


Let us know how you get on :slight_smile:

$tore-bought denoise plugins can do that … https://youtu.be/0-7iUkfcf8s?t=41

(try demo before you buy, as I’m not sure the latest version will work in Audacity).