Music source separation splits a stereo mix into isolated stems (drums, bass, vocals, other)
Music source separation (also called stem separation or demixing) is the task of extracting individual instrument tracks — drums, bass, vocals, and the remaining accompaniment — from a finished stereo mix. The model receives one mixed audio file and outputs multiple single-source wav files. For a live coder or producer, this means any released track can become a personal sample bank: pull the isolated kick from a commercial track, grab a capella vocals, or extract a bass line and use it as material in your own sets. Demucs is the leading open-source implementation: demucs mytrack.mp3 produces drums.wav, bass.wav, vocals.wav, and other.wav in a local folder. The common misconception is that this undoes the mixing process; in practice it is probabilistic estimation — bleed and artefacts remain, especially on densely layered mixes.
Examples
# Install and run in one step:
pip install -U demucs
demucs mytrack.mp3
# Output lands in separated/htdemucs/mytrack/
For karaoke (vocals vs everything else): demucs --two-stems=vocals mytrack.mp3
Assessment
Given a 30-second pop song: (1) run Demucs and describe what artefacts you hear in the isolated vocal stem; (2) explain why the output is probabilistic rather than a perfect inverse of the mix.