I want to achieve something like this https://soundcloud.com/user7421656/sonicworx-isolate-preview .

I've researched it and a few papers mention the use of "descriptors" on the audio and use thresholds on the descriptors to determine singing sources. But before I dive in and go hard out on how these people achieved it, I wanted to make sure it's the best way to achieve an effect similar to the above link.

What's an effective method to achieving singing source separation?

  • 1
    $\begingroup$ related: dsp.stackexchange.com/questions/1499/… $\endgroup$ – niaren May 30 '13 at 6:44
  • $\begingroup$ Yes I've already been there. "Some recent developments in voice separation worth exploring" I will explore them. $\endgroup$ – user1530335 May 30 '13 at 9:28
  • $\begingroup$ Independent components analysis might work, depending on how the original was mixed $\endgroup$ – endolith May 30 '13 at 14:35
  • $\begingroup$ I doubt ICA will work, at best we only have 2 signals (left and right stereo outputs). $\endgroup$ – rwolst May 30 '13 at 17:14

The example sounds like pitch tracking combined with comb filtering. Using method like this could be implemented by "drawing" as well, as in SPEAR analysis and re-synthesis program.

If the vocal is in the middle and other instruments are not, then you can also try center channel isolation:


The methods however, sound horrible in addition to being inaccurate and full of artifacts. Better solution to the problem would be a program that could effectively guess which part of the signal belongs to the voice and which doesn't. Much more difficult for sure though.


Flexible Audio Source Separation Toolbox is available in Python, C++ and Matlab and it has demonstration files here:



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.