Noise removal: identical for both channels?

I’ve been doing some work this morning on looking at the noise floor on my TT=>phono preamp=>passive switch=>USB soundcard=>PC recording chain. It’s actually fairly quiet in normal use - but one thing that is readily obvious under extreme amplification is that the right and left channels have quite noticeably different noise floors - which leads to the following question.

When the Noise Removal effect is used does it sample and operate separately on each channel of a stereo pair (as Nomalize always used to do in 1.3.13 and earlier - and optionally now in 1.3.14 onwards)? Or does it operate identically on both channels?

I can see a potential feature request/proposal coming out of the answers to this. :ugeek:

WC

I can see chaos myself.

My sister’s vinyl chain is noticeably noisier on the left than the right. I put it down to a bad sound card, but there wasn’t anything I could immediately do about it.

What would the change be? Split the stereo show into two monos, get two different profiles, do the correction and then put the two shows back together? Given how people abuse Noise Reduction, I think there may be two people on the planet who would ever get that to work in a desirable way.

Koz

I think you’re right. It looks like Noise Removal uses the same profile for both channels and that profile is created from an average of left and right channels.

In cases where the noise is similar on both channels (which I would guess is usually the case), this approach has the advantage that the noise profile is made up of twice as many samples as it would be if there was a per-channel profile. This would be beneficial where only a short “noise only” sample is available.

In cases where the noise is very different on each channel, then as Koz wrote it would be better to split the stereo track and apply Noise Removal to each mono track separately.

In cases where the noise is similar, but a little higher on one channel than the other then I don’t thing the limitation of using a single (mono) noise profile is (in practice) very significant.

An additional benefit of the effect using a mono profile is that if there are several tracks with very similar noise, then the same profile can be used whether the track is mono or stereo. This is particularly useful when using Noise Removal in a Chain.


If Noise Removal is to be updated, there are a couple of features that I would prioritise over the question of mono/stereo profiles:

  1. Change the name from “Noise Removal” to “Noise Reduction” (I think this would help to reduce expectations down to a more realistic level).
  2. Double the FFT size. This produces significantly better noise reduction with most samples that I’ve tested.

Steve do you base this on:

  1. looking at the code,
  2. experimentation,
  3. hunch.

"hunch"is where I personally was coming from :slight_smile:

WC

Experimentation.
Do you want details?

  1. Double the FFT size. This produces significantly better noise reduction with most samples that I’ve tested.

I think you can do that in Cool Edit. The profile step in CE2 is much more comprehensive than ours.

Koz

No, not necessary.

I just wanted to be sure of my ground - I don’t want to embarrass myself in front of the devs by claiming something that isn’t so :sunglasses:

In that case I’d better give details so that you can decide for yourself if my interpretation of the test is sound.

  1. Generate a sine tone, 30 seconds, 440 Hz mono, amplitude 0.2
  2. Generate a sine tone, 30 seconds, 2000 Hz mono, amplitude 0.2
  3. Click on the name of the upper track and “Make Stereo”.
    You now have a stereo track with a 440 Hz tone in one channel and a 2kHz tone in the other.
  4. Tracks > Add new > Stereo Track
  5. Generate white noise, 30 seconds, amplitude 0.5
  6. Select the upper stereo track (tones).
  7. Create a noise profile from the selected track
  8. Apply the Noise Removal effect to the stereo noise track
  9. Click on the name of the processed white noise track and “Split to Mono”
  10. “Analayze > Plot Spectrum” for each of the mono tracks.

You should get a plot similar to this:
Note the two notches (440 Hz and 2000 Hz) occur in both tracks.
plot.png

Ahhhh… but your test is only working with Audacity generated sound - it’s not looking at a recording chain or an on-board soundcard.

WC

The Noise Removal effect has no idea where the audio came from, it just uses the audio that you give it. Same with all other Audacity effects.
The point of the test is that if the noise profile was stereo, one channel of the processed track would have a notch at 440 Hz and the other channel would have a notch at 2 kHz.

@Steve:
I was trying to reproduce a recording with 6 dB higher noise on one channel than the other and then attempting to determine the threshold used by the NR effect. Your method is much simpler and, I believe, proves that the noise sample from a stereo track is the sum of the two channels.

This has implications, though, for a stereo recording with identical noise on both channels (admittedly not very likely, but still …). The noise threshold will be 3 dB higher than the actual noise in each channel.

From page 36 of the manual for Brian Davies’ DeNoise program, it states that if you obtain a noise profile automatically (by sampling a noise-only portion of the recording), the difference in noise level between channels is compensated for, but it appears the same noise profile is used for both channels.

– Bill