오디오 연금술로그: Bridging MIDI, Mechanics, and Machine Learning

– ArtXTech

From Rhythm Games to AI Audio A 3-Year R&D Journey

그림 각주: 그노무 리듬 게임이 뭐길래

이 모든 게 다 드럼매니아…그노무 드럼매니아 때문이다. 이에 대한 시작 동기와 여정의 서사는 예전에 유튜브에 한번 정리를 한 적이 있다.

유튜브에는 자세한 서사를 담진 못했지만 내 개인적 이야기와 인생에서 벌어진 여러 크고 작은 사건들이 어떻게 나의 목적의식으로 변해갔는지 그 회담을 담담히 아래의 글에 담았었다.

KR-generalist-or-master-of-none-or-A Trans-disciplinary Experience Architect

시작은 단순한 집착이었다. 집에서 ‘드럼매니아’를 완벽하게 플레이하고 싶었을 뿐이다. 고장 난 드럼 킷을 수리하던 취미는 하드웨어 해킹으로 이어져, 직접 MegaDrum 컨트롤러를 제작하기에 이르렀다. 하지만 하드웨어는 시작일 뿐이었고 무한한 플레이 데이터를 얻기 위해 **DAW(Logic Pro)와 VST를 독학했고, 결국 Python과 머신러닝을 통해 오디오 파형을 코드로 분석하는 단계까지 나아가다. 리듬에 대한 열정이 어떻게 거대한 ‘오디오 AI 파이프라인’으로 진화했는지에 대한 기록을 잠시 정리해보다.

When Obsession Meets Engineering: The Drum Data Project

좀 더 옆길로 새자면, 이때 익힌 기술로, 문득 드럼 차트를 만들 수 있지 않을까 하는 생각에,

‘Clone Hero’라는 드럼 게임을 위한 차트를 한번 만들어 보자고 자신했다.

Superior drummer vst에서 음향 분석. 킥 드럼과 스네어 드럼을 분석하려고 하였다.

이 과정이 너무 지난해서 이것 저것 오디오 분석과 머신러닝에 대해 파봤다. 어차피 대학원에 복학도 한 마당에 머신러닝 기초 모델링도 해야하고 이걸 응용하는 일들도 해야할텐데 겸사겸사해서 말이다.

그림 각주: Superior Drummer를 통해 드럼 음원 파형 분석

이 커스텀 차트 제작 여정은 시작부터 끝까지 순탄한 법이 없었다. 야심 차게 머신러닝 자동화를 꿈꿨지만, 현실의 벽(특히 파이썬 디펜던시와의 전쟁…)에 부딪혀 처참히 좌절했다. TuxGuitar, Logic Pro, Superior Drummer 같은 툴들과 씨름하고, 입으로 리듬을 맞춰보고, MIDI 파일을 뜯어고치고, 싱크를 맞추느라 Audacity 파형을 들여다보던 날들. 그게 2023년 11월부터 12월까지 한 삽질이다.

그림 각주: 드럼 악보에서 드럼 탭을 읽어내는 TAB OCR 시도 그림 각주: 기타프로 탭 악보에서 드럼 미디를 추출해서 VST로 연주시도

그래서 Guitar Pro로 탭을 추출해 그걸 VST로 싱크해서 직접 연주를 확인하는 듯 이때부터 프로듀싱 툴과 음악 믹싱, 편집에 대해 점점 발을 들이게 된 듯 하다.

그림 각주: 기타프로탭에서 MIDI를 빼내 드럼 그루브로 변환 해 찍어보는 시도를 해봤으나 생각보다 타이밍과 비트 템포에 맞춰 rest 스페이스를 적절히 배정해 트리거 어택을 넣는 게 까다로웠다.

그렇게 내 당시 최애곡이었던 <더 퍼스트 슬램덩크> 오프닝이랑 10-FEET의 “Die Young, Die Fast”를 클론히어로 차트로 만들어보겠다는, 지금 생각하면 또 다른 삽질의 시작을 알리는 목표를 세웠다.

(KR-Retro-Review-Progress-drumgaming-to-producing-and-data-analysis 에서 발췌)

Deconstructing the Beat: Reverse-Engineering Audio with Code & Craft

