TL;DR

Dán link YouTube vào - nhận lại 6 track tách biệt để mute, solo, chỉnh fader, zoom waveform và download. Mọi thứ chạy trên máy bạn, không có byte nào rời khỏi máy, không tài khoản, không phí. Đây là StemDeck.

StemDeck - giao diện DAW với 6 track stem

Vấn đề cần giải quyết

Muốn luyện bass theo bài yêu thích? Cần backing track không có vocal để hát karaoke? Muốn nghe riêng phần trống để phân tích groove? Các giải pháp phổ biến hiện tại đều có cái giá của nó:

  • Moises / LALAL.AI: chất lượng tốt nhưng cần tài khoản, upload file lên cloud, trả tiền sau khi hết quota miễn phí
  • Spleeter (Deezer): miễn phí nhưng chỉ đạt SDR ~5.9 dB, đã deprecated
  • Demucs CLI thuần: chất lượng tốt nhưng phải tự viết script, không có giao diện để mix

StemDeck lấp vào khoảng trống đó: chất lượng của Demucs, giao diện của DAW, hoàn toàn local và miễn phí.

StemDeck hoạt động như thế nào

Stack kỹ thuật khá gọn:

  • yt-dlp: download audio từ YouTube URL bạn cung cấp
  • Demucs htdemucs_6s: model tách 6 stem (Meta AI Research, v4 Hybrid Transformer)
  • librosa + pyloudnorm: phân tích BPM, key, LUFS, sample peak
  • FastAPI + Web Audio API: giao diện multitrack chạy trên trình duyệt

Flow thực tế: dán URL → chọn stem cần tách → hệ thống tải audio, phân tích, tách bằng Demucs → studio multitrack mở ra trong trình duyệt. Toàn bộ quá trình có thể hủy giữa chừng; file tạm được dọn dẹp ngay lập tức.

Lần chạy đầu tiên tải khoảng ~170 MB model weights và cache lại - các lần sau không cần tải lại.

Các con số đáng chú ý

  • SDR 9.20 dB trên MUSDB18-HQ (fine-tuned htdemucs_ft) - Spleeter chỉ đạt ~5.9 dB
  • GPU nhanh hơn CPU 10-50x: 4 phút nhạc mất ~30 giây trên RTX 4090, ~8 phút trên Intel i7
  • Apple Silicon MPS: nhanh hơn CPU ~3-5x, tự động phát hiện
  • 170 MB disk space cho model weights
  • ~7 GB VRAM khi chạy mặc định (có thể giảm segment length nếu RAM ít hơn)

Tính năng chính

Giao diện trình duyệt của StemDeck có đủ thứ cần cho một session nghe/mix nhẹ:

  • 6 track tách biệt: Vocals, Drums, Bass, Guitar, Piano, Other - cộng thêm lane "Original" (toàn bộ mix trừ các stem bạn chọn) để A/B reference
  • Mixer per-stem: volume fader, mute, solo, VU meter RMS với peak hold
  • Waveform editor: zoom, drag-on-ruler loop region, playhead đồng bộ
  • Song analysis: BPM, key & scale, LUFS integrated, sample peak dBFS - hiển thị ngay sau khi tách xong
  • Download: từng stem riêng hoặc custom mix (chọn stem nào gộp lại) dưới dạng WAV
  • Hủy task giữa chừng: subprocess terminate ngay lập tức, không để tiến trình zombie

So sánh với các tool khác

Tiêu chíStemDeckMoises / LALAL.AISpleeter
GiáMiễn phíFreemium / trả phíMiễn phí
Chạy ở đâuLocalCloud (upload)Local
Tài khoảnKhông cầnBắt buộcKhông cần
Chất lượng (SDR)9.20 dBProprietary (cao hơn)~5.9 dB
Giao diệnWeb DAWWeb + mobile appCLI thuần
PrivacyAudio không rời máyUpload lên server 3rd partyLocal
Trạng tháiAlpha, activeProductionDeprecated

Hạn chế cần biết

  • Hardware nặng: CPU-only mất ~15 phút cho 4 phút nhạc; cần GPU để dùng thực tế
  • Docker trên macOS = CPU-only: Docker Desktop không expose MPS, phải cài native để có GPU
  • Browser memory: bài dài trên 6 phút ngốn hàng trăm MB RAM browser do decode toàn bộ audio vào Web Audio buffers
  • Alpha stage: v0.1.0-alpha.1, chỉ 1 contributor, không có roadmap tính năng mới
  • Không có: pitch shift, chord detection, mobile app, lyrics - developer nói rõ "covers the basics and stops there"
  • YouTube ToS: người dùng tự chịu trách nhiệm về việc download và sử dụng audio có bản quyền

Ai nên dùng ngay

  • Nhạc sĩ luyện instrument - tách track muốn học, giữ lại phần còn lại làm backing
  • Người làm karaoke / vocal practice - bỏ vocal, giữ toàn bộ ban nhạc
  • Producer muốn sample drum/bass từ nhạc có sẵn để phân tích
  • Audio engineer nghiên cứu arrangement và mixing technique bằng cách mute/solo từng layer
  • Bất kỳ ai cần giải pháp privacy-first, không muốn upload nhạc lên cloud

Yêu cầu cơ bản: Python 3.10+, FFmpeg, và lý tưởng nhất là NVIDIA GPU hoặc Apple Silicon. StemDeck mới 3 ngày tuổi nhưng đã có 163 GitHub stars - đủ để thấy nhu cầu thực sự tồn tại.

Cài đặt trong 3 bước

# Clone và chạy setup script
git clone https://github.com/thcp/stemdeck
cd stemdeck

# macOS / Linux
bash setup.sh

# Khởi động
uv run uvicorn app.main:app --reload

Sau đó mở http://localhost:8000, dán YouTube URL, chọn stem cần tách và nhấn Process.

Kết

StemDeck không cố trở thành Moises. Nó làm một việc - tách stem từ YouTube URL trực tiếp trên máy bạn - và làm tốt việc đó. Miễn phí, mã nguồn mở, không có dữ liệu nào rời máy. Nếu bạn đang tìm công cụ để luyện nhạc hoặc phân tích âm thanh và không muốn dùng dịch vụ cloud, đây là lựa chọn đáng thử ngay hôm nay.

Nguồn: github.com/thcp/stemdeck, Meta AI Demucs.