Forums

Advice in Noise Suppression in Voice Processing Context

Started by BerlinKhan 4 weeks ago2 replieslatest reply 3 weeks ago102 views

Hello everyone,,

I am playing with noise suppression for voice processing applications. I have done a bit of reading and thought it sensible to ask if anyone could advise me as to a good place to start. I am familiar with spectral subtraction and have played with it a bit but avoiding artefacts seems to be an issue. Any advice would be appreciated with techniques or post processing to remove artefacts. Thanks

NB: I am assuming a office/home environment (not an F16).


[ - ]
Reply by omersayliAugust 18, 2019

Hi,


you may check this book;

Noise Reduction in Speech Applications

https://www.cin.ufpe.br/~hama/Arquivos/Noise%20Reduction%20in%20Speech%20Applications.pdf


a python based solutions;

https://pypi.org/project/noisereduce/

https://github.com/timsainb/noisereduce

https://pypi.org/project/logmmse/


I would first check spectrogram for 'clean' and 'noisy' recordings first. It always helps..

[ - ]
Reply by dudelsoundAugust 28, 2019

Spectral Subtraction produces artifacts over the entire frame length of your current STFT (short term fourier transform). To reduce these artifacts, start with overlapping your frames and windowing (hanning window for example) them. Alternatively you could use the MDCT which gives you real coefficients instead of complex ones and windowing is already a part of it.

In my experience, parameters are crucial in noise suppression. Smoothing factors, STFT block size, noise overestimation (how much do you subtract) can make the difference between a good and a bad noise removal. Generally slow changes make less artifacts so you could start out by smoothing the noise spectrum a lot...