# demucs Source separation demos using [Demucs](https://github.com/facebookresearch/demucs) — splitting audio into stems (vocals, drums, bass, other). ## Demo run Ran two-stem separation (vocals vs. everything else) on an RTX 3090 against `media-files/audio/service-mbrs-ntscrm-01840194-01840194.m4a`: ``` python3 -m demucs --two-stems=vocals -n htdemucs \ -o separated \ ../media-files/audio/service-mbrs-ntscrm-01840194-01840194.m4a ``` Took ~12s for 11 minutes of audio. Outputs `vocals.wav` and `no_vocals.wav` (44.1kHz stereo PCM, duration matches source) under `separated/htdemucs//` — gitignored, left on the GPU box at `/root/projects/audio-demo/repo/demucs/separated/`. Full-length MP3 versions (128kbps, ~10MB each) are committed as `vocals.mp3` and `no_vocals.mp3` in this directory so both stems are reviewable directly from Gitea without needing local playback or GPU-box access. **Known gotcha:** demucs 4.1.0's package metadata doesn't declare `numpy` as a dependency even though `demucs/transformer.py` imports it directly — `pip install demucs` alone leaves the env broken (`ModuleNotFoundError: No module named 'numpy'` at runtime). Install `numpy` explicitly alongside it. The isolated `vocals.wav` is intended as the clean reference/source audio for a voice-cloning TTS step (see top-level README for the planned audio-translation pipeline).