Audio Separation of .wav signal 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 :)
If you are using Matlab, the plots looks like Matlab, you can use indexing directly to get a threshold value:

% 'time' is the time series
% 'signal' is the signal itself
idx = signal &gt; 0.2;
plot(time(idx), signal(idx));


You are not clear on what you're trying to achieve, but there could be some information found in the frequency spectrum, so that you could do for example a fourier transform on the signal.