---
title: "ติดตั้ง Demucs ในเครื่อง: คู่มือแยก stem ด้วย AI ฟรี"
date: "2026-01-11"
author: "StemSplit Team"
tags: ["Demucs", "AI", "machine learning", "stem separation", "tutorial", "Meta AI", "htdemucs", "deep learning"]
excerpt: "คู่มือทีละขั้นตอนการติดตั้ง Demucs บนคอมพิวเตอร์ของคุณเพื่อแยก stem ฟรี แยกเสียงร้อง กลอง และเบสในเครื่องด้วย GPU acceleration"
abstract: "Demucs คือโมเดล AI ที่ขับเคลื่อนเครื่องมือแยก stem ระดับมืออาชีพส่วนใหญ่ในปัจจุบัน — รวมถึง StemSplit คู่มือนี้ครอบคลุมทุกอย่างตั้งแต่การติดตั้งไปจนถึงสถาปัตยกรรมและการฝึกโมเดลที่กำหนดเอง เขียนขึ้นสำหรับทั้งนักดนตรีที่อยากรู้และวิศวกร ML"
locale: "th"
canonical: "https://stemsplit.io/th/blog/demucs-local-setup-guide"
source: "stemsplit.io"
---

> **Source:** https://stemsplit.io/th/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 ที่ขับเคลื่อนเครื่องมือแยก stem ระดับมืออาชีพส่วนใหญ่ในปัจจุบัน — รวมถึง StemSplit คู่มือนี้ครอบคลุมทุกอย่างตั้งแต่การติดตั้งไปจนถึงสถาปัตยกรรมและการฝึกโมเดลที่กำหนดเอง เขียนขึ้นสำหรับทั้งนักดนตรีที่อยากรู้และวิศวกร ML

**สรุปสั้น**: Demucs เป็นโมเดล hybrid transformer จาก Meta AI ที่แยกเสียงออกเป็นเสียงร้อง กลอง เบส และเครื่องดนตรีอื่นๆ ติดตั้งด้วย `pip install -U demucs` รันด้วย `demucs your_song.mp3` และรับ stems คุณภาพสตูดิโอในไม่กี่นาที สำหรับผลลัพธ์ที่ดีที่สุด ใช้โมเดล `htdemucs_ft` พร้อม GPU acceleration

---

## Demucs คืออะไร?

Demucs (Deep Extractor for Music Sources) เป็นโมเดล AI แบบโอเพนซอร์สที่พัฒนาโดย Meta AI Research สำหรับการแยกแหล่งเสียงเพลง มันรับแทร็กเสียงที่มิกซ์แล้วและส่งออก stems ที่แยกออกมา — โดยทั่วไปคือเสียงร้อง กลอง เบส และ "อื่นๆ" (ทุกอย่างที่เหลือ)

สิ่งที่ทำให้ Demucs สำคัญ:

- **คุณภาพระดับล้ำสมัย**: ทำได้ SDR (Signal-to-Distortion Ratio) 9.20 dB บน benchmark MUSDB18-HQ — สูงกว่าโมเดลใดๆ ก่อนหน้า
- **การประมวลผลแบบ waveform**: ทำงานโดยตรงกับเสียงดิบ ไม่ใช่แค่ spectrograms รักษาข้อมูล phase
- **โอเพนซอร์ส**: ใบอนุญาต MIT ฟรีสำหรับการใช้งานเชิงพาณิชย์และส่วนตัว
- **ผ่านการพิสูจน์**: ขับเคลื่อนบริการแยก stem มืออาชีพส่วนใหญ่

เวอร์ชันล่าสุด Hybrid Transformer Demucs (HTDemucs) แสดงถึง iteration หลักรุ่นที่สี่และรวมสิ่งที่ดีที่สุดของการประมวลผลทั้งโดเมนเวลาและความถี่

---

## วิวัฒนาการ: v1 → v4

การเข้าใจวิวัฒนาการของ Demucs ช่วยอธิบายว่าทำไมมันถึงทำงานได้ดี

### Demucs v1 (2019)

Demucs ดั้งเดิมแนะนำสถาปัตยกรรม U-Net ที่ทำงานโดยตรงกับ waveforms — เป็นการแตกต่างจากวิธีที่ใช้ spectrogram อย่างเดียว นวัตกรรมสำคัญ:

- Gated Linear Units (GLUs) สำหรับ activation
- Bidirectional LSTM ระหว่าง encoder และ decoder
- Skip connections จาก encoder ไปยัง decoder layers

