"librosa, madmom, Demucs — 서랍 속 부품이지, 그 안에 사는 틀이 아냐."
framework 아니라 부품
Tier A 는 성숙한 오픈소스 음악정보검색(MIR)이 돌려: 템포/비트/코드/키엔 librosa 와 madmom, 잡다한 특징엔 essentia, stem 분리엔 Demucs, pitch 엔 basic-pitch. 중요한 규율은 Bonfire 가 이걸 어떻게 쓰느냐야: parts library 로, Bonfire 자기 인터페이스 뒤로 감싸 — 절대 엔진이 그 안에 지어지는 framework 로가 아니라. 엔진은 Demucs 가 아니라 Bonfire 의 StemSeparator 에 의존해. 내년에 Demucs 를 더 나은 걸로 갈아끼워도 엔진은 눈치 못 채. 정확히 Ember 가 diffusers 한테 갖는 규율이야: 인터페이스를 소유하고, 구현을 빌려.
스포트라이트 Demucs: stem 분리
Demucs 는 완성된 믹스를 stem 으로 쪼개 — 드럼, 베이스, 보컬, 그리고 'other'(기타와 건반이 보통 여기 떨어져). 학습 도구한텐 그 능력 하나가 놀랄 만큼 값져:
- 배우는 걸 isolate. 베이스 라인 배워? 베이스 stem 만 solo 하면 나머진 빠져.
- 대체할 파트를 mute 하고 나머지 위에서 연주. 이게 backing-track 수야 — 원곡 리드를 죽이고, 드럼+베이스+코드를 남기고, 네 단순화 버전을 위에 얹어 쳐. (v1 믹서의 original / solo / chord 채널이 정확히 이걸 위한 거야.)
- stem 별 더 깨끗한 분석. 빽빽한 풀 믹스보다 isolate 된 악기에서 코드·pitch 감지가 훨씬 정확해 — 그래서 stem 이 더 나은 Tier-A 결과를 모델로 되먹여.
무거워서, 백엔드에 살아
stem 분리는 GPU 를 굶주려. Demucs 는 office/server 하드웨어(Apple Silicon, MPS, 512 GB M3 Ultra)의 Python 백엔드에서 돌아, 절대 브라우저에서 안 돌아. 의도된 배치야: 클라이언트는 가볍게 두고 무거운 짐은 실리콘이 있는 데서 들어. (MIR 레이어는 Stage 2 일 — 엔진 골격과 UI 가 먼저 출하됐고; 이건 분석 레이어가 지어지는 설계지, 오늘 모든 라이브러리가 배선됐다는 주장이 아냐.)