NoiseRemoval.cpp

Audio software developers forum.
Forum rules
If you require help using Audacity, please post on the forum board relevant to your operating system:
Windows
Mac OS X
GNU/Linux and Unix-like
Gale Andrews
Quality Assurance
Posts: 41761
Joined: Fri Jul 27, 2007 12:02 am
Operating System: Windows 10

Re: NoiseRemoval.cpp

Post by Gale Andrews » Thu Jul 31, 2014 1:21 pm

steve wrote:Just a thought:

Rather than having the options "Remove" and "Isolate", we could have 3 options:
  • Remove: Removes some of the profiled noise so as to reduce the noise level.
  • Residual: Inverse of "Remove". Returns the sound that would be removed if we used "Remove". (Original sound - noise reduced sound).
  • Isolate: Removes some of the "non-noise" so as to reduce the non-noise level. Isolates the profiled "noise".
There may be a better name than "Residual". Perhaps "Inverse" or something else, but important to distinguish it from "Isolate" (which is very different for low settings).
I think many users won't understand those "Residual" and "Isolate" labels.

Is "Isolate" useful (as defined above)? It seems it doesn't really make a good job of returning the noise profile. Would this be the same as the "noise" captured in the NRP file if we were still using that? If we could return the exact noise profile, how useful is it to do that? To me this is an almost useless feature as it is now. It would be more useful to work on supporting save and load of noise profiles with the ability to play those.

Do we even have "Residual" as described above? That is what everyone thought "Isolate" was, and is useful.

If we don't need "Isolate" (as it is now) is there any reason not to call returning the sound to be removed "Isolate"?


Gale
________________________________________FOR INSTANT HELP: (Click on Link below)
* * * * * Tips * * * * * Tutorials * * * * * Quick Start Guide * * * * * Audacity Manual

Paul L
Posts: 1788
Joined: Mon Mar 11, 2013 7:37 pm
Operating System: Please select

Re: NoiseRemoval.cpp

Post by Paul L » Thu Jul 31, 2014 2:22 pm

steve wrote:Would it be correct to say that Noise Removal is working like a multi-band noise gate?
"Spectral noise gating" is a description in the manual and wiki. So, yes, 1025 little bands.

If you drew the gain curve, it would look like two 1:1 slopes with the left slope lower by the noise reduction setting and a discontinuity at the noise threshold that varies across bands.

That's the simple idea without accounting for time and frequency smoothing of course.

steve
Site Admin
Posts: 81609
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: NoiseRemoval.cpp

Post by steve » Thu Jul 31, 2014 4:07 pm

Gale Andrews wrote:I think many users won't understand those "Residual" and "Isolate" labels.
No difference there then ;)
Gale Andrews wrote:Is "Isolate" useful (as defined above)?
Yes, if you want to "isolate" a sound, (assuming the effect works).
For example, you have a recording of the sea, but there are occasional other sounds in the recording that you don't want, then by sampling the noise of the sea, you should be able to (at least partially) isolate that sound (reducing the other sounds).
Gale Andrews wrote:Do we even have "Residual" as described above?
Not without manually copying, inverting and mixing, but I agree it would be useful.
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

steve
Site Admin
Posts: 81609
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: NoiseRemoval.cpp

Post by steve » Thu Jul 31, 2014 4:09 pm

Paul L wrote:... So, yes, 1025 little bands.

If you drew the gain curve, it would look like two 1:1 slopes with the left slope lower by the noise reduction setting and a discontinuity at the noise threshold that varies across bands.
So it's a "hard knee" at the threshold?
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

Paul L
Posts: 1788
Joined: Mon Mar 11, 2013 7:37 pm
Operating System: Please select

Re: NoiseRemoval.cpp

Post by Paul L » Thu Jul 31, 2014 4:27 pm

More like an amputation at the knee!

Instead of a continuous curve with discontinuous slope, such as Compressor displays, there would be a constant slope but a jump up at the threshold.

That is, graphing dB in to dB out.

The gain, which is the difference between that curve and the diagonal, would be a constant negative below threshold, then a jump up to 0dB.

steve
Site Admin
Posts: 81609
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: NoiseRemoval.cpp

Post by steve » Thu Jul 31, 2014 4:36 pm

It's well known that hard gating (conventional noise gate) is likely to produce unpleasant artefacts.
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

Gale Andrews
Quality Assurance
Posts: 41761
Joined: Fri Jul 27, 2007 12:02 am
Operating System: Windows 10

Re: NoiseRemoval.cpp

Post by Gale Andrews » Thu Jul 31, 2014 4:38 pm

steve wrote:
Gale Andrews wrote:Is "Isolate" useful (as defined above)?
Yes, if you want to "isolate" a sound, (assuming the effect works).
For example, you have a recording of the sea, but there are occasional other sounds in the recording that you don't want, then by sampling the noise of the sea, you should be able to (at least partially) isolate that sound (reducing the other sounds).
Um, well the user could get a perfect sample of the noise of the sea by using Edit > Copy before capturing the Noise Profile.

I agree if they want an approximation of the noise of the sea extracted from the entire audio track that an "Isolate" control that did that better than now might be of value, but I think less value than load/save of noise profiles and a working "Residual" control.

Given experienced Audacity users assumed "Isolate" would isolate the noise to be removed certainly suggests we have to think what we call these features. "Residual" is a bit like "Wet only" in Reverb isn't it - except here we are removing rather than adding?


Gale
________________________________________FOR INSTANT HELP: (Click on Link below)
* * * * * Tips * * * * * Tutorials * * * * * Quick Start Guide * * * * * Audacity Manual

Paul L
Posts: 1788
Joined: Mon Mar 11, 2013 7:37 pm
Operating System: Please select

Re: NoiseRemoval.cpp

Post by Paul L » Thu Jul 31, 2014 5:03 pm

steve wrote:It's well known that hard gating (conventional noise gate) is likely to produce unpleasant artefacts.
I am not sure that analogies with single band gating should be pressed too far though. The methods using frequency domain data are different and the reasons for artifacts may be different. So I understand it anyway.

steve
Site Admin
Posts: 81609
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: NoiseRemoval.cpp

Post by steve » Thu Jul 31, 2014 5:04 pm

Gale Andrews wrote:"Residual" is a bit like "Wet only" in Reverb isn't it
It's very much like "Residual" in "Hard Limiter" in that it refers to the part of the signal that would be removed.
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

steve
Site Admin
Posts: 81609
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: NoiseRemoval.cpp

Post by steve » Thu Jul 31, 2014 5:06 pm

Paul L wrote:The methods using frequency domain data are different and the reasons for artifacts may be different.
Yes, they may be.
Has anyone tried "gating" the spectrum less viciously?
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

Post Reply