lucianodato / noise-repellent

Lv2 suite of plugins for broadband noise reduction
GNU Lesser General Public License v3.0
455 stars 38 forks source link

Better cleaning of ambient/field recordings #44

Closed Efenstor closed 6 years ago

Efenstor commented 6 years ago

Hello and thank you, Noise Repellent is an excellent tool! But unfortunately it works fine only for music and voice. What I am desperately looking for for many years, and all in vain, is a good tool/plugin to denoise ambient recordings, specifically those with bird calls.

Here is a couple of sample files from my collection: https://yadi.sk/d/GuFQ7ThQ3NVhjb. I presume a different approach is needed here, because currently the results are pretty horrible, no matter the settings. In the beginning of each sample file is a small portion (about 2 seconds) of pure mic noise added for noise sampling.

lucianodato commented 6 years ago

Hi Efenstor! Indeed noise repellent is not the right tool for what you are trying to do. Bird calls are pretty sinusoidal in nature maybe something like a sinudoidal+residual model would work better. I have a spectral peak detection function (it is needed to estimate sine waves in that model) but not yet tested and I was thinking about a different use case than yours. It wouldn't be that hard to adapt noise repellent for that function but really to make another entire plugin would be a better option in that case. I could work on that tool but now I'm focusing on finishing the new version of noise repellent and a new speech-denoiser tool. Are you in a hurry for this? Maybe I can do it as a week project (being optimistic here)

lucianodato commented 6 years ago

Also did you tried to use a high pass filter first on those files? Seems that all the noise energy is focused in the low frequencies. That file has a pretty low SNR. It's really hard to denoise those without some pre-processing being involved.

lucianodato commented 6 years ago

I've tried myself but as you said is not that great https://instaud.io/1jGd .

Efenstor commented 6 years ago

No, I am absolutely in no hurry. ) Thanks lucianodato! Problem is that I'd like to use those recordings in ambient/meditative music, so all the spectrum is important for me, even the low-freq background noise, which is the integral part of the natural scene. The microphone broadband noise, especially the high frequency hiss, is what's needed to be filtered out. Indeed, low freqs up to 500 Hz are not bothersome to hear, so those can simply be shelved down for some dBs, while all the other freqs need to be filtered with some smart algorithms. The most troublesome part I think is the mid freqs, those include some useful broadband noise (leaves rustle in the wind, rain, etc.).

lucianodato commented 6 years ago

Ok so did you tried to shape the noise you feed the plugin to learn in order to reduce more noise in the mids?

lucianodato commented 6 years ago

If you want you could use a smaller fft size to get better results in those frequencies going to nrepel.c and changing line 37 (DEVELOPMENT branch) and set it to 512 or less and recompile. That is what I did in previous examples. Just make sure you only learn mid frequencies of the noise

lucianodato commented 6 years ago

Also did you know some tool that works well for your use case? Maybe I can see what they are doing

Efenstor commented 6 years ago

No no, there's no tool that works well... I've been playing with different configurations two hours straight and the results still suck: https://instaud.io/1jJD. For this I used splitting into three frequency bands (using buses), with Noise-Repellent for the lows and the highs, and Calf Multiband Gate for the mids. May be it's suitable for forensics but not for music. I think it's just impossible, nothing replaces a high quality source. If it's recorded bad, then bad you get. Or may be possible in future using some much more advanced approach, e.g. neural networks, such stuff.

lucianodato commented 6 years ago

Or may be possible in future using some much more advanced approach, e.g. neural networks, such stuff.

Indeed

lucianodato commented 6 years ago

One option that I was forgetting about is using the spectral editing tool in audacity. That would be a pain in the arse for sure but it might work for what you are looking for.