This question already has an answer here:
What I am attempting to do is take a signal (.wav audio file) which contains calls from different Bat species. Here is a graph representation of the signal:
What I have done so far is:
1) Emphasise the signal
2) Compress the signal
This is the output I got plotted:
I need to remove the signals that do not warrent consideration. At the moment, the signal is in a 1D representation, and, after the Separation has been completed the signal will be a 2D representation containing JUST the calls, thus I can perform analysis on each of the calls.
This is my suggested methodology to do this:
1) Split the signal into blocks of: 256x100 (so they overlap)
2) Calculate the RMS (Root-mean-square) of each of the blocks
3) Compare (2) to a threshold value, and, if the block warrants consideration then this can be classed as a call.
But the problem is this:
1) Will splitting the signal into blocks of 256x100 go over the calls and thus making some of the calls lost when calculating the RMS?
2) How do I therefore pick a suitable threshold value? Would finding the peaks in the signal be an accurate assumption for this?
I hope someone can help me :)