드럼을 개조하다가 음악 프로듀싱까지 발을 들이게 된 것 또한, 2021년 락다운으로 인해 어디에도 갈 수 없었을 때, 고장난 중고 전자 드럼을 얻어와 이것저것 수리하기 시작하면서 비롯된 우연의 연속이었다.

그림 각주: 메가드럼을 통해 미디 컨트롤러의 신호 전달 테스팅, 프리데이터프로세싱, 중간과정 프로듀싱, 오디오 분석으로 향하는 역 엔지니어링

Demucs와 Keras를 동원한 두 번째 머신러닝 시도는 분명 이전보다는 나았지만, 결국 ‘완전 자동화’라는 신기루는 잡을 수 없었다. 핵심은 여전히 인간의 귀와 손, 그리고 끈기였다.

그림 각주: 도커, 그리고 시중에 나온 음향 분석 프레임워크 컨테이너 시험 모습
그림 각주: 유튜브 링크에서 나온 음향을 분석해 드럼 트리거 어택 타이밍 시간대역별 추출하는 프로젝트와 페이스북 메타에서 공유한 demucs를 이용해 음향 분석해서 드럼 비트 그루브를 찍어보는 시험

계속 디버깅하며 사투를 벌인 이 실패한 음원-> 드럼차트 생성 프로젝트는 훗날 하반기 ‘데이터 마이닝과 통계역학’ 수업의 이미지 분석 분류 프로젝트의 삽질에 많은 도움이 되었다고 한다(…)

어떻게든 삽질을 거듭해서 오디오 데이터를 CSV로 뽑아내고, 그걸 다시 MIDI로 변환하는 데까지는 성공했다. 근데 이번엔 BPM(Beats Per Minute) 이 말썽이었다. 원곡은 분명 108 BPM인데, 변환된 MIDI 파일은 로직에서 94 BPM으로 인식되는 황당한 상황.

그림 각주: 텍스트 파일 추출론 써먹을 수가 없어 csv를 midi 파일로 변환하는 코드를 만들어 봄

그런데 MIDI로 파일을 변환했어도 뭔가 미묘하게 실제 드럼 트리거 타격점과 타이밍이 맞지 않았다. 그래서 아예 처음부터 시퀀서를 이용해 드럼 비트 메이킹을 직접 하나하나 손수 짜보기로 한다.

그림 각주: 결국은 다시 수작업으로. 드럼 시퀀서 프로젝트를 만들어 청음해서 일일이 드럼을 찍어본다.

결국 어찌어찌 삽질 끝에 특정 게임(Clone Hero 같은 리듬 게임)에서 읽을 수 있는 차트 파일로 변환하는 데 성공하긴 했다. 이 과정을 거쳐 나중에 이미지-사운드 분석 알고리즘을 빌드할 때 이런 저런 에러라던가 뮤직 프로듀서의 관점에서 사운드 디자인을 어떻게 진행하게 될 지 구조를 계획하는 능력치 레벨업을 이뤘다.

그림 각주: 여러 포맷팅 문제랑 최종 음향 파일의 편집은 오다시티가 더 편해서 결국 로직과 오다시티를 같이 쓰고 있는 모습

(KR-Retro-Review-Progress-drumgaming-to-producing-and-data-analysis 에서 발췌)

그렇게 나는 어찌됬던 무사히 우당탕탕 드럼 음향 분석과 얼기설기 클론 히어로 차트 제작을 마치고 행복하게 드럼을 플레이하며 2024년을 종료했다….

로 해피엔딩이 되었음 참 좋았겠지???

산 넘어 산이라고, 세월이 흘러 내가 제작한 커스텀 메가드럼 모듈은 어디서 잘못 되었는지 모르겠지만 커스텀 드럼 회로가 모종의 이유로 타버려 자체 제작 커스텀 드럼 모듈 브레인은 회로가 녹아 버렸고, 설상 가상 기존 드럼킷의 medeli 402 모듈도 점점 과부하 전압송출을 시작해 미디 트리거 송신이 맛이 가기 시작했다. 그리고 이렇게 머신러닝 방법론과 리브로사를 이용해 변환한 미디파일로 제작한 클론 히어로 차트를 직접 연주하면 귀에 거슬릴 정도로 그루브 비트 패턴이나 타이밍이 미묘하게 엇글리는 게 한 두번이 아니라 결국 로직에서 다시 미디파일을 열어 수정을 번복하는 게 지속되었다. 끊임없이 부닥치는 새로운 문제, 그리고 대학원.

