QutEcoacoustics / audio-analysis

The audio analysis code (AnalysisPrograms.exe) for the QUT Ecoacoustics Research Group
https://ap.qut.ecoacoustics.info/
Apache License 2.0
52 stars 12 forks source link

Noise reduced signal and option to change window function in AnalysisPrograms #485

Open YvonneP opened 3 years ago

YvonneP commented 3 years ago

Noise reduced signal and option to change window function from AnalysisPrograms

I would like an option in Analysis Programs to output the signal after the Lamel noise reduction. I need the audio time series after noise reduction not the spectrogram. Is this possible? Or does the noise reduction occur on the spectrogram? I would also like an option to choose another window function eg. Blackmann, Hann or Bartlett replacing the default Hamming function.

Proposal:

Please add an option to output in csv or other format the audio signal after noise reduction and an option to change the window function.

Additional context

I am producing a series of coloured images from each 10 second segment of audio. These images include Grey-scale spectrograms, mel-frequency cepstral coefficient, fast chiplet transforms in python which require an initial noise reduced signal.

atruskie commented 3 years ago

As far as I know our noise removal is applied to the spectrogram and not the waveform.

If you did want a noise reduced waveform, then this would not be a simple task.

If you could make do with a noise reduced spectrogram, then that we could achieve easily.

@towsey can you confirm what I've stated is correct?

YvonneP commented 3 years ago

Thanks @atruskie this makes sense. It is a difficult task and I did achieve it using https://github.com/timsainb/noisereduce and seewave pause in R to quite a high satisfaction after a lot of work, The problem is the accurate locatation of a noise sample.

Is it possible to build in the Blackman, Hann and Bartlett window functions as this would be useful for my images? Specifically within the C:\AP\ConfigFiles\Towsey.Acoustic.HiResIndicesForRecognisers.yml?

atruskie commented 3 years ago

I had a look at that repo, and in principle we could reproduce that, but using our noise algorithm which does not require sample selection. I'm not sure we'll have the time though - I'll need some dedicated time and that needs to be approved.

So, would the noise reduced spectrogram matrix be useful? We could do that in the interim.

YvonneP commented 3 years ago

Hi Anthony, after consideration it is not possible to use the noise reduced spectrogram to produce my images. I would like to trial other noise reduction methods so if I could get the noise reduced signal it would be a more consistent method than my current method. Athough it is not currently critical, I would like to explore this in the future. If you do not have time that is ok, but if you could keep it in mind I believe it would be useful.