

Demucs is open source en oorspronkelijk ontwikkeld door onderzoekers van Meta/Facebook Research.
Github: https://github.com/facebookresearch/demucs
Wat is Demucs? #
Demucs is een geavanceerd AI-model dat complete muzieknummers automatisch kan opsplitsen in losse onderdelen, ook wel stems genoemd.
Denk bijvoorbeeld aan:
- zang (vocals)
- drums
- bas
- piano
- gitaar
- overige instrumenten
Waar vroeger dure studio-software en handmatig werk nodig waren, kan Demucs dit volledig automatisch doen met behulp van kunstmatige intelligentie.
Hoe werkt het? #
Een normaal muziekbestand zoals een MP3 bevat alle geluiden samengevoegd tot één stereospoor.
Demucs analyseert het volledige audiosignaal en probeert vervolgens te bepalen:
- welke frequenties bij elkaar horen
- welke geluiden waarschijnlijk drums zijn
- welke patronen zang vormen
- welke tonen bij een baslijn horen
- enzovoort
Het model is getraind op enorme hoeveelheden muziek en leert daardoor instrumenten en patronen herkennen.
Waarom is Demucs bijzonder? #
Demucs gebruikt niet alleen een spectrogram-analyse zoals veel oudere systemen deden.
De moderne versies gebruiken een combinatie van:
- waveform analyse
- spectrogram analyse
- Transformer-netwerken
- deep learning
- hybride AI architecturen
Hierdoor zijn de resultaten vaak verrassend goed.
Zelfs complexe muziek met:
- galm
- overlappingen
- meerdere instrumenten
- drukke mixen
kan redelijk goed gescheiden worden.
Typische output #
Een nummer zoals:
song.mp3
kan automatisch worden opgesplitst naar:
vocals.wav
drums.wav
bass.wav
other.wav
Of bij uitgebreidere modellen zelfs:
vocals.wav
drums.wav
bass.wav
guitar.wav
piano.wav
other.wav
Waarom gebruiken mensen Demucs? #
Muzikanten
- karaoke tracks maken
- remixes maken
- instrumenten isoleren
- muziek analyseren
DJ’s & producers
- live remixes
- mashups
- stems voor optredens
Developers & AI projecten
- muziekdetectie
- beat analyse
- MIDI extractie
- visualisaties
- lichtshows
- automatische synchronisatie
Draait Demucs op GPU? #
Ja, demucs draait op:
- CPU
- NVIDIA CUDA GPU’s
- PyTorch
Het model is gebouwd op PyTorch.
Een GPU versnelt het proces enorm, maar CPU-only gebruik is ook prima mogelijk voor offline analyse.
| Backend | Ondersteund |
|---|---|
| CUDA (NVIDIA) | ✅ |
| CPU | ✅ |
| ROCm AMD | ⚠️ theoretisch |
| DirectML | ❌ |
| Metal Mac | ⚠️ |
| ONNX | ❌ standaard |
Demucs installeren (WSL) #
WSL #
Tip: Voor de beste compatibiliteit op Windows wordt WSL2 aanbevolen, vooral bij moderne AI/Python pakketten.
Handleiding WSL2: https://domoticx.net/docs/windows-subsystem-voor-windows-wsl2/
VENV #
Tip: Maak een venv aan om compatibiliteitsproblemen met packages te voorkomen
Ga naar je home folder:
cd ~/
Maak de VENV:
python3 -m venv demucs_env
Activeer de VENV:
source demucs_env/bin/activate
Installeren van demucs #
Eenmaal in de VENV, installeer deze packages met de PIP manager:
pip install demucs torchcodec sounddevice soundfile pydub
Voorbeeld output:
...
Successfully built demucs julius dora-search antlr4-python3-runtime
Installing collected packages: torchaudio, pydub, nvidia-cusparselt-cu13, mpmath, lameenc, cuda-toolkit, antlr4-python3-runtime, typing-extensions, triton, treetable, tqdm, torchcodec, sympy, setuptools, retrying, pyyaml, pycparser, nvidia-nvtx, nvidia-nvshmem-cu13, nvidia-nvjitlink, nvidia-nccl-cu13, nvidia-curand, nvidia-cufile, nvidia-cuda-runtime, nvidia-cuda-nvrtc, nvidia-cuda-cupti, numpy, networkx, MarkupSafe, fsspec, filelock, einops, cuda-pathfinder, cloudpickle, submitit, omegaconf, nvidia-cusparse, nvidia-cufft, nvidia-cublas, jinja2, cuda-bindings, cffi, soundfile, sounddevice, nvidia-cusolver, nvidia-cudnn-cu13, torch, openunmix, julius, dora-search, demucs
Successfully installed MarkupSafe-3.0.3 antlr4-python3-runtime-4.9.3 cffi-2.0.0 cloudpickle-3.1.2 cuda-bindings-13.2.0 cuda-pathfinder-1.5.4 cuda-toolkit-13.0.2 demucs-4.0.1 dora-search-0.1.12 einops-0.8.2 filelock-3.29.0 fsspec-2026.4.0 jinja2-3.1.6 julius-0.2.7 lameenc-1.8.2 mpmath-1.3.0 networkx-3.6.1 numpy-2.4.4 nvidia-cublas-13.1.1.3 nvidia-cuda-cupti-13.0.85 nvidia-cuda-nvrtc-13.0.88 nvidia-cuda-runtime-13.0.96 nvidia-cudnn-cu13-9.20.0.48 nvidia-cufft-12.0.0.61 nvidia-cufile-1.15.1.6 nvidia-curand-10.4.0.35 nvidia-cusolver-12.0.4.66 nvidia-cusparse-12.6.3.3 nvidia-cusparselt-cu13-0.8.1 nvidia-nccl-cu13-2.29.7 nvidia-nvjitlink-13.0.88 nvidia-nvshmem-cu13-3.4.5 nvidia-nvtx-13.0.85 omegaconf-2.3.0 openunmix-1.3.0 pycparser-3.0 pydub-0.25.1 pyyaml-6.0.3 retrying-1.4.2 setuptools-81.0.0 sounddevice-0.5.5 soundfile-0.13.1 submitit-1.5.4 sympy-1.14.0 torch-2.12.0 torchaudio-2.11.0 torchcodec-0.11.1 tqdm-4.67.3 treetable-0.2.6 triton-3.7.0 typing-extensions-4.15.0
Ps na de installatie is de VENV ca. 5-6 GB groot geworden, houd hier rekening mee ivm voldoende schijfruimte.
Demucs gebruiken #
Bestand splijten / stems maken #
Plaats een mp3 bestand bijvoorbeeld test.mp3 in de folder en voer het volgende commando uit:
demucs test.mp3
Voorbeeld output (1e run):
Important: the default model was recently changed to `htdemucs` the latest Hybrid Transformer Demucs model. In some cases, this model can actually perform worse than previous models. To get back the old default model use `-n mdx_extra_q`.
Downloading: "https://dl.fbaipublicfiles.com/demucs/hybrid_transformer/955717e8-8726e21a.th" to /home/username/.cache/torch/hub/checkpoints/955717e8-8726e21a.th
100%|████████████████████████████████████████████████████████████████████████████████████████████████| 80.2M/80.2M [00:03<00:00, 24.9MB/s]
Selected model is a bag of 1 models. You will see that many progress bars per track.
Separated tracks will be stored in /home/username/separated/htdemucs
Separating track test.mp3
100%|████████████████████████████████████████████████████████████████████████| 292.5/292.5 [00:43<00:00, 6.69seconds/s]
/home/orka2/demucs_env/lib/python3.12/site-packages/torchaudio/__init__.py:178: UserWarning: The 'encoding' parameter is not fully supported by TorchCodec AudioEncoder.
return save_with_torchcodec(
/home/orka2/demucs_env/lib/python3.12/site-packages/torchaudio/__init__.py:178: UserWarning: The 'bits_per_sample' parameter is not directly supported by TorchCodec AudioEncoder.
return save_with_torchcodec(
(demucs_env)
Je ziet dat het “standaard” model ook meteen gedownload wordt:
https://dl.fbaipublicfiles.com/demucs/hybrid_transformer/955717e8-8726e21a.th
naar:
/home/username/.cache/torch/hub/checkpoints/955717e8-8726e21a.th
Op de CPU duurt het even, de bestanden worden neergezet in:
/separated/htdemucs/test/bass.wav
/separated/htdemucs/test/drums.wav
/separated/htdemucs/test/other.wav
/separated/htdemucs/test/vocals.wav
Demucs plaats bestanden standaard altijd in:
output/modelnaam/songnaam/
Wil je dat beperken of aanpassen gebruik dan de -o parameter:
demucs -o . test.mp3
Dan krijg je de output in:
./htdemucs/test/
Wil je ook MP3 output ipv wav geef dit op met de volgende parameters:
demucs --mp3 --mp3-bitrate 320 -o . test.mp3
Dan worden deze bestanden gegenereerd:
/htdemucs/test/bass.mp3
/htdemucs/test/drums.mp3
/htdemucs/test/other.mp3
/htdemucs/test/vocals.mp3
Beter getrained model gebruiken #
Gebruik het _ft (fine tuned) model voor een betere kwaliteit splitsing, het converteren duurt wel 4-8x langer:
demucs -n htdemucs_ft --mp3 --mp3-bitrate 320 -o . test.mp3
Voorbeeld output:
Downloading: "https://dl.fbaipublicfiles.com/demucs/hybrid_transformer/f7e0c4bc-ba3fe64a.th" to /home/username/.cache/torch/hub/checkpoints/f7e0c4bc-ba3fe64a.th
100%|████████████████████████████████████████████████████████████████████████████████████████████████| 80.2M/80.2M [00:03<00:00, 24.4MB/s]
Downloading: "https://dl.fbaipublicfiles.com/demucs/hybrid_transformer/d12395a8-e57c48e6.th" to /home/username/.cache/torch/hub/checkpoints/d12395a8-e57c48e6.th
100%|████████████████████████████████████████████████████████████████████████████████████████████████| 80.2M/80.2M [00:03<00:00, 24.4MB/s]
Downloading: "https://dl.fbaipublicfiles.com/demucs/hybrid_transformer/92cfc3b6-ef3bcb9c.th" to /home/username/.cache/torch/hub/checkpoints/92cfc3b6-ef3bcb9c.th
100%|████████████████████████████████████████████████████████████████████████████████████████████████| 80.2M/80.2M [00:03<00:00, 23.2MB/s]
Downloading: "https://dl.fbaipublicfiles.com/demucs/hybrid_transformer/04573f0d-f3cf25b2.th" to /home/username/.cache/torch/hub/checkpoints/04573f0d-f3cf25b2.th
100%|████████████████████████████████████████████████████████████████████████████████████████████████| 80.2M/80.2M [00:02<00:00, 35.4MB/s]
Selected model is a bag of 4 models. You will see that many progress bars per track.
Separated tracks will be stored in /home/username/htdemucs_ft
Separating track test.mp3
100%|████████████████████████████████████████████████████████████████████████| 292.5/292.5 [00:45<00:00, 6.48seconds/s]
100%|████████████████████████████████████████████████████████████████████████| 292.5/292.5 [00:44<00:00, 6.60seconds/s]
100%|████████████████████████████████████████████████████████████████████████| 292.5/292.5 [00:43<00:00, 6.76seconds/s]
100%|████████████████████████████████████████████████████████████████████████| 292.5/292.5 [00:43<00:00, 6.68seconds/s]
Er worden namelijk 4 demucs AI bestanden gedownload en deze worden 1-voor-1 losgelaten op het mp3 bestand:
Splijten naar meer stems #
Er is ook een _6s model dat 6 stems genereert, let er wel op dat de kwaliteit van de gegenereerde stems kan afnemen.
demucs -n htdemucs_6s --mp3 --mp3-bitrate 320 -o . test.mp3
Voorbeeld output:
Downloading: "https://dl.fbaipublicfiles.com/demucs/hybrid_transformer/5c90dfd2-34c22ccb.th" to /home/username/.cache/torch/hub/checkpoints/5c90dfd2-34c22ccb.th
100%|████████████████████████████████████████████████████████████████████████████████████████████████| 52.4M/52.4M [00:02<00:00, 24.5MB/s]
Selected model is a bag of 1 models. You will see that many progress bars per track.
Separated tracks will be stored in /home/username/htdemucs_6s
Separating track test.mp3
100%|████████████████████████████████████████████████████████████████████████| 292.5/292.5 [00:41<00:00, 6.98seconds/s]
Dit genereert de volgende bestanden:
/htdemucs/test/bass.mp3
/htdemucs/test/drums.mp3
/htdemucs/test/guitar.mp3
/htdemucs/test/other.mp3
/htdemucs/test/piano.mp3
/htdemucs/test/vocals.mp3