그래. 대학원. 나는 사실 공부할 머리가 딱히 아니란 자각은 있었다만 와…이렇게나 갑자기 관심이 뚝 떨어지니 공부할 의욕이 훅 떨어질 줄은 몰랐다. 하지만 이미 자퇴를 하기엔 멀리 와버렸다. 그간 쏟아부은 등록금은 어쩔 것이며. 그래서 내가 실생활에서 활용할 수 있는 프로젝트들에 대학원 공부를 접목하기로 했다. 2024년 하반기와 상반기엔 이미지 작업에 데이터 프로세싱 및 분석을 도입하기로 했다.

(그림 각주: 줄노트 그림과 그냥 그린 그림을 분류하는 과정)

이 이미지 분류 프로젝트와 머신러닝 방법론에 대한 설명은 다음에 간략히 하기로 하고, 우선 이 프로젝트를 잠시 언급하는 이유는 Gen AI의 무분별한 사용과 도입에 대해 회의감을 느끼고 있던 내가 실제 진행한 실험 프로젝트를 통해 특수한 도메인에 적용되는 워크플로우에는 번거롭더라도 사람 손을 중간중간 자주 거쳐줘야하는 특징추출공학 기반의 고전 모델이 훨씬 활용성이 높다는 확증을 가져온 첫 번째 프로젝트이다.

(글: 특징추출기반의 고전모델 VS 생성형 모델의 비교: 줄노트 이미지 구별하기에서 발췌)

이 이미지 분류 프로젝트를 시작으로 드럼 음향 분석 프로젝트로 확장하며 이런 나의 가설이 다시 한번 이번 2025년 하반기에 진행한 프로젝트를 통해 반증이 되었기 때문이다.

(그림각주: 드럼 사운드 분리하며 킥, 오버헤드, 톰, 스네어 파형 샘플 스크린샷) (그림각주: 오디오 파일들이 주르륵 모여있는 파일 스크린샷과 이를 라벨링한 CSV파일 스크린샷)

오디오 라이브러리가 스케일업 하면서, 수동 큐레이션은 한계에 부딪혔다. 어떻게 하면 수백 개의 오디오 음향 애셋들을 빠르고, 일관되며, 확장 가능하게 분류할 수 있을까?

My Proposed Solution: 이 문제에 대해 ‘데이터 기반 분류 시스템’을 구상하기 시작했다. 이 시스템의 기술적 타당성을 검증하기 위해, 저는 음향적 특성이 복잡하고 미묘한 ‘어쿠스틱 드럼 사운드’를 데이터셋으로 사용하여 두 가지 핵심 머신러닝 접근법을 테스트했다.

(그림 각주: 드럼 음향 파형 추출 그래픽 샘플들)

The Methodology

접근법 1: 특징 공학 (Feature Engineering): 오디오의 ‘디지털 지문’(MFCCs, Spectral Centroid 등)을 추출하여, 각 사운드의 고유한 특성을 컴퓨터가 이해할 수 있는 데이터로 변환했다. 접근법 2: 딥러닝 (CNN): 사운드의 시각적 표현(Spectrogram)을 이미지처럼 활용하여, AI가 스스로 패턴을 학습하고 분류하게 만들었다.

The Results 결론적으로, 특징추출공학 기반의 클래식 모델들이 9X%의 정확도로 미묘한 드럼 사운드의 차이를 구분해냈다. 인간 큐레이터의 판단을 높은 신뢰도로 보조하거나 자동화할 수 있는 아키텍쳐를 구성하려면 그 분야의 전문가 혹은 도메인 지식이 높은 사람이 단계별로 지속적인 개입을 하며 튜닝과 QA를 해줘야 함을 말한다. (링크: CNN VS 고전특징추출공학 기반 클래식 모델을 진행하며 구별해보는 드럼 사운드에서 발췌)

이 검증된 방법론은 드럼 사운드를 넘어, 다른 프로젝트의 오디오 자산에 적용 가능한 확장성을 보여준다. 예를 들어, ‘Inspirational’ 트랙들의 ‘디지털 지문’을 학습시켜 골든셋을 자동으로 식별하거나, 저품질의 SFX를 자동으로 필터링한다던가, 내가 추후 만들 밴드 커버 영상에 도입해 음향 AUDIO API와 MIDI API를 CANVAS API와 결합하여 WebGL과 2D 애니메이션을 프로그래밍 기법 관점에서 융합해 템포나 비트 트리거에 맞춰 트랜지션을 구현할 수도 있을 것이다. 이에 대한 다음 시험을 Remotion(React 기반의 모션 그래픽 제작 프레임워크)에 도입해 볼 참이다.

