I have an audio file with a high sampling rate of 250khz. It contains animal noises. I've built a program which counts all the animal noises.
However, I want to find out how robust the program is and find what the minimum signal to noise is for the program to still work.
Hence the plan was to modify my audio file to produce different (incrementally lower) signal to noise ratios.
I would run the program for all of them and since I know how many the program should count, when I start getting lower counts, I will what the minimum signal to noise ratio is.
however I have no idea how to go about doing this. I still don't even know how to find the signal to noise of my audio as it is. my guess was to assume the background noise is similar throughout and hence, copy a section of the audio which has no animal calls, just noise, then use matlabs snr command:
r=snr(audio,backgroundnoise);
can anyone help with how to program this?
It is not enough to just randomly add noise, I need to know the actual signal to noise values in order to be able to quantify the minimum SNR needed for the program to still work