Automatic detection of noise-only segments in audio This is my first question for this community. My connection to DSP comes via machine learning/deep learning, and I am working in the Python ecosystem.
As a preprocessing step to audio classification, I am looking for a simple method to reduce noise.
Promising noise reduction methods such as 1 expect a noise-only sample as input, then are able to subtract noise. (The approach is also described in an answer of 2)
Getting a noise sample manually is doable for denoising a few recordings. However, it does not scale to processing thousands of recordings with different noise types and volumes.
Can you recommend a method for automatically obtaining a noise sample from every recording? Alternatively, denoising methods that do not require a noise sample as input?
The way I read it, the algorithm works by figuring out where the signal part lives in the frequency domain by using the statistics of the noise part. This means you don't need a noise-only signal for each signal you want to process as long as the statistics of the noise are the same for each signal realization.
For example, if you had 1000 signal realizations that you want to perform this noise reduction on, you would use a noise-only signal to compute the statistics of the noise. Then using those statistics, the algorithm will figure out signal versus part by comparing to a threshold (average noise power or something I would guess).