자세한 것은 아래 첨부된 글 (링크: CNN VS 고전특징추출공학 기반 클래식 모델을 진행하며 구별해보는 드럼 사운드)을 참조하라.

열어버린 음향 디자인의 문

위 대학원 프로젝트를 2025년 하반기에 진행하며 느낀 것이 있다. 데이터 분석 리포트를 쓰기 위해 프리프로세싱으로 애플 사운드 라이브러리와 직접 미디 컨트롤러로 연주하며 추출한 드럼 플레이 음원들을 하나하나 사운드를 추려내서 잘라내는 좆뱅…아, 아니 삽질을 하다보니 그냥 겉으로만 깔짝대던 DAW에 대한 깊은 이해가 더 필요하다는 것이다. 작년에 드럼 매니아 리듬게임 플레이 하겠다고 드럼 음향 분석을 시작하던 시점부터 이러다가 뮤직 프로듀싱 혹은 믹싱/마스터링 하는 건 아닌가 좆치 않은 불안감이 들긴 했는데…나의 우려는 현실이 되버렸다.

그렇다. 아예 1인 밴드 커버를 녹음하고 싶다는 금단의 욕망이 생겼다. 더불어 로직프로에 미디를 전송하는 node.js 센트럴 허브앱을 만들어 strudel, 터치디자이너, 웹GL 화면 구현, 오디오 인터페이스를 통해 베이스와 보컬 전송, 드럼 비트 미디를 vst로 구현하는 여튼 그 시발 무언가를 구현하고 싶다는 생각이 나버린 것이다.

더 불안한 것은 대학원을 핑계로 딱 1년만 더 띵가띵가 백수로 이 작업 연구를 하면 정말 해낼 거 같단 생각이 드는 게 가장 무서운 지점이었다.

안…돼….진짜…너 그러다 인생 종쳐…정신차려…그만둬. 너 돈 벌고 학자금 대출 갚아야지…

여튼 각설하고, 제대로 믹스와 마스터링에 대해 알고 싶다는 욕망이 들었다. 사실 뭘 하나하나 배우고 시도해보는 것도 에너지가 여간 드는 것은 아니기에 나도 남들처럼 ‘딸깍’ 하고 싶어서 Suno나 Udio를 이리저리 시험해봤다. 첨엔 그럴싸하게 구성해줘서 오호…여태 내가 걸어온 길 마다 ‘딸깍’으로 폐허가 되는 군. 그림, 개발, 디자인, 데이터분석, 이젠 음악 프로듀싱까지…역시 기본소득보장만이 살 길인가 잠시 생각을 했다.

그러나 듣다보니 그 생각은 바로 사그라졌다. 자동 생성 음향을 계속해서 듣기엔 내 귀가…그렇게 막 귀가 아니었다. 특히 외부 차단음이 잘 되는 중간급 이상의 헤드셋으로 우퍼 짱짱하게 베이스 켜서 들으면서…자동 생성형 음악 서비스 구독을 취소했다.

못 들어주겠잖아!!!! 으아아아아아아악!!!

뭣보다 내가 일일이 튜닝을 다시 하는데 더 힘이 드는 불이익을 안고 가므로 과연 이 음악 생성모델 서비스가 나에게 걸맞는지도 의문이다. 아 물론, 내가 급하게 대충 드립을 치고 넘기는 쇼츠를 만들 때 쓰일 배경음악이나 음정 편집을 할 때 가이드 탑라인으로서 브레인스토밍의 역활로는 충분하다. 하지만 내가 정작 그렇게 브레인스토밍으로 생성한 샘플 음정들을 다시 스템 스플릿으로 분리 후 다시 음정을 갈라 교정하고 이것저것 EQ를 걸다보면 디지털 풍화가 더 빨리 벌어진다. 스튜디오 프리미엄으로 가면 MIDI로 추출도 가능하다길래 시도해보았으나 자기들이 생성한 음원에 정확히 맞게 멜로디를 뽑아주는 것도 아니었다. 이럴거면 스포티파이에서 오픈소스로 내놓은 natural pitch 프로그램을 쓰거나 멜로다인이나 로직프로의 플렉스 피치에서 내가 수작업으로 음향 라인을 따서 피칭 조절 후 midi로 변환 하는 게 훨 나았다.

