AIREITER

Demucs Stem Separation in 2026: Models, Flags, Real Costs

Last Updated: 2026-09-25 01:41:14

The original facebookresearch/demucs repository has been read-only since January 1, 2025. Demucs stem separation is still one of the strongest free options you can run on your own machine, provided you install it from the fork that shipped v4.1.0 and accept that guitar and piano are where it gives up first.

Start From the Maintained Demucs Repo, Not the Archived One

Two GitHub repositories carry the same README, and only one of them still receives fixes. facebookresearch/demucs is archived and read-only, and its own README points elsewhere. The maintained home is adefossez/demucs, where author Alexandre Défossez writes that this is "the officially maintained Demucs now that I have left Meta to join Kyutai," with the caveat to "expect slow replies and no new feature for now."

That distinction changes the install commands, not the URL alone.

What v4.1.0 changed

The release notes entry dated 11/07/2026 lists Demucs v4.1.0 with "modernized packaging, lighter inference dependencies, numerous fixes, and pretrained models hosted on Hugging Face." Practical consequences:

ItemArchived repoMaintained repo (v4.1.0)
Minimum Python3.83.10
Quickest runpip install -U demucsuvx demucs MY_TRACK.mp3 (no install step)
Permanent installpip install -U demucsuv tool install demucs (pip still works)
ffmpegRequiredOptional, needed for FLAC output and formats sphn cannot decode
Quantized modelsIncludedNeed the extra: uvx "demucs[quantized]" -n mdx_q MY_TRACK.mp3
Weights hostingdl.fbaipublicfiles.comHugging Face

One trap worth knowing before you file a bug: PyTorch dropped Intel Mac support after version 2.2, which caps you at Python 3.12, so Intel Mac users are told to run uvx --python 3.12 demucs.

Picking a Model: htdemucs, htdemucs_ft, htdemucs_6s, mdx

The -n flag selects the model, and the default is not always the right pick. Demucs ships four-source models (drums, bass, other, vocals), one six-source experiment, and the older MDX challenge models.

ModelSourcesSpeedOfficial caveatPick it when
htdemucs4Baseline (default)none statedFirst pass, batch work, anything where throughput matters
htdemucs_ft4~4× slower"might be a bit better"Final renders of a track you care about
htdemucs_6s6Between the twoGuitar "okay"; piano "not working great", with "a lot of bleeding and artifacts"You specifically need a guitar stem and can tolerate mess
hdemucs_mmi4Baselinev3 architecture, retrainedA/B when v4 sounds wrong on a specific mix
mdx / mdx_extra4Baselinemdx_extra was trained on data including the MUSDB test setOlder material, or when v4 artifacts annoy you
mdx_q / mdx_extra_q4Fastest, smallest"quality can be slightly worse"Low-storage machines, quick previews

Note the hedge on htdemucs_ft: four times the compute for a quality gain the author himself only describes as possible. On CPU that penalty is brutal, and users say so out loud.

What the 9.00 and 9.20 dB SDR figures actually measure

Both numbers appear in the same README paragraph and they are not interchangeable. Hybrid Transformer Demucs reaches 9.00 dB SDR on the MUSDB HQ test set. The higher 9.20 dB result requires sparse attention kernels plus per-source fine-tuning, and that sparse model "is not provided as it requires custom CUDA code that is not ready for release yet."

So no model you can download reproduces 9.20 dB. In the README's own comparison table, the shipped fine-tuned v4 entry sits at 9.0 overall SDR, tied with Band-Split RNN trained on 1.7k mixes.

Bar chart comparing overall SDR on MUSDB for Wave-U-Net, Open-Unmix, Conv-Tasnet, Spleeter, Demucs v2, KUIELAB-MDX-Net, Hybrid Demucs v3 and HT Demucs fine-tuned v4

In the same table, Spleeter sits at 5.9 dB despite training on 25k songs, a gap of roughly 3 dB against the fine-tuned v4 entry.

The Flags That Change the Output

