noise reduction problem

Hi dear Audacity Developers,

I am having a little trouble when doing the noise reduction by using noise gating technique. I am doing below steps:

  1. STFT the background noise with 2048 Hanning window. The Hanning window is shifted by half the size of the window so the overlapping rate is 50%.
  2. Save 2048 power elements(square of the STFT amplitude) resulted in Step 1 as noise profile.
  3. STFT the audio signal with 2048 hanning window just as in step 1 for the noise. Comparing each STFT power output with the corresponding element in noise profile in Step 2. If it is
    larger than the noise profile power element, the gain is 1;otherwise, the gain is 0;
  4. Inverse STFT the result from Step 3.
  5. Overlap-add the result from Step 4 to recover the signal.

I am implementing this algorithm on FPGA. The result was not very pretty. I have attached the original noisy audio as well as the output audio. Am I missing any important step here? I have checked online that the drawback of spectral subtraction algorithm is remnant noise. Is it the problem I am having right now? How do I to conquer the problem?


How do I to conquer the problem

Record it again?

There are two different motor tones, one at 303Hz and one at 366Hz, plus regular background trash. Those are the problem. Getting rid of those gives you airline pilot voice and I can’t find any way around it. Even if you get Noise Gate to work, that will just give you motor noise voice over dead silence.

Even if you get rid of the noise, you still have the voice P-popping and other problems.

Oh, and DC Offset. See at 2 seconds, the black line and blue fur don’t line up? That, at least we can fix. Effect > Normalize: [X] Remove DC > OK.

This is as good as I could do with Equalization, Noise Reduction, Normalize and two Notch Filters.

What’s the goal?



Thanks for your reply.

Audacity noise reduction works pretty well with my audio. I am trying to implement that on FPGA.