I'm sorry if this question has already been answered, but I couldn't find anything. I'm working on a program for noise detection and need to locate the position of impulsive noise. The following image shows a part of the spectrogram of a file which contains a beeping noise at about 2 kHz.
I already tried analyzing the samples via the derivative method mentioned in this paper, where the average derivative over the whole file is compared to that of the samples. The problem here is that the speech is very loud and no fast increase in volume can be seen.
I also tried to calculate the RMS for each window of the FFT magnitudes to create a threshold for measurement, but that does not seem to work either. Spectral leakage seems to make the detection quite hard despite using a window function.
I hope someone here can recommend a method to locate impulsive noise in high frequencies that I may have overlooked.