vocals.mp3 (narrator only) and no_vocals.mp3 (background/instrumental only), 128kbps MP3, so both are viewable/playable directly in Gitea without needing local playback or GPU-box access. Co-Authored-By: Claude Sonnet 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01Y1oQ4h4WE4R9KRvMQLr5Ey
demucs
Source separation demos using 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/<track-name>/ — 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).