Files
steve-adminandClaude Sonnet 5 79691b81c6 Add demucs stem-separation demo; sketch audio-translation pipeline
Two-stem separation (vocals/instrumental) run on RTX 3090 against the
shared sample clip. Isolated vocals.wav is meant as the clean voice
reference for a future voice-cloning TTS step.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Y1oQ4h4WE4R9KRvMQLr5Ey
2026-09-12 16:56:25 +00:00

1.1 KiB

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

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