Comparing Noise Removal/Reduction between 2.0.6 and 2.1.0

Feedback and Reviews for Audacity 2.x
Forum rules
This board is ONLY for general feedback and discussion about Audacity 2.X.

If you require help, or think you have found a "bug", please post on the forum board relevant to your operating system.
Windows
Mac OS X
GNU/Linux and Unix-like
Paul L
Posts: 1788
Joined: Mon Mar 11, 2013 7:37 pm
Operating System: Please select

Comparing Noise Removal/Reduction between 2.0.6 and 2.1.0

Post by Paul L » Thu Apr 02, 2015 2:37 am

Thanks to Daniel Lewis for reviewing version 2.1.0 so promptly at this podcast: http://theaudacitytopodcast.com/whats-n ... qus_thread

Discussion of noise reduction goes from about 6:50 to 16:30. Also that page contains three audio clips, one "before" and two "afters" comparing the effect in the two versions.

But I thought the settings chosen were not a fair comparison. 2.0.6 was made to sound worse than it should have with a long attack/release setting.

I reproduce here a comment I made at that page, setting up what I think is a fairer comparison. The difference is subtler but still I think noticeable. 2.1.0 should improve the removal of noise that is mixed with foreground sounds, as in Daniel's example, of himself talking over a loud fan.

I want to make what I think is a fairer comparison of the two effects. In each I selected exactly 5 seconds starting at 11.2 in the first .wav clip for noise profile.

First, 2.0.6, with settings 24 (as in your examples), 5 (Sensitivity), 0 (frequency smoothing), 0.1 (attack/release). Really, 0.5 for attack/release makes a very unfair comparison, while 0.1 is the built-in release time for 2.1.0 and attack is shorter. 5 is the smallest whole number sensitivity value that makes all "tinklebell" artifacts in the pauses go away, as seen in spectrogram.

https://clyp.it/me1x5urj

Better sounding than Daniel's settings.

As above except frequency smoothing of 150, the default, which I suspect most people used without changing it. Still better, it takes some whistly effects out of the breaths.

https://clyp.it/r1zbfds4

Now in version 2.1.0, reduction 24, sensitivity 5 (coincidentally what I get by following the same procedure of just enough to banish tinklebells), and smoothing 0.

https://clyp.it/azme3s4j

And again, with smoothing 6, which is in fact the equivalent of old smoothing of 150 Hz when the sample rate is the usual 44100 Hz.

https://clyp.it/po0x1nvf

I think the differences between versions are now subtler but still noticeable.

Robert J. H.
Posts: 3633
Joined: Thu May 31, 2012 8:33 am
Operating System: Windows 10

Re: Comparing Noise Removal/Reduction between 2.0.6 and 2.1.

Post by Robert J. H. » Thu Apr 02, 2015 5:16 am

Hi Paul
I had similar thoughts while listening to the podcast.
Good that you've commented on this.

I've still have a bad feeling about the frequency smoothing.
It should imo be logarithmic and not linear.I'

ve just made a test with a buzz tone at 100 Hz and 60 harmonics.
The noise profile is taken from another buzz tone at 200 Hz with 30 harmonics.

In other words, each other harmonic should be reduced.
The curious thing is that the low harmonics have nearly the same amplitude as before (with frequency smoothing 10 = 200 Hz at 40.96 kHz).
In other words, the order of the levels is 100 200 300 500 700 900 ... Hz.

I think the lower bins shouldn't be smoothed that much in relation to the upper bins where isolated peaks are a lot more annoying.
Am I absolutely wrong with this opinion?

Btw, a pity that Daniel hasn't more talked about the spectral selection and its related tools.
Perhaps something for another podcast.

Robert

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

Re: Comparing Noise Removal/Reduction between 2.0.6 and 2.1.

Post by steve » Thu Apr 02, 2015 12:52 pm

Robert J. H. wrote:I've still have a bad feeling about the frequency smoothing.
It should imo be logarithmic and not linear
I'm having trouble with "Frequency Smoothing" and "Sensitivity". I don't know how to advise people about these controls other than "leave them at their default settings" (which defeats the point of exposing those settings).
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: Comparing Noise Removal/Reduction between 2.0.6 and 2.1.

Post by Paul L » Thu Apr 02, 2015 3:49 pm

steve wrote:
Robert J. H. wrote:I've still have a bad feeling about the frequency smoothing.
It should imo be logarithmic and not linear
I'm having trouble with "Frequency Smoothing" and "Sensitivity". I don't know how to advise people about these controls other than "leave them at their default settings" (which defeats the point of exposing those settings).
Read what I wrote above: In each version, I selected the same portion as noise profile, zeroed the frequency smoothing, and then looked for the least sensitivity setting that eliminated tinklebells in the pauses. Then I increased smoothing again.

