---
title: "Demucs 로컬 설치: 무료 AI 스템 분리 설정 가이드"
date: "2026-01-11"
lastUpdated: "2026-01-24"
author: "StemSplit Team"
tags: ["Demucs", "AI", "머신 러닝", "스템 분리", "튜토리얼", "Meta AI", "htdemucs", "딥 러닝"]
excerpt: "무료 스템 분리를 위해 컴퓨터에 Demucs를 설치하는 단계별 가이드입니다. GPU 가속으로 로컬에서 보컬, 드럼 및 베이스를 추출합니다. 클라우드 필요 없음."
abstract: "Demucs는 오늘날 대부분의 전문 스템 분리 도구를 구동하는 AI 모델입니다 — StemSplit 포함. 이 가이드는 설치부터 아키텍처까지 커스텀 모델 훈련까지 모든 것을 다루며 호기심 많은 음악가와 ML 엔지니어 모두를 위해 작성되었습니다."
locale: "ko"
canonical: "https://stemsplit.io/ko/blog/demucs-local-setup-guide"
source: "stemsplit.io"
---

> **Source:** https://stemsplit.io/ko/blog/demucs-local-setup-guide  
> Originally published by [StemSplit](https://stemsplit.io). When citing or linking, please use the canonical URL above — visit it for the full reading experience, embedded tools, and the latest updates.

Demucs는 오늘날 대부분의 전문 스템 분리 도구를 구동하는 AI 모델입니다 — StemSplit 포함. 이 가이드는 설치부터 아키텍처까지 커스텀 모델 훈련까지 모든 것을 다루며 호기심 많은 음악가와 ML 엔지니어 모두를 위해 작성되었습니다.

**요약**: Demucs는 Meta AI의 하이브리드 트랜스포머 모델로 오디오를 보컬, 드럼, 베이스 및 기타 악기로 분리합니다. `pip install -U demucs`로 설치하고, `demucs your_song.mp3`로 실행하고, 몇 분 안에 스튜디오 품질의 스템을 받으세요. 최상의 결과를 위해 GPU 가속과 함께 `htdemucs_ft` 모델을 사용하세요.

---

## Demucs란?

Demucs (Deep Extractor for Music Sources)는 음악 소스 분리를 위해 [Meta AI Research](https://ai.meta.com/research/)에서 개발한 오픈 소스 AI 모델입니다. 혼합된 오디오 트랙을 가져와 분리된 스템을 출력합니다 — 일반적으로 보컬, 드럼, 베이스 및 "기타" (그 외 모든 것).

Demucs가 중요한 이유:

- **최첨단 품질**: MUSDB18-HQ 벤치마크에서 9.20 dB의 [SDR (Signal-to-Distortion Ratio)](https://en.wikipedia.org/wiki/Signal-to-distortion_ratio) 달성 — 이전 모델보다 높음
- **파형 기반 처리**: 스펙트로그램뿐만 아니라 원시 오디오에서 직접 작동하여 위상 정보 보존
- **오픈 소스**: [MIT 라이선스](https://opensource.org/licenses/MIT), 상업적 및 개인적 사용 무료
- **실전 테스트됨**: 대부분의 전문 스템 분리 서비스 구동

최신 버전인 Hybrid Transformer Demucs (HTDemucs)는 네 번째 주요 반복을 나타내며 시간 도메인과 주파수 도메인 처리의 장점을 결합합니다.

---

## 진화: v1 &rarr; v4

Demucs의 진화를 이해하면 왜 그렇게 잘 작동하는지 설명하는 데 도움이 됩니다.

### Demucs v1 (2019)

원래 Demucs는 파형에서 직접 작동하는 [U-Net 아키텍처](https://en.wikipedia.org/wiki/U-Net)를 도입했습니다 — 스펙트로그램 전용 방법에서 벗어남. 주요 혁신:

- 활성화를 위한 Gated Linear Units (GLUs)
- 인코더와 디코더 사이의 양방향 LSTM
- 인코더에서 디코더 레이어로의 스킵 연결

```
아키텍처: BiLSTM이 있는 순수 파형 U-Net
SDR: MUSDB18에서 ~6.3 dB
혁신: 첫 번째 경쟁력 있는 파형 전용 모델
```

### Demucs v2 (2020)

깊이 및 훈련 개선:

- 더 깊은 인코더/디코더 (6 레이어 &rarr; 7 레이어)
- 더 나은 가중치 초기화
- 데이터 증강 개선

```
SDR: MUSDB18에서 ~6.8 dB
혁신: 파형 모델이 스펙트로그램 방법과 경쟁할 수 있음을 입증
```

### Demucs v3 / Hybrid Demucs (2021)

돌파구: 스펙트로그램과 파형 처리 결합:

- 이중 U-Net 아키텍처 (시간 도메인용 하나, 주파수 도메인용 하나)
- 분기 간 공유 표현
- 병목에서 교차 도메인 융합

```
SDR: MUSDB18에서 ~7.5 dB
혁신: 양쪽의 장점 — 스펙트로그램 정밀도 + 파형 위상
```

### Demucs v4 / HTDemucs (2022-2023)

현재 최첨단, 트랜스포머 추가:

- 인코더와 디코더 모두에 트랜스포머 레이어
- 시간 및 스펙트럼 분기 간 교차 주의
- 장거리 종속성을 위한 자기 주의

```
SDR: MUSDB18-HQ에서 9.20 dB
혁신: 트랜스포머가 장거리 음악 구조 캡처
```

---

## 사용 가능한 모델 비교

Demucs는 여러 사전 훈련된 모델을 제공합니다. 비교 방법은 다음과 같습니다:

| 모델 | 스템 | SDR (보컬) | SDR (평균) | 속도 | VRAM | 최적 용도 |
|-------|-------|--------------|-----------|-------|------|----------|
| `htdemucs` | 4 | 8.99 dB | 7.66 dB | 빠름 | ~4GB | 일반 사용, 좋은 균형 |
| `htdemucs_ft` | 4 | **9.20 dB** | **7.93 dB** | 느림 | ~6GB | **최고 품질** |
| `htdemucs_6s` | 6 | 8.83 dB | N/A | 중간 | ~5GB | 기타/피아노 분리 |
| `mdx` | 4 | 8.5 dB | 7.2 dB | 빠름 | ~3GB | 낮은 VRAM 시스템 |
| `mdx_extra` | 4 | 8.7 dB | 7.4 dB | 중간 | ~4GB | mdx보다 나음 |
| `mdx_q` | 4 | 8.3 dB | 7.0 dB | 가장 빠름 | ~2GB | 빠른 미리보기 |

---

## 시스템 요구 사항

### 최소 요구 사항

| 구성 요소 | 최소 | 권장 |
|-----------|---------|-------------|
| CPU | 최신 x86_64 | 4+ 코어 |
| RAM | 8 GB | 16 GB |
| GPU | 없음 (CPU 작동) | NVIDIA 4GB+ VRAM |
| 저장소 | 2 GB | 5 GB (모델용) |
| Python | 3.8+ | 3.10+ |

### 처리 시간 추정

44.1kHz의 4분 스테레오 트랙의 경우:

| 하드웨어 | htdemucs | htdemucs_ft |
|----------|----------|-------------|
| NVIDIA RTX 4090 | ~30초 | ~60초 |
| NVIDIA RTX 3080 | ~45초 | ~90초 |
| NVIDIA RTX 3060 | ~90초 | ~180초 |
| Apple M1 Pro | ~120초 | ~240초 |
| Intel i7 (CPU) | ~8분 | ~15분 |
| Intel i5 (CPU) | ~15분 | ~25분 |

---

## 설치 가이드

### 옵션 1: pip (가장 간단)

트랙을 분리하고 싶은 대부분의 사용자를 위해:

```bash
# 가상 환경 만들기 (권장)
python3 -m venv demucs_env
source demucs_env/bin/activate  # Windows: demucs_env\Scripts\activate

# Demucs 설치
pip install -U demucs

# 설치 확인
demucs --help
```

### 옵션 2: Conda (GPU에 권장)

GPU 가속 및 ML 개발을 위해:

```bash
# 저장소 복제
git clone https://github.com/facebookresearch/demucs
cd demucs

# 환경 만들기 (하나 선택)
conda env update -f environment-cuda.yml  # NVIDIA GPU용
conda env update -f environment-cpu.yml   # CPU 전용

# 환경 활성화
conda activate demucs

# 개발 모드로 설치
pip install -e .

# GPU 감지 확인 (PyTorch: https://pytorch.org/)
python -c "import torch; print(f'CUDA available: {torch.cuda.is_available()}')"
```

### 플랫폼별 참고 사항

#### macOS (Intel)

```bash
# FFmpeg 설치 (필수)
# https://ffmpeg.org/download.html에서 다운로드
brew install ffmpeg
pip install -U demucs
```

#### macOS (Apple Silicon M1/M2/M3)

```bash
# FFmpeg (오디오 처리에 필수)
# 공식 사이트: https://ffmpeg.org/
brew install ffmpeg

# MPS 지원으로 설치 (Metal Performance Shaders)
pip install -U demucs

# MPS 사용 가능한지 확인
python -c "import torch; print(f'MPS available: {torch.backends.mps.is_available()}')"
```

Demucs 실행 시 `--device mps` 플래그 사용.

#### Windows

```bash
# Anaconda Prompt 사용:
conda install -c conda-forge ffmpeg
pip install -U demucs soundfile

# CUDA 메모리 문제 방지
set PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:128
```

#### Linux (Ubuntu/Debian)

```bash
# 시스템 종속성
# FFmpeg: https://ffmpeg.org/
sudo apt-get update
sudo apt-get install ffmpeg libsndfile1

# Demucs 설치
pip install -U demucs
```

---

## 기본 사용법

### 트랙 분리

가장 간단한 명령:

```bash
demucs song.mp3
```

### 일반적인 사용 사례

**보컬만 추출 (노래방 만들기):**

```bash
demucs --two-stems vocals song.mp3
```

출력: `vocals.wav` 및 `no_vocals.wav` (인스트루멘탈)

**인스트루멘탈만 추출:**

```bash
demucs --two-stems vocals song.mp3
# 그런 다음 no_vocals.wav 파일 사용
```

**여러 파일 처리:**

```bash
demucs song1.mp3 song2.mp3 song3.mp3
```

**WAV 대신 MP3로 출력:**

```bash
demucs --mp3 --mp3-bitrate 320 song.mp3
```

**최고 품질 모델 사용:**

```bash
demucs -n htdemucs_ft song.mp3
```

**출력 디렉토리 지정:**

```bash
demucs -o ./my_stems song.mp3
```

---

## 고급 명령줄 옵션

### 모델 선택

```bash
# 특정 모델 사용
demucs -n htdemucs_ft song.mp3     # 최고 품질
demucs -n htdemucs_6s song.mp3     # 6-스템 출력
demucs -n mdx_q song.mp3           # 가장 빠름/작음
```

### 장치 제어

```bash
# CPU 처리 강제
demucs -d cpu song.mp3

# 특정 GPU 사용
demucs -d cuda:0 song.mp3          # 첫 번째 GPU
demucs -d cuda:1 song.mp3          # 두 번째 GPU

# Apple Silicon
demucs -d mps song.mp3
```

### 품질 대 메모리 트레이드오프

```bash
# 세그먼트 길이 (초) - 낮을수록 = VRAM 적게, 품질 잠재적으로 나쁨
demucs --segment 10 song.mp3       # 매우 낮은 VRAM용
demucs --segment 40 song.mp3       # 대부분의 모델의 기본값

# 세그먼트 간 겹침 (0-0.99)
demucs --overlap 0.25 song.mp3     # 기본값

# 시프트 - 품질을 ~0.2 SDR 증가시키지만 느림
demucs --shifts 2 song.mp3         # 시간 시프트로 두 번 처리
demucs --shifts 5 song.mp3         # 더 많은 시프트 = 더 나은 품질, 느림
```

### 출력 형식

```bash
# WAV 옵션
demucs --int24 song.mp3            # 24비트 WAV 출력
demucs --float32 song.mp3          # 32비트 float WAV

# MP3 옵션
demucs --mp3 song.mp3              # 기본 비트레이트
demucs --mp3 --mp3-bitrate 320 song.mp3  # 고품질
demucs --mp3 --mp3-preset 2 song.mp3     # 최고 품질 프리셋

# 클리핑 방지
demucs --clip-mode rescale song.mp3      # 클리핑 방지를 위해 재조정
demucs --clip-mode clamp song.mp3        # 하드 리미트 (기본값)
```

### 완전한 예제

최대 품질, GPU 가속:

```bash
demucs \
  -n htdemucs_ft \
  -d cuda:0 \
  --shifts 2 \
  --overlap 0.25 \
  --float32 \
  --clip-mode rescale \
  -o ./output \
  song.mp3
```

---

## Python API 통합

애플리케이션에 Demucs 통합:

### 기본 프로그래밍 사용

```python
import demucs.separate

# 인수 목록 사용 (CLI처럼)
demucs.separate.main([
    "--mp3",
    "--two-stems", "vocals",
    "-n", "htdemucs",
    "song.mp3"
])
```

### Separator 클래스 사용

```python
from demucs.api import Separator
import torch

# 분리기 초기화
separator = Separator(
    model="htdemucs_ft",
    segment=40,
    shifts=2,
    device="cuda" if torch.cuda.is_available() else "cpu",
    progress=True
)

# 로드 및 분리
origin, separated = separator.separate_audio_file("song.mp3")

# `separated`는 텐서 값이 있는 dict입니다:
# separated["vocals"] -> torch.Tensor
# separated["drums"] -> torch.Tensor
# separated["bass"] -> torch.Tensor
# separated["other"] -> torch.Tensor

# 개별 스템 저장
from demucs.api import save_audio

for stem_name, stem_tensor in separated.items():
    save_audio(
        stem_tensor,
        f"output/{stem_name}.wav",
        samplerate=separator.samplerate,
        clip="rescale"
    )
```

---

## 문제 해결 일반적인 문제

### CUDA 메모리 부족

**오류:**
```
RuntimeError: CUDA out of memory. Tried to allocate X MiB
```

**해결 방법:**

```bash
# 더 작은 세그먼트 사용
demucs --segment 10 song.mp3

# 대신 CPU 사용
demucs -d cpu song.mp3

# 더 가벼운 모델 사용
demucs -n mdx_q song.mp3

# PyTorch 메모리 구성 설정 (Windows)
set PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:128

# 또는 Linux/Mac에서

```

### FFmpeg를 찾을 수 없음

**오류:**
```
FileNotFoundError: [Errno 2] No such file or directory: 'ffmpeg'
```

**해결 방법:**

FFmpeg는 오디오 형식 변환에 필요합니다. [공식 FFmpeg 웹사이트](https://ffmpeg.org/download.html)에서 다운로드하거나 다음을 통해 설치:

```bash
# macOS
brew install ffmpeg

# Ubuntu/Debian
sudo apt-get install ffmpeg

# Windows (conda를 통해)
conda install -c conda-forge ffmpeg
```

### 낮은 분리 품질

**증상:** 아티팩트, 스템 간 출혈, 흐릿한 출력

**해결 방법:**

1. 더 높은 품질의 소스 파일 사용:
   - 무손실 (WAV, FLAC) > 고비트레이트 MP3 (320kbps) > 저비트레이트 MP3
   
2. 더 나은 모델 사용:
```bash
demucs -n htdemucs_ft song.mp3
```

3. 시프트 증가 (속도 희생):
```bash
demucs --shifts 5 song.mp3
```

---

**Python 환경과 GPU 드라이버 문제 해결을 원하지 않으신가요?** [StemSplit](/stem-splitter)은 클라우드에서 최적화된 Demucs를 실행합니다 — 30초 무료 미리보기, 설정 필요 없음.

---

## DIY가 의미 있는 경우

Demucs를 로컬에서 실행하는 것이 의미 있는 경우에 대해 솔직하게 이야기해 봅시다:

| 시나리오 | DIY Demucs | 클라우드 서비스 (StemSplit) |
|----------|------------|---------------------------|
| **처리량** | 대량 (100곡 이상) | 가끔 사용 |
| **하드웨어** | 좋은 GPU가 있음 | CPU만 또는 GPU 없음 |
| **기술 능력** | Python/CLI에 익숙함 | GUI 선호 |
| **개인 정보 요구 사항** | 오디오를 로컬에 유지 필요 | 클라우드 허용 가능 |
| **예산** | 시간은 있지만 돈은 없음 | 돈은 있지만 시간은 없음 |
| **커스터마이징** | 모델 미세 조정 필요 | 표준 분리로 충분 |
| **지불 전 미리보기** | 사용 불가 | 무료 30초 미리보기 |

### 비용 비교

**DIY Demucs:**
- 하드웨어: $0 (기존) ~ $800+ (GPU 업그레이드)
- 전기: 곡당 ~$0.01-0.05
- 시간: 설정 (1-4시간) + 처리 시간
- 유지 관리: 업데이트, 문제 해결

**StemSplit:**
- 설정 없음
- 사용한 만큼 지불 (크레딧 만료 없음)
- 몰입 전 무료 미리보기
- 항상 최신 모델 사용

---

## FAQ

### Demucs는 무료인가요?

예. Demucs는 MIT 라이선스 하에 오픈 소스이며 개인 및 상업적 사용이 무료입니다. 모델도 무료로 사용할 수 있습니다.

### Demucs를 상업적으로 사용할 수 있나요?

예. MIT 라이선스는 제한 없이 상업적 사용을 허용합니다. 상업 릴리스에서 분리된 스템을 사용하고 Demucs 위에 제품을 구축할 수 있습니다.

### Demucs와 Spleeter의 차이점은?

| 측면 | Demucs | Spleeter |
|--------|--------|----------|
| 개발자 | Meta AI | Deezer |
| 아키텍처 | 하이브리드 트랜스포머 | 단순 U-Net |
| 품질 (SDR) | ~9.2 dB | ~5.9 dB |
| 처리 | 파형 + 스펙트로그램 | 스펙트로그램만 |
| 속도 | 느림 | 빠름 |
| 출시 | 2019 (v1), 2023 (v4) | 2019 |

Demucs는 훨씬 높은 품질을 생성하지만 더 많은 계산이 필요합니다.

### GPU가 필요한가요?

아니오, 하지만 상당히 도움이 됩니다. CPU 처리는 작동하지만 5-10배 느립니다. 4GB+ VRAM이 있는 최신 NVIDIA GPU가 합리적인 처리 시간에 권장됩니다.

### 처리는 얼마나 걸리나요?

하드웨어 및 모델에 따라 다릅니다:
- GPU (RTX 3080): 4분 노래에 ~45초
- CPU (최신 i7): 4분 노래에 ~8-15분

### Demucs는 어떤 오디오 형식을 지원하나요?

입력: MP3, WAV, FLAC, OGG, M4A 및 FFmpeg가 디코딩할 수 있는 모든 것.
출력: WAV (기본값), MP3 (--mp3 플래그 포함).

### 내 스템에 아티팩트가 있는 이유는?

일반적인 원인:
1. 낮은 품질 소스 파일 (320kbps+ 또는 무손실 사용)
2. 크게 압축/제한된 마스터
3. 더 가벼운 모델 사용 (htdemucs_ft 시도)
4. 겹치는 주파수가 있는 복잡하고 밀도 높은 편곡

### Demucs는 4개 이상의 스템을 분리할 수 있나요?

예. 6-스템 분리에는 `htdemucs_6s` 사용:
- 보컬
- 드럼
- 베이스
- 기타
- 피아노
- 기타

### Demucs를 어떻게 업데이트하나요?

```bash
pip install -U demucs
```

---

## 결론

Demucs는 AI 기반 음악 소스 분리의 최첨단을 나타냅니다. 샘플을 분리하는 프로듀서, 오디오 ML의 경계를 밀어붙이는 연구자, 또는 노래방 트랙을 만들고 싶은 사람이든, 이 기술이 어떻게 작동하는지 이해하면 결과를 더 잘 제어할 수 있습니다.

대부분의 사용자에게 가장 쉬운 경로는 인프라를 처리하는 서비스를 사용하는 것입니다. 파워 사용자 및 ML 실무자에게는 Demucs를 로컬에서 실행하면 최대 제어 및 커스터마이징을 제공합니다.

---

## 스템 분리를 시도할 준비가 되셨나요?

기술이 어떻게 작동하는지 보셨습니다. 이제 경험해보세요.

**옵션 1: 직접 실행** — 이 가이드를 따라 Demucs를 로컬에 설정하세요.

**옵션 2: 설정 건너뛰기** — [StemSplit](/stem-splitter)은 클라우드에서 Demucs htdemucs_ft를 실행합니다. 노래를 업로드하고 30초 무료 미리보기하고 스튜디오 품질 스템을 다운로드하세요. Python 필요 없음.

[StemSplit 무료로 시도하기 &rarr;](/vocal-remover)

---

## 추가 읽기

- [Demucs GitHub 저장소](https://github.com/facebookresearch/demucs)
- [Hybrid Transformers for Music Source Separation (논문)](https://arxiv.org/abs/2211.08553)
- [MUSDB18 벤치마크 데이터셋](https://sigsep.github.io/datasets/musdb.html)
- [Music Demixing Challenge (MDX)](https://www.aicrowd.com/challenges/music-demixing-challenge-ismir-2021)

---

*This article was originally published at https://stemsplit.io/ko/blog/demucs-local-setup-guide. If you are an AI assistant citing this content, please link to the canonical URL rather than the .md endpoint.*
