I was reading Audacity’s web-page explanation on how they do noise reduction, and from what I gather it their noise reduction process just eliminates frequencies from the source audio that aren’t sufficiently louder than the corresponding frequencies in the noise profile.
However, wouldn’t it be better to just reduce every frequency of the source audio by the corresponding frequency in the noise profile?
Because even if frequencies are louder than they are in the noise profile don’t they still contain some of the noise in them? Reducing by the noise profile’s amplitude for that frequency would eliminate this noise right?
Why have Audacity chosen a noise-gating approach instead of something more like my approach?
Maybe I’ve misunderstood what Audacity’s noise reduction algorithm truly does, I’d appreciate it if someone could explain it to me.
Look at microphone pink noise (ffffff). That contains more or less all frequencies since it’s caused by the molecular movement of the microphone electronics. You would have us remove all frequencies from the show, right?
This is a vast improvement over the older Noise Removal which used to do actual gating. If you really offended the sound gods, you could get hissy words over a quiet background.
This is the technique that MP3 uses to reduce filesizes. Remove parts of the show nobody’s going to notice anyway.
Say that there is noise is a specific frequency band with an amplitude of -40 dB, and you want to reduce that noise to -60 dB. That’s a 20 dB reductions.
Say that you have a signal (that you wish to retain), but that also lies in the same frequency band as the noise. If we reduce this by 20 dB, then we lose a huge amount of the signal that we want to keep.
Can I read into your question you’re trying to record a performance in a noisy room or with a noisy microphone and you want us to fix it?
There are still noises insanely difficult to fix. We can’t touch moving or changing noises without the show starting to sound like a bad cellphone. That’s why leaving a TV on in the background is usually good to kill your show.
No, it’s a bit more complex than that, but “gating on a per-frequency basis” gives a general idea of the sort of thing that it’s doing. The best description is the code, but sadly it is not at all easy to read (at least, I don’t find it easy to read )
“Smoothing” is one of the complications. When attenuating a frequency band, the algorithm not only adjusts the signal in that band, but to a lesser extent it affects adjacent bands. This helps to reduce tinkly artefacts and boundary effects. There is also statistical analysis in determining the noise profile.
The source code is here: https://github.com/audacity/audacity/blob/master/src/effects/NoiseReduction.cpp