```
สถาปัตยกรรม: Pure waveform U-Net พร้อม BiLSTM
SDR: ~6.3 dB บน MUSDB18
นวัตกรรม: โมเดล waveform-only ที่แข่งขันได้ตัวแรก
```

### Demucs v2 (2020)

ความลึกและการฝึกที่ปรับปรุง:

- Encoder/decoder ที่ลึกขึ้น (6 layers → 7 layers)
- การเริ่มต้นน้ำหนักที่ดีขึ้น
- การปรับปรุง data augmentation

```
SDR: ~6.8 dB บน MUSDB18
นวัตกรรม: พิสูจน์ว่าโมเดล waveform สามารถแข่งขันกับวิธี spectrogram ได้
```

### Demucs v3 / Hybrid Demucs (2021)

ความก้าวหน้า: การรวม spectrogram และ waveform processing:

- สถาปัตยกรรม Dual U-Net (หนึ่งสำหรับ time domain หนึ่งสำหรับ frequency domain)
- การแบ่งปัน representations ระหว่าง branches
- Cross-domain fusion ที่ bottleneck

```
SDR: ~7.5 dB บน MUSDB18
นวัตกรรม: ดีที่สุดของทั้งสองโลก — ความแม่นยำ spectrogram + phase ของ waveform
```

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

state-of-the-art ปัจจุบัน เพิ่ม Transformers:

- Transformer layers ทั้งใน encoder และ decoder
- Cross-attention ระหว่าง temporal และ spectral branches
- Self-attention สำหรับ long-range dependencies

```
SDR: 9.20 dB บน MUSDB18-HQ
นวัตกรรม: Transformers จับโครงสร้างเพลงระยะไกล
```

---

## สถาปัตยกรรมเชิงลึก

สำหรับผู้ปฏิบัติ ML: นี่คือวิธีที่ HTDemucs ทำงานจริง

### โครงสร้างระดับสูง

HTDemucs ใช้ **สถาปัตยกรรม dual-path** กับสอง U-Net branches คู่ขนานที่แบ่งปันข้อมูล:

![สถาปัตยกรรม HTDemucs - โมเดล dual-path พร้อม temporal และ spectral branches](/images/blog/htdemucs-architecture.svg)

### Temporal Branch (Waveform Processing)

Temporal branch ประมวลผล raw audio samples:

1. **Encoder**: กอง strided 1D convolutions ที่ downsample เสียงทีละน้อย
2. **Bottleneck**: BiLSTM + Transformer self-attention
3. **Decoder**: Transposed convolutions ที่ upsample กลับไปความละเอียดเดิม
4. **Skip connections**: การเชื่อมต่อแบบ U-Net จาก encoder ไปยัง decoder

```python
# โครงสร้าง encoder layer แบบง่าย
class TemporalEncoderLayer:
    def __init__(self, in_channels, out_channels, kernel_size=8, stride=4):
        self.conv = nn.Conv1d(in_channels, out_channels, kernel_size, stride)
        self.norm = nn.GroupNorm(1, out_channels)
        self.glu = nn.GLU(dim=1)  # Gated Linear Unit
        
    def forward(self, x):
        x = self.conv(x)
        x = self.norm(x)
        x = self.glu(x)  # Output คือ out_channels // 2
        return x
```

### Spectral Branch (Spectrogram Processing)

Spectral branch ประมวลผล Short-Time Fourier Transform (STFT) ของเสียง:

1. **การคำนวณ STFT**: แปลง waveform เป็น complex spectrogram
2. **2D Convolutions**: ประมวลผล representations ความถี่ × เวลา
3. **Transformer layers**: Self-attention ในมิติความถี่และเวลา
4. **Inverse STFT**: แปลงกลับเป็น waveform

พารามิเตอร์สำคัญ:
- STFT window: 4096 samples
- Hop length: 1024 samples
- Frequency bins: 2049 (สำหรับเสียง 44.1kHz)

---

## เปรียบเทียบโมเดลที่มีให้ใช้

Demucs มีโมเดลที่ pretrained หลายตัว นี่คือการเปรียบเทียบ:

| โมเดล | Stems | 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 | preview รวดเร็ว |

---

## ความต้องการของระบบ

### ความต้องการขั้นต่ำ

| ส่วนประกอบ | ขั้นต่ำ | แนะนำ |
|------------|--------|-------|
| CPU | x86_64 สมัยใหม่ใดก็ได้ | 4+ cores |
| RAM | 8 GB | 16 GB |
| GPU | ไม่มี (CPU ทำงานได้) | NVIDIA 4GB+ VRAM |
| Storage | 2 GB | 5 GB (สำหรับโมเดล) |
| Python | 3.8+ | 3.10+ |