I limited myself to whole number sensitivity settings, though it could have gone finer, and coincidentally got 5 in each version, though the two scales are not really comparable.

Zero frequency smoothing makes breaths sound strange so I pushed it up some.

As steve knows, fixing "the big problem" of the bad rectangular analysis window revealed the lesser problem that we need to figure out some better frequency smoothing procedure. But I think the third and fourth examples show that you may need it in some form to lessen unnatural effects.

I think this is a difficult example at best because sometimes the breaths are not much louder than the fan, so something strange will happen to the breaths. In practice I don't want a recording in which -24 dB reduction is necessary.

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

Re: Comparing Noise Removal/Reduction between 2.0.6 and 2.1.

Post by Paul L » Thu Apr 02, 2015 4:08 pm

Robert J. H. wrote: Btw, a pity that Daniel hasn't more talked about the spectral selection and its related tools.
Perhaps something for another podcast.

Robert
For one thing, it is hard to demonstrate in a podcast, of course.

For another, it appears from his brief remarks at 21:50 that Daniel is himself unfamiliar with spectrograms. He speaks of this alternative to "the traditional waveform view that we're used to."

I have evolved to do most of my editing in spectrogram log f view now and only infrequently look at waveforms!

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

Re: Comparing Noise Removal/Reduction between 2.0.6 and 2.1.

Post by Paul L » Thu Apr 02, 2015 4:29 pm

Robert J. H. wrote:Hi Paul
I had similar thoughts while listening to the podcast.
Good that you've commented on this.

I've still have a bad feeling about the frequency smoothing.
It should imo be logarithmic and not linear.I'

ve just made a test with a buzz tone at 100 Hz and 60 harmonics.
The noise profile is taken from another buzz tone at 200 Hz with 30 harmonics.

In other words, each other harmonic should be reduced.
The curious thing is that the low harmonics have nearly the same amplitude as before (with frequency smoothing 10 = 200 Hz at 40.96 kHz).
In other words, the order of the levels is 100 200 300 500 700 900 ... Hz.

I think the lower bins shouldn't be smoothed that much in relation to the upper bins where isolated peaks are a lot more annoying.
Am I absolutely wrong with this opinion?

Robert
Please either share some .wav files or tell me exactly how to generate those tones (with Nyquist or whatever). I used clyp.it to share .wave files for free.

Are you using 44100 Hz sampling?

You are not wrong in your opinion about the low bands. The frequency smoothing that we have wrongly attenuates narrow-band sounds, sometimes. Fixing other noise reduction problems revealed this problem, but a bit too late in the development cycle to do something about it.

Robert J. H.
Posts: 3633
Joined: Thu May 31, 2012 8:33 am
Operating System: Windows 10

Re: Comparing Noise Removal/Reduction between 2.0.6 and 2.1.

Post by Robert J. H. » Thu Apr 02, 2015 6:15 pm

Paul L wrote:
Robert J. H. wrote:Hi Paul
I had similar thoughts while listening to the podcast.
Good that you've commented on this.

I've still have a bad feeling about the frequency smoothing.
It should imo be logarithmic and not linear.I'

ve just made a test with a buzz tone at 100 Hz and 60 harmonics.
The noise profile is taken from another buzz tone at 200 Hz with 30 harmonics.

In other words, each other harmonic should be reduced.
The curious thing is that the low harmonics have nearly the same amplitude as before (with frequency smoothing 10 = 200 Hz at 40.96 kHz).
In other words, the order of the levels is 100 200 300 500 700 900 ... Hz.

I think the lower bins shouldn't be smoothed that much in relation to the upper bins where isolated peaks are a lot more annoying.
Am I absolutely wrong with this opinion?

Robert
Please either share some .wav files or tell me exactly how to generate those tones (with Nyquist or whatever). I used clyp.it to share .wave files for free.
Generating a buzz tone with nyquist:

Code: Select all

(buzz 60 (hz-to-step 100) (s-rest 1))
This gives 60 harmonics 100, 200 300 ... 6000 Hz.
They do all have the same amplitude (in contrast to e.g. a sawtooth wave form)
The 's-rest' determines the length, namely the selection length in this case.
You can as well use e.g.

Code: Select all