그러다 문득 이런 생각이 들었다.

차라리 내가 화성학과 프로듀싱을 좀 더 깊게 배울까? 머신러닝은 음원 파일에서 특정 작업 구간에 반복작업 오토메이션으로 쓰이는 것으로 충분하다. 어차피 분류와 편집, 클러스터링만 자동 전처리가 되고 편곡 및 편집은 내가 직접 하는 게 차라리 속 편하기 때문이다. 그러나 나는 뮤직 프로듀싱을 한번도 제대로 배워본 적이 없다. 유튜브나 블로그엔 참 다양한 자료가 많지만 체계적으로 학습법과 단계별 진행을 차근차근 알짜배기로 중요 포인트만 모아서 내놓는 온라인 강의를 찾는 것도 쉽진 않았다. Gemini LLM Notebook은 개념이해를 플래시카드랑 슬라이드로 만들어 이해하는 데는 좋지만 실제 도구를 사용하며 어떤 개념을 적용해 내가 창작을 하는 가이드라인까지는 제공해주지 못한다. 나는 Gen AI나 ML를 자주, 그리고 많이 사용하는 사용자이긴 하지만 너무 무분별하게 쏟아지는 (이 중 옥석을 가려내기는 참 힘든) 정보 맥시멀리즘의 현 시대에 많이 인지적 피곤함을 느낀다. 똥들로 가득찬 정보의 바다…데이터 클리닝을 하기 더 힘든 현실이 되었다.

다시 각설하고 넘어가서, 최근 케이팝을 많이 듣는 뼛속까지 케이팝퍼인 나는 음원을 듣다 좀 헛헛한 목마름을 내가 직접 리마스터링/리믹싱을 해서 채우기로 했다.

케이팝은 EDM 복합 장르를 섞어 비트와 베이스를 골자로 해서 흐르듯 말하는 듯한 창법이 요 몇년 동안 주된 대세였다. 그게 나쁘진 않지만 중학교때부터 인디밴드와 락발라드 위주로 들었던 나는 (언젠가 기회가 된다면 한국의 락발라드와 인디밴드들의 계보를 읖는 것도 괜찮을지도) 찌잉하게 울리는 전기 buzz 노이즈가 감미된 기타의 날카로운 사운드와 중후하게 울려퍼지는 강하고 묵직한 베이스, 그리고 청량하게 콘서트홀을 울리는 드럼사운드가 그리워졌다.

그래서 요즘 가장 많이 듣고 있는 Plave의 Rizz와 Chroma Drift를 내 입맛에 맞게 편곡하기 시작했다.

(그림 각주: EQ와 ChromaGlow 등 여러 플러그인을 적용해 음향 효과를 주고 기타 사운드를 자르고 페이드인을 먹이는 스크린 샷) (비디오 각주: 여러 음향 보정 작업을 거친 Rizz 15초 그리고 원본 음향 15초 대비 영상 - 총 30초)

내가 편곡했지만 너무 입맛에 맞게 기깔나게 맛있다…ㅠㅠ 이 작업을 통해 VST를 이리저리 깔짝여보며 mix와 마스터링에 대한 연습이 좀 되었다. 오디오 인터페이스와 음향 버퍼링에 대해서 좀 더 체감을 하게 된 작업들이었다. (링크: 케이팝 원곡을 내 입맛에 맞게 레트로 슈게이징 라이브 밴드 버젼으로 편곡해보기에서 발췌)

Related Articles

Hardware Making Logs

2022-08-15-Megadrum-soldiering-battle EN-DIY-Converting-HIHAT-and-FloorTom KR-DIY-The Transforming Journey of my Franken EN-DIY-Converting the acoustic drumkit to e-kit-pt1

Digital Making Logs

KR-Retro-Review-Progress-drumgaming-to-producing-and-data-analysis

Cross Domain Application Progress Logs

2025-03-05-Retrospective_Journal_2025-02-jekyll

2025-02-10-Retrospective_Journal_2025-01-jekyll 2025-03-05-Retrospective_Journal_2025-02-jekyll