What Demucs is
Demucs is an open-source music source-separation model developed by Alexandre Défossez and colleagues at Meta AI. Its fourth version, Hybrid Transformer Demucs, was presented by Simon Rouard, Francisco Massa and Alexandre Défossez in the paper “Hybrid Transformers for Music Source Separation” at ICASSP 2023. It reads a song both as a waveform and as a spectrogram, and a cross-domain transformer decides which sounds belong to the voice, the drums, the bass and everything else.
The model was trained on the MUSDB HQ dataset plus 800 extra songs and scores 9.0 dB SDR on the MUSDB HQ test set, a standard benchmark for separation quality. Demucs is released under the MIT license, which is why it shows up in desktop apps such as Ultimate Vocal Remover and on many websites, this one included. The original GitHub repository is no longer actively maintained, but the v4 models are still widely used for separating vocals.
What runs when you upload a file
Every upload goes through the same fixed settings, so results are consistent from song to song:
| Model | htdemucs (Hybrid Transformer Demucs v4, the Demucs default) |
|---|---|
| Mode | Two stems: vocals and no_vocals (the instrumental) |
| Output | Stereo MP3, 44.1 kHz, 128 kbps, same length as your file |
| Input | MP3, WAV or M4A, up to 6 minutes and 50 MB |
| Speed | Usually under a minute for a 3–4 minute song |
| Price | Free, 3 songs per day, no sign-up |
On the command line, that is roughly equivalent to:
demucs -n htdemucs --two-stems=vocals --mp3 --mp3-bitrate 128 song.mp3Uploads and results are deleted automatically after 1 hour and are never used to train AI models.
Demucs online or on your own computer?
The online version is the quickest way to get a clean vocal and instrumental from a song, on any device. Running Demucs yourself makes sense when you need something this page doesn't offer:
- More stems. Locally, Demucs splits a song into drums, bass, other and vocals, and the
htdemucs_6smodel adds piano and guitar. - Lossless output. The command line writes WAV files by default, or MP3 at up to 320 kbps.
- The fine-tuned model.
htdemucs_ftcan be slightly cleaner but takes about four times as long. - Long files and batches. There is no file-length limit, and you can pass many songs in one command.
How to run Demucs locally
You need Python 3. Install Demucs, which also pulls in PyTorch, then point it at a song:
python3 -m pip install -U demucs
demucs --two-stems=vocals song.mp3The results land in separated/htdemucs/song/ as vocals.wav and no_vocals.wav. Leave out --two-stems=vocals to get all four stems, and add -n htdemucs_ft for the fine-tuned model. With the default settings, a GPU needs about 7 GB of memory. Without a suitable GPU, Demucs runs on the CPU and takes roughly 1.5 times the length of the song; add -d cpu to force this if your GPU runs out of memory.
Getting the best results from Demucs
- Start from the best source you have. Demucs can't recover detail that a low-bitrate file has already thrown away.
- Reverb and delay on the voice are partly kept with the vocal, and their tails can leave a faint ghost in the instrumental.
- Voice-like instruments such as saxophone, violin or a synth lead can bleed into the vocals. A gentle EQ or noise gate usually fixes it.
- All voices stay together: lead, harmonies and backing vocals share one track.
Need the result for something specific? The instrumental maker and the karaoke maker cover the music side, and our guide to vocals for voice cloning explains how to turn the acapella into training audio.
A note on rights
Demucs being open source doesn't change who owns a song. Only upload music you own or have permission to use, and check your license before you publish anything you make from the separated tracks.