### ประมาณการเวลาประมวลผล

สำหรับแทร็กสเตอริโอ 4 นาทีที่ 44.1kHz:

| ฮาร์ดแวร์ | 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 นาที |

### การใช้ GPU VRAM

ความต้องการ VRAM ขึ้นอยู่กับความยาวเสียงและโมเดล:

![การใช้ VRAM ตามโมเดลและความยาวเสียง - ความต้องการหน่วยความจำ GPU สำหรับโมเดล Demucs ต่างๆ](/images/blog/demucs-vram-usage.svg)

หากหมด VRAM ให้ใช้ flag `--segment` เพื่อประมวลผลเป็นชิ้นเล็กๆ

---

## คู่มือการติดตั้ง

### ตัวเลือก 1: pip (ง่ายที่สุด)

สำหรับผู้ใช้ส่วนใหญ่ที่ต้องการแยกแทร็ก:

```bash
# สร้าง virtual environment (แนะนำ)
python3 -m venv demucs_env
source demucs_env/bin/activate  # Windows: demucs_env\Scripts\activate

# ติดตั้ง Demucs
pip install -U demucs

# ยืนยันการติดตั้ง
demucs --help
```

คุณควรเห็น:

```
usage: demucs [-h] [-s SHIFTS] [--overlap OVERLAP] [-d DEVICE]
              [--two-stems STEM] [-n NAME] [-v] ...

positional arguments:
  tracks                Path to tracks

optional arguments:
  -h, --help            show this help message and exit
  ...
```

### ตัวเลือก 2: Conda (แนะนำสำหรับ GPU)

สำหรับ GPU acceleration และการพัฒนา ML:

```bash
# Clone repository
git clone https://github.com/facebookresearch/demucs
cd demucs

# สร้าง environment (เลือกอันใดอันหนึ่ง)
conda env update -f environment-cuda.yml  # สำหรับ NVIDIA GPU
conda env update -f environment-cpu.yml   # สำหรับ CPU เท่านั้น

# เปิดใช้งาน environment
conda activate demucs

# ติดตั้งในโหมดพัฒนา
pip install -e .

# ยืนยันว่าตรวจพบ GPU
python -c "import torch; print(f'CUDA available: {torch.cuda.is_available()}')"
```

---

## การใช้งานพื้นฐาน

### การแยกแทร็ก

คำสั่งที่ง่ายที่สุด:

```bash
demucs song.mp3
```

โครงสร้างผลลัพธ์:

![โครงสร้างโฟลเดอร์ผลลัพธ์ Demucs แสดง stems ที่แยกแล้ว](/images/blog/demucs-output-structure.svg)

### กรณีใช้งานทั่วไป

**ดึงเฉพาะเสียงร้อง (สร้างคาราโอเกะ):**

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

ผลลัพธ์: `vocals.wav` และ `no_vocals.wav` (instrumental)

**ดึงเฉพาะ instrumental:**

```bash
demucs --two-stems vocals song.mp3
# จากนั้นใช้ไฟล์ no_vocals.wav
```

**ประมวลผลหลายไฟล์:**

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

**ส่งออกเป็น MP3 แทน WAV:**

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

**ใช้โมเดลคุณภาพสูงสุด:**

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

---

## เมื่อไหร่ DIY ถึงเหมาะสม

มาพูดตรงๆ ว่าเมื่อไหร่การรัน Demucs ในเครื่องถึงเหมาะสม:

| สถานการณ์ | DIY Demucs | บริการ Cloud (StemSplit) |
|-----------|------------|---------------------------|
| **ปริมาณการประมวลผล** | ปริมาณสูง (100+ เพลง) | ใช้เป็นครั้งคราว |
| **ฮาร์ดแวร์** | มี GPU ดี | CPU เท่านั้นหรือไม่มี GPU |
| **ทักษะเทคนิค** | คุ้นเคยกับ Python/CLI | ชอบ GUI |
| **ข้อกำหนดความเป็นส่วนตัว** | ต้องเก็บเสียงไว้ในเครื่อง | Cloud ยอมรับได้ |
| **งบประมาณ** | มีเวลา ไม่มีเงิน | มีเงิน ไม่มีเวลา |
| **การปรับแต่ง** | ต้อง fine-tune โมเดล | การแยกมาตรฐานก็พอ |
| **preview ก่อนจ่าย** | ไม่มี | preview ฟรี 30 วินาที |

---

## FAQ

### Demucs ฟรีไหม?