(mult 50 (noise))
This adds a random frequency modulation (100 Hz wide).
I love this test tone due to the predictable spectrum peak height (1 / number of harmonics) and the ability to adjust the bandwith (no aliasing on top).
Are you using 44100 Hz sampling?
No, as I said, the sampling rate is 40.96 kHz.
This gives integer Hz values for the spectrum plot, e.g. 5 Hz bin distance for a window size of 8196 samples.

It is a bit querky that the project rate has also to be set to this value, otherwise the preview won't work.
Steve has been proposing rightly that the highest sample rate of the selected tracks should be taken as a rule for effects in general. In this case, the rate of the track to be filtered (which is equal to the previously taken profile).

By the way, it would be possible to use different rates for profile and audio by implementing a Z-Chirp Transform.
You are not wrong in your opinion about the low bands. The frequency smoothing that we have wrongly attenuates narrow-band sounds, sometimes. Fixing other noise reduction problems revealed this problem, but a bit too late in the development cycle to do something about it.
It is self-evident that a lot more can be improved.
I actually don't want to meddle with the original code. I'm not patient enough to wait for the compiling each time (the debug built does for some reason not work on my system).

Do we have a Nyquist translation of the code per chance?
It would make it easier to test a logarithmic or mel-scale frequency smoothing.

I wonder if we could use a DCT transform instead of FFT. This allows halving the window length while keeping the same number of bins (better time resolution).
The latter is of course not important for a stationary sound but we could instead double the resolution (with zero padding) while taking the same window and hop sizes.

There's also the possibility to explicitly filter out isolated peaks (musical noise) resulting from wrong sensitivity settings.
Last edited by Robert J. H. on Thu Apr 02, 2015 6:40 pm, edited 1 time in total.

Robert J. H.
Posts: 3633
Joined: Thu May 31, 2012 8:33 am
Operating System: Windows 10

Re: Comparing Noise Removal/Reduction between 2.0.6 and 2.1.

Post by Robert J. H. » Thu Apr 02, 2015 6:33 pm

steve wrote:
Robert J. H. wrote:I've still have a bad feeling about the frequency smoothing.
It should imo be logarithmic and not linear
I'm having trouble with "Frequency Smoothing" and "Sensitivity". I don't know how to advise people about these controls other than "leave them at their default settings" (which defeats the point of exposing those settings).
The most confusing thing is perhaps that the old sensitivity setting hadn't to be changed in most cases--default = zero.
It appears to be the most important slider now. But there's no "absolute" reference scale to it.
The gain reduction does somewhat lose its purpose, the target reduction is obviously only achievable with a high sensitivity setting.
And all is of course coupled with the frequency smoothing as well.

An ideal effect de-couples the different controls.
The highpass filter is probably a good example for that. Increasing the dB per octave doesn't move the cut-off frequency point.
Last edited by Robert J. H. on Fri Apr 24, 2015 4:51 pm, edited 2 times in total.
Reason: typo loose > lose

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

Re: Comparing Noise Removal/Reduction between 2.0.6 and 2.1.

Post by Gale Andrews » Sat Apr 04, 2015 4:08 pm

Robert J. H. wrote:
steve wrote:
Robert J. H. wrote:I've still have a bad feeling about the frequency smoothing.
It should imo be logarithmic and not linear
I'm having trouble with "Frequency Smoothing" and "Sensitivity". I don't know how to advise people about these controls other than "leave them at their default settings" (which defeats the point of exposing those settings).
The most confusing thing is perhaps that the old sensitivity setting hadn't to be changed in most cases--default = zero.
It appears to be the most important slider now. But there's no "absolute" reference scale to it.
The gain reduction does somewhat lose its purpose, the target reduction is obviously only achievable with a high sensitivity setting.
And all is of course coupled with the frequency smoothing as well.
I get that general impression too, though I only use Audacity's Noise Reduction to test it, still preferring Goldwave for noise reduction. I doubt Audacity's Noise Reduction will be top of class until the algorithm is changed, though I do recognise that it has improved to some extent.

Perhaps there is a case for reordering the sliders Sensitivity, Smoothing, Noise Reduction and adjusting the Step 2 text?

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: Comparing Noise Removal/Reduction between 2.0.6 and 2.1.

Post by Paul L » Sun Apr 05, 2015 3:58 am

I do not understand. Is not the default sensitivity setting a good one?

I have thought that Sensitivity more naturally pairs with the Profile. Though you specify it in part 2, not part 1, it determines "what is noise" with the profile information, not "what is done to noise."

I hope we can reopen the questions of attack/release sliders and the interaction with spectral selection.

Post Reply