I’m trying to figure out how to go about differentiating between a single-voice speech and a multiple-voice conversation in which voices overlap. In other words – the moment of overlap is what I’m interested in. I want to be able to listen to a vocal conversation between two people, and detect when voices collide/overlap.

I guess that spectrum-wise there’s a major difference between a speech-based conversation with no overlaps compared with a conversation with speech overlaps, so perhaps one direction to look at is detecting sudden spectral changes?

  • 1
    $\begingroup$ Sudden spectral changes is what speech is made up of, so that probably won't buy you anything. Think of the different spectra you would observe in the word "ask." The vowel sound will have a very different spectrum from the the "sk." $\endgroup$ – nispio Oct 30 '13 at 19:12

Most human vowels produces a series of harmonic spectral peaks that resolve to a single F0 pitch (plus some broad spectrum noise). If you can't fit a single F0 pitch to the series of the spectral peaks, then you might try testing the hypothesis that the spectrum resolves to 2 or more f0 pitches, which would imply more than one speaker talking with an overlap of vowel sounds in their words.

Detecting an overlap between a vowel and someone else's consonant, without lots of false positives, seems like it might be far more difficult.


Better idea would be to use LP(Linear Prediction) residual for determining the presence of overlap speech.

Spectrum might give confusing results, but LP residual has peaks at Glottal Closure Instance(GCI's) and every speaker have different/unique GCI period. So, if peaks in LP residual are at uniform interval it means only single speaker is present, and if there is non-uniformity in LP residual peaks it means the speech is overlapped.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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