I'm looking for a way to implement a Speech Separation from a .wav file. Let's say I have a .wav signal containing the following words:

"The cat flew away"

Now I don't really want to do the speech separation after I've split the signal inside blocks of size NxM because I feel as though I could miss parts of the word.

I have thought about the following algorithm:

1) When the wave signal is being processed, I process the signal and remove any signals that do not warrant consideration

2) When the signal starts to increase, we can therefore infer that this is a word and this get's counted. When the signal begins to decrease, stop counting as this could be white-noise.

The algorithm above would therefore infer that there is three words and then I can perform all of the actions needed on the signal..

Do you think this is an appropriate algorithm OR could anyone recommend any papers etc.. Which would enable me to do this?


Assume that I have a signal that contains "calls" from different bats. These signals have been recorded. What I basically need to do isolate the different bat calls from a signal. So, I would have the following:

-> Bat1 -> Bat2 -> Bat3, ....

So, it would work like speech segmentation. But, instead of segmenting for words, I would segment for Bat calls. Because, from what I believe, each "bat call" will be of a different or similar frequency. So therefore, would it be possible to some how "split the signal into blocks" and then calculate the frequency of the block, see if this matches with the frequency vector, and, if it does.. Keep it, otherwise remove it?

  • 1
    $\begingroup$ Are you talking about separation (isolating speech from another signal added to it) or segmentation (breaking down a speech signal into words)? $\endgroup$ Commented Sep 10, 2013 at 18:53
  • $\begingroup$ @pichenettes Thank you very much for your reply. I appreciate your input. Please see my updated post ^^ which should explain a little bit more. I mean segmentation and not separation. Thanks $\endgroup$
    – Phorce
    Commented Sep 10, 2013 at 19:01
  • $\begingroup$ Do bat calls vary in frequency content across individuals, the way that human speech varies across speakers (different fundamental frequencies, harmonics, prosody) ? $\endgroup$
    – lmjohns3
    Commented Sep 12, 2013 at 15:12

1 Answer 1


I can advice this ones : http://www.cse.ohio-state.edu/pnl/software.html There are papers and codes.

Speech seperation is not an easy issue I advice you read some books before. This book which you can check its examples in the book is helping me much: http://auditoryneuroscience.com/

The thing you said when the signal start can be one feature ,but Speech sounds change constantly in a manner that is fast, but not too fast, and somewhat unpredictable yet not entirely irregular. What I mean you will get false negatives with only this feature.

There are other things like periodicity, amplitude, pitch etc... I think trying draw a spectrogram of speech and examining it is the best start.

  • $\begingroup$ Thanks for the reply. I meant speech segmentation, over separation. My apologies. $\endgroup$
    – Phorce
    Commented Sep 10, 2013 at 19:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.