ใช่ Demucs เป็นโอเพนซอร์สภายใต้ใบอนุญาต MIT ฟรีสำหรับการใช้งานส่วนตัวและเชิงพาณิชย์ โมเดลก็มีให้ฟรีเช่นกัน

### ฉันสามารถใช้ Demucs เชิงพาณิชย์ได้ไหม?

ได้ ใบอนุญาต MIT อนุญาตการใช้งานเชิงพาณิชย์โดยไม่มีข้อจำกัด คุณสามารถใช้ stems ที่แยกแล้วในผลงานเชิงพาณิชย์ สร้างผลิตภัณฑ์บน Demucs ฯลฯ

### ความแตกต่างระหว่าง Demucs และ Spleeter คืออะไร?

| ด้าน | Demucs | Spleeter |
|------|--------|----------|
| นักพัฒนา | Meta AI | Deezer |
| สถาปัตยกรรม | Hybrid Transformer | Simple U-Net |
| คุณภาพ (SDR) | ~9.2 dB | ~5.9 dB |
| การประมวลผล | Waveform + Spectrogram | Spectrogram เท่านั้น |
| ความเร็ว | ช้ากว่า | เร็วกว่า |
| เปิดตัว | 2019 (v1), 2023 (v4) | 2019 |

Demucs สร้างคุณภาพที่สูงกว่าอย่างมากแต่ต้องการการคำนวณมากกว่า

### ฉันต้องการ GPU ไหม?

ไม่ แต่ช่วยได้มาก การประมวลผลด้วย CPU ทำงานได้แต่ช้ากว่า 5-10 เท่า GPU NVIDIA สมัยใหม่ที่มี VRAM 4GB+ แนะนำสำหรับเวลาประมวลผลที่เหมาะสม

### การประมวลผลใช้เวลานานเท่าไหร่?

ขึ้นอยู่กับฮาร์ดแวร์และโมเดล:
- GPU (RTX 3080): ~45 วินาทีสำหรับเพลง 4 นาที
- CPU (i7 สมัยใหม่): ~8-15 นาทีสำหรับเพลง 4 นาที

### Demucs รองรับรูปแบบเสียงอะไรบ้าง?

อินพุต: MP3, WAV, FLAC, OGG, M4A และทุกอย่างที่ FFmpeg decode ได้
เอาต์พุต: WAV (ค่าเริ่มต้น), MP3 (ด้วย flag --mp3)

### Demucs แยกได้มากกว่า 4 stems ไหม?

ได้ ใช้ `htdemucs_6s` สำหรับการแยก 6 stems:
- เสียงร้อง
- กลอง
- เบส
- กีตาร์
- เปียโน
- อื่นๆ

### อัปเดต Demucs อย่างไร?

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

---

## บทสรุป

Demucs แสดงถึงเทคโนโลยีล้ำสมัยของการแยกแหล่งเสียงเพลงด้วย AI ไม่ว่าคุณจะเป็นโปรดิวเซอร์ที่แยก samples นักวิจัยที่ผลักดันขอบเขตของ audio ML หรือเพียงแค่คนที่ต้องการสร้างแทร็กคาราโอเกะ — การเข้าใจว่าเทคโนโลยีนี้ทำงานอย่างไรจะให้คุณควบคุมผลลัพธ์ได้มากขึ้น

สำหรับผู้ใช้ส่วนใหญ่ เส้นทางที่ง่ายที่สุดคือการใช้บริการที่จัดการโครงสร้างพื้นฐาน สำหรับ power users และผู้ปฏิบัติ ML การรัน Demucs ในเครื่องให้การควบคุมและการปรับแต่งสูงสุด

---

## พร้อมลอง Stem Separation หรือยัง?

คุณได้เห็นแล้วว่าเทคโนโลยีทำงานอย่างไร ตอนนี้มาสัมผัสมัน

**ตัวเลือก 1: รันด้วยตัวเอง** — ทำตามคู่มือนี้เพื่อติดตั้ง Demucs ในเครื่อง

**ตัวเลือก 2: ข้ามการติดตั้ง** — [StemSplit](/stem-splitter) รัน Demucs htdemucs_ft ใน cloud อัปโหลดเพลงของคุณ preview 30 วินาทีฟรี และดาวน์โหลด stems คุณภาพสตูดิโอ ไม่ต้องใช้ Python

[ลอง StemSplit ฟรี →](/vocal-remover)

---

## อ่านเพิ่มเติม

- [Demucs GitHub Repository](https://github.com/facebookresearch/demucs)
- [Hybrid Transformers for Music Source Separation (Paper)](https://arxiv.org/abs/2211.08553)
- [MUSDB18 Benchmark Dataset](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/th/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.*
