로컬 실행 구조와 설치 제원

로컬 음원 분리 도구 StemDeck은 MP3, WAV, FLAC, OGG/Opus, MP4, M4A 형식의 로컬 파일과 유튜브 URL 입력을 받아 오디오를 최대 6개 트랙(보컬, 드럼, 베이스, 기타, 피아노, 기타 악기)으로 분리하는 오픈소스 데스크톱 애플리케이션이다. Meta AI의 6트랙 신경망인 Demucs(htdemucs_6s) 모델을 기반으로 작동하며, PyTorch를 통해 하드웨어 가속 장치를 자동 감지한다. NVIDIA GPU 환경에서는 CUDA, 애플 실리콘에서는 MPS, 그 외 환경에서는 CPU 폴백으로 동작한다. 백엔드는 FastAPI 기반의 REST 및 Server-Sent Events(SSE)로 구성되었으며, 프론트엔드는 프레임워크 없이 바닐라 자바스크립트와 Web Audio API를 사용해 HTML5 Canvas로 파형을 렌더링한다. 데스크톱 쉘은 Tauri v2를 채택해 macOS에서는 Rust와 WKWebView, Windows에서는 Rust와 WebView2 환경으로 빌드된다.

설치와 최초 실행 과정은 운영체제별로 패키징되어 있다. macOS의 경우 DMG 파일을 내려받아 애플리케이션 폴더로 이동하면 되며, 첫 실행 시 설정 화면에서 약 500MB 크기의 파이썬 런타임과 FFmpeg, 약 170MB 크기의 Demucs 모델 가중치를 자동으로 내려받는다. Windows는 압축을 해제한 뒤 StemDeck.exe를 실행하며, FFmpeg와 모델 파일은 AppData가 아닌 실행 파일 인근의 data/ 폴더에 저장된다. 소스코드 직접 빌드에는 Python 3.12, Rust, Node.js, uv 패키지 매니저가 필요하며, 컨테이너 환경의 경우 GHCR에 등록된 엣지 및 릴리스 태그 이미지와 Unraid 커뮤니티 애플리케이션을 통해 `--runtime=nvidia` 옵션으로 GPU 가속을 연동할 수 있다.

DAW 스타일 믹서와 오디오 분석 기능

내장된 인터페이스는 DAW 스타일의 멀티트랙 믹서 구조를 갖추고 있어 트랙별 볼륨 페이더, 음소거, 솔로, 모니터링 제어를 지원하며 프리뷰 믹서와 트랙 사이드바의 상태가 동기화된다. Web Audio 분석기를 통한 포스트 게인 RMS 방식의 라이브 VU 미터는 피크 홀드와 슬로 폴오프 기능을 제공한다. 사용자는 트랙 칩을 클릭해 보존할 스템 조합을 선택할 수 있으며, 전체 선택 상태에서 개별 스템을 누르면 해당 트랙만 남는 단일 선택으로 전환된다. 스템 하위 집합을 고르면 원본 곡에서 선택된 스템을 제외한 나머지 요소로 구성된 제7의 백킹 트랙 'Original' 레인이 자동으로 생성되어 A/B 비교 참조가 가능하다. 또한 선택한 스템 조합만 ffmpeg amix로 합산하여 단일 mix.wav 파일로 내려받을 수 있다.

오디오 분석 파이프라인에는 librosa 비트 트래커 기반의 BPM, 키, 스케일, 신뢰도 측정 기능이 포함되며, ITU-R BS.1770 표준을 따르는 pyloudnorm 기반의 통합 LUFS 및 dBFS 단위 샘플 피크 측정 기능이 결합되어 있다. 작업 관리 측면에서는 파이프라인 진행 중 언제든 작업을 취소할 수 있으며, 실행 중인 하위 프로세스를 즉시 종료하고 임시 디렉터리를 삭제한 뒤 대기 상태로 복귀한다. 라이브러리 패널은 폴더 기반의 트랙 관리, 드래그 앤 드롭, 검색, 휴지통 기능을 지원하며, 기본 저장 경로는 `~/Documents/StemDeck`이다.

실무 도입을 위한 제약 조건과 주의사항

실무자와 개발자가 이 도구를 도입할 때는 클라우드 상용 서비스인 Moises나 LALAL.AI와의 기능적 차이를 명확히 확인해야 한다. StemDeck은 모바일 애플리케이션이나 고도화된 음악가용 추가 도구를 제공하지 않으며, 대규모 음원 처리 속도나 품질 측면에서 상용 유료 솔루션과 직접 경쟁하지 않는 개인 학습 및 연구 목적의 로컬 도구다. 유튜브 URL 입력 기능은 사용자가 이미 처리할 권한이 있는 콘텐츠를 다루기 위한 편의 기능으로 제공되며, 자동 다운로드는 유튜브 서비스 약관에 저촉될 수 있으므로 저작권 책임은 전적으로 사용자에게 있다. 또한 첫 실행 시 모델 다운로드 지연 시간과 CPU 구동 시 성능 저하 가능성을 염두에 두고, 시스템의 PyTorch가 CUDA나 MPS 가속을 정상 인식하는지 초기 구동 로그의 장치(device) 상태를 확인해야 한다.