Stem Separation
Split a track or a file into vocals, drums, bass and other on your computer, with a model you download once.
On this page1 tool
separate_stemsSplit `track` or an audio file (`path`) into vocals, drums, bass and other stems with Demucs, on this computer. It writes four WAV files and returns their paths; the session is not changed, so `load` a stem to put it on a track. The audio never leaves the computer, and the tool never downloads the stem model. A file with more than two channels is separated from its first two, so downmix surround audio to stereo first. The user can cancel.
Example prompt: separate the stems on track 1
Returns: model, cached, duration_sec, sample_rate, channels, stems (the paths of vocals, drums, bass and other), summary
Plan first holds it for approval: a run writes about 40 MB for each minute of stereo at 44.1 kHz, more at higher rates. It takes about half the audio's length on the CPU and needs about 4 GB of free memory. The stems are 16-bit, at the audio's rate and length, and are estimates: each carries a little of the others. They are kept in the project's stem cache (up to about 1 GB, oldest-used first, though the newest set stays even when it alone is larger), so the same audio again is instant while its stems are still there. If the stem model or the ONNX Runtime library is missing, the result says so. The user downloads the stem model in Settings → Account. Only htdemucs is a recognised model id.