
Demucs
Splits a song into separate tracks such as vocals, drums, bass and other instruments.
- Stars
- 10.4k
- Forks
- 1.7k
- Licence
- MIT
- Language
- Python
- Last update
- 2.5 years ago
- Type
- AI model / agent
This repository is archived and no longer maintained.
What it is
Demucs is a music source separation model that takes a finished song and splits it into stems, currently drums, bass, vocals and the remaining accompaniment. People use it to make karaoke tracks, isolate parts for remixing or practice, or study how a song is built. The README describes v4 as a Hybrid Transformer model, and it is installed as a Python package.
- Separate a song into drums, bass, vocals and other stems using the command line
- Create a karaoke-style two-stem output (vocals versus the rest) using the documented split option
- Run the 6-source experimental model to get separate guitar and piano stems, with the caveats the README gives
- Train or evaluate models by following the README's machine learning setup with conda or pip -e
Great for
- Musicians who want to isolate vocals or drums from a song for practice or remixing
- Hobbyists making karaoke or instrumental versions of tracks
- Students and researchers studying music source separation with a published baseline
- Developers who want a pretrained separation model they can call from Python
Not ideal for
- Anyone needing a maintained project: the README says the repository is no longer maintained and the author points to a fork, so only important bug fixes are expected there
- Users who need the sparse Hybrid Transformer model from the paper, since the README says it is not released
- Users wanting guaranteed quality for the piano stem, which the README says shows a lot of bleeding and artifacts
How to get it
- 1
Install with a package manager
You'll need: Python 3.8 or newer
Install Demucs from PyPI
python3 -m pip install -U demucs - 2
Run it
- Install Demucs with the pip command above
- Pick a song file (WAV, MP3 or similar format the tool accepts)
- Run demucs on the file from the command line to produce separated stems
- Use -n htdemucs_ft to select the fine-tuned Hybrid Transformer model if you want it
- 3
Get the most out of it
- Use the -n option to choose between htdemucs_ft, htdemucs and hdemucs_mmi models
- Use the two-stem split mode described in the 2022 release notes for karaoke tracks
- Check the OS-specific docs for Windows, macOS or Linux before reporting issues
- Consider the Docker image mentioned in the README if you want a consistent environment
Downloads
Strengths
- The README reports strong benchmark results, including 9.00 dB SDR for the non-fine-tuned Hybrid Transformer model on MUSDB HQ
- Simple install path via pip for people who only want to separate tracks
- Includes training code, paper-linked configurations and OS-specific setup guides
Trade-offs
- The repository is archived and no longer maintained by its original author, with only important bug fixes going to the fork
- Some features are experimental; the README notes weaker quality for the piano source and that the sparse model is not released
- Setup can be involved, requiring Python 3.8+ and sometimes extra tools such as soundstretch for training augmentation
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| demucs (this) | 10.4k | AI model / agent | beginner | 2.5 years ago | Musicians who want to isolate vocals or drums from a song for practice or remixing |
| spleeter | 28.5k | Library | intermediate | 8 days ago | Musicians or producers who want quick vocal or accompaniment separation from a song |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.