Skip to content

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. 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. 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. 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

ProjectStarsTypeLevelUpdatedBest for
demucs (this)10.4kAI model / agentbeginner2.5 years agoMusicians who want to isolate vocals or drums from a song for practice or remixing
spleeter28.5kLibraryintermediate8 days agoMusicians 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.