Most Demucs runs need three decisions: how many stems, how much compute to spend, and what format to write.

  1. --two-stems=vocals gives karaoke mode, producing vocals.wav and no_vocals.wav. It separates the full mix first and mixes down afterwards, so it is neither faster nor lighter on memory than a normal run.
  2. --shifts=N averages N predictions on randomly shifted input. It makes prediction N times slower; the README's advice is "don't use it unless you have a GPU." The paper used 10 shifts; Replicate's hosted default is 1.
  3. --overlap sits at 0.25 by default, reducible to 0.1 for a small speed win.
  4. --segment N is the OOM lever, and here is the detail that quietly breaks copied commands: Hybrid Transformer models support a maximum segment length of 7.8 seconds, so a long --segment value only does something for the non-HT models.
  5. Output flags are --mp3 (320 kbps default), --flac (needs ffmpeg), --int24 and --float32. Default output is int16 WAV at 44.1 kHz in separated/MODEL_NAME/TRACK_NAME.
  6. --clip-mode matters more than it looks: Demucs rescales stems to avoid clipping by default, which can break the relative volume between stems, while clamp hard-limits instead.

Hardware expectations from the same doc: at least 3 GB of GPU RAM, about 7 GB with default arguments, and --segment 8 plus PYTORCH_NO_CUDA_MEMORY_CACHING=1 if you are down at 3 GB or less. On CPU, "processing time should be roughly equal to 1.5 times the duration of the track." That is an optimistic figure next to what people report with htdemucs_ft.

Where Demucs Bleeds, and the Two-Pass Fix Users Run

Bleed is the complaint that shows up over and over, and it is loudest on vocals sharing a register with a lead instrument. Ryan Herr (@rrherr) put it bluntly after an extraction attempt:

demucs let a lot of sax bleed into the 'vocals' track.

The workaround experienced users converge on is not a flag. It is a second model. Japanese producer 夜凪P (@yonagip, 145 likes) describes running a MelBand Roformer pass in UVR5 first to split vocals from the instrumental, then feeding only the instrumental to htdemucs_ft for drums, bass and other:

Demucs単体だとVoが他に漏れるんだけど (with Demucs alone, the vocals leak into the other stems)

Two more user reports point the same way: one producer measures better bass definition from htdemucs_ft but calls CPU processing four times slower (@hachi_vm), and another posts a guitar-extraction comparison where htdemucs-6s loses visibly to a BS-RoFormer model (@junon_12). These are anecdotal reports, not benchmarks, but they match the official line: when Défossez announced the six-source model in December 2022, he wrote that he observed "some bleeding + artifacts."

Practical rule: if the source has a saxophone, a lead guitar, or a piano doing melodic work, expect one pass of Demucs to be a starting point rather than a deliverable. Roformer-class alternatives are reachable through the UVR5 interface if you need that second pass.

Calling Demucs as an API Instead of Installing It

If you want stems without a Python environment, a widely used hosted build is cjwbw/demucs on Replicate: roughly 1.5 million runs on Nvidia T4 hardware, with the page's own estimate at about $0.020 per run (~50 runs per dollar) and predictions typically completing inside 90 seconds.

Replicate model page for cjwbw/demucs showing the input form, hardware and run count

The input schema mirrors the CLI: model_name (default htdemucs), stem, shifts (default 1), overlap (0.25), clip_mode (rescale), mp3_bitrate (320), float32, output_format (mp3).

One caveat the page will not flag for you: its latest version dates back roughly three years, and a hosted endpoint pins a snapshot. You are calling that build, not the v4.1.0 packaging and dependency work from July 2026. Runtime also swings more than the headline number suggests, with one public example prediction on that same model taking 6 minutes 18 seconds.

What a 4-Minute Track Actually Costs

The number that decides your workflow is cost per track, and it depends on a billing detail most people meet after subscribing.

LALAL.AI computes usage as file length × number of selected stem-separation types. A 4-minute song split into four stems therefore consumes 16 minutes, not 4.

LALAL.AI pricing page showing Starter, Lite and Pro plan columns

