AgentSkillsCN

echozero-demucs

在EchoZero中,运用Demucs音频源分离技术。在开发SeparatorBlock、Demucs模型、音频源分离功能时使用,或在用户询问关于音轨分离、Demucs集成,以及SeparatorBlock的使用时使用。

SKILL.md
--- frontmatter
name: echozero-demucs
description: Demucs audio source separation in EchoZero. Use when working on SeparatorBlock, Demucs models, audio source separation, or when the user asks about stem separation, Demucs integration, or SeparatorBlock.

Demucs Domain

What Demucs Does

Separates mixed audio into stems (vocals, drums, bass, other) using deep learning.

Integration

  • Version: demucs 4.0.0
  • Approach: CLI subprocess wrapper in SeparatorBlockProcessor (thin adapter)
  • Models: htdemucs, htdemucs_ft, htdemucs_6s, mdx_extra, mdx_extra_q
  • Device: CPU or CUDA GPU (MPS not supported)

Key Characteristics

  • External dependency: users install via pip
  • Model downloads: automatic on first use (~1GB)
  • Processing: offline, batch-based
  • 30-50x faster on GPU; significant RAM required

Philosophy

  • Defer to experts: use Demucs for separation, don't reinvent
  • Simple wrapper: thin adapter, not deep integration
  • User control: expose key options, keep defaults simple
  • Clear errors: explain why and how to fix when Demucs fails
  • No magic: subprocess with visible output

Common Decision Points

ProposalGuidance
Add new modelYes if officially supported, different use case
Expose more optionsYes if clear user value, stable in Demucs API
Embed as libraryNo - CLI approach is simpler
Custom separationNo - complex ML, Demucs is state-of-the-art

Reference

  • Overview: AgentAssets/modules/domains/demucs/DEMUCS_OVERVIEW.md
  • Implementation: AgentAssets/modules/domains/demucs/CURRENT_IMPLEMENTATION.md
  • Block: src/application/blocks/separator_block.py