The same pricing page lists one-time top-ups (checked September 25, 2026): $50 for 750 Fast Queue minutes, $190 for 3,000, and $300 for 5,000. At those rates a 4-stem split of a 4-minute song lands between $0.96 and $1.07.

Bar chart of cost per 4-minute four-stem track: local Demucs, Replicate cjwbw/demucs at 0.02 USD, LALAL.AI top-up tiers between 0.96 and 1.07 USD

Read that chart with one correction in mind: those LALAL.AI figures are the price of priority processing. Paid plans include unlimited Relaxed Queue minutes, and the company states both queues "deliver identical separation quality." The Fast Queue only buys a shorter wait.

PlanPriceIncludedNotable limits
LALAL.AI StarterFree10 Relaxed Queue minutes200 MB upload cap
LALAL.AI Lite€6.75/mo, €81 billed annuallyUnlimited Relaxed, 90 Fast minutesNo batch, VST or API; minutes do not roll over
LALAL.AI Pro€13.50/mo, €162 billed annuallyUnlimited Relaxed, 250 Fast minutesOnly tier with API access, VST plugin and batch processing
MoisesNot published publiclyFree tier with limited monthly uploadsPricing table sits behind login; claims 27 stem types
Replicate cjwbw/demucs~$0.020/runT4, usually under 90 sVersion pinned ~3 years back
Local DemucsFree (MIT licence)Unlimited, offlineYour GPU time and setup effort

Ninety Fast Queue minutes on the Lite plan covers about five 4-stem tracks per month before you drop to the relaxed queue. If you process more than a handful of songs a week, the arithmetic stops favouring per-minute billing quickly, which is exactly the volume threshold where installing Demucs pays for its setup afternoon.

Which Path Fits Which Job

Your situationBest pathWhy
Occasional splits, no GPU, no terminalLALAL.AI Starter, then Lite10 free minutes tests quality before any spend
Learning songs, mobile-first practiceMoises27 stem types plus tempo and chord tooling; check price after login
High volume, own GPUuvx demucs with htdemucsZero marginal cost, unlimited runs, nothing leaves your machine
One important final renderhtdemucs_ft, --shifts 2 on GPUBuys the last fraction of quality at 4× compute
Need a guitar stemhtdemucs_6s first, then compare a Roformer-class model in UVR5Official docs concede bleeding on the 6-source model
Unreleased or NDA materialLocal Demucs onlyNo upload, MIT licence, offline processing
App backend, no ops budgetReplicate cjwbw/demucs~$0.020/run, and no GPU infrastructure to manage

Demucs Stem Separation FAQ

Which Demucs model gives the best vocals?

htdemucs_ft is the strongest shipped four-source model for vocals, at roughly four times the processing time of htdemucs. For difficult mixes, users report better results from a two-pass chain: a Roformer-class vocal split first, then Demucs for the instrumental breakdown.

Can Demucs separate guitar and piano?

Only through htdemucs_6s. The official README calls guitar quality "okay" in quick testing, and says the piano source is "not working great," with "a lot of bleeding and artifacts."

Do I need an NVIDIA GPU to run Demucs?

No. CPU works with -d cpu, and the docs estimate processing at about 1.5× track duration. Apple Silicon users can pass -d mps. GPU acceleration needs at least 3 GB of VRAM, around 7 GB with default arguments.

Why don't the separated stems recombine into the original mix?

Demucs rescales each stem to prevent clipping caused by separation artifacts, which can break relative volumes between stems. Use --clip-mode clamp for hard clipping instead, or lower the input mixture's volume before processing.

Where does Demucs save the stems?

In separated/MODEL_NAME/TRACK_NAME/, as stereo WAV files at 44.1 kHz encoded as int16: drums.wav, bass.wav, other.wav and vocals.wav, unless you request MP3, FLAC, int24 or float32 output.

How do I fix a CUDA out-of-memory error?

Lower --segment (8 is the documented floor for 3 GB cards), set PYTORCH_NO_CUDA_MEMORY_CACHING=1, or fall back to -d cpu. Remember that Hybrid Transformer models cap segment length at 7.8 seconds, so raising the value above that has no effect on them.