다중 트랙 측정의 잠재 공간 학습

본 논문은 MusicVAE를 확장해 최대 8개의 트랙을 갖는 멀티트랙 MIDI 측정을 이벤트 기반 시퀀스로 표현하고, 이를 512 차원의 잠재 공간에 매핑하는 변분 오토인코더(VAE)를 제안한다. 코드와 디코더에 코드 진행 정보를 조건으로 넣어 화성은 고정하면서 편곡·다이내믹을 자유롭게 변형할 수 있다. 모델은 Lakh MIDI 데이터셋을 이용해 학습했으며, 측정 샘플링, 잠재 공간 보간, 속성 벡터 연산, 코드 조건화 등 다양한 생성·편집 기…

저자: Ian Simon, Adam Roberts, Colin Raffel

다중 트랙 측정의 잠재 공간 학습
본 논문은 멀티트랙 MIDI 측정을 효과적으로 모델링하고, 이를 잠재 공간에 매핑함으로써 음악 생성·편집을 직관적으로 수행할 수 있는 프레임워크를 제시한다. 연구 배경으로는 기존 심볼릭 음악 생성 모델들이 단일 악기(피아노) 혹은 고정된 트랙 구성을 다루는 경우가 많아 실제 음악 제작에 필요한 풍부한 편곡 정보를 반영하기 어려웠다는 점을 들었다. 특히 MusicVAE는 3개의 트랙과 제한된 타이밍·다이내믹만을 지원했으며, 코드 진행을 직접 제어할 메커니즘이 없었다. 이를 해결하기 위해 저자들은 (1) 이벤트 기반 트랙 표현, (2) 계층적 변분 오토인코더(VAE) 구조, (3) 코드 조건화 메커니즘을 도입하였다. 이벤트 기반 표현은 MIDI와 거의 동일한 형태로, note‑on/off, velocity‑change, time‑shift, program‑select, end‑track 토큰을 사용한다. 이렇게 하면 각 트랙이 독립적인 시퀀스로 처리되면서도, 트랙 간 동시성을 유지할 수 있다. 8개의 트랙까지 지원하며, 트랙 수가 부족한 경우는 end‑track 토큰만으로 채워진다. 모델은 두 단계의 LSTM으로 구성된다. 인코더는 각 트랙을 개별 bidirectional LSTM에 입력해 트랙 임베딩을 만든 뒤, 이 8개의 임베딩을 또 다른 bidirectional LSTM에 넣어 전체 측정의 전역 임베딩을 만든다. 전역 임베딩은 선형 레이어를 거쳐 평균 µ와 표준편차 σ를 출력하고, 정규분포에서 샘플링된 잠재 벡터 z를 얻는다. 디코더는 ‘콘덕터’ LSTM을 통해 z를 8개의 트랙 임베딩으로 변환하고, 각 트랙마다 별도 LSTM이 해당 임베딩을 초기 상태로 받아 이벤트 시퀀스를 autoregressive하게 생성한다. 출력은 이벤트 어휘 전체에 대한 softmax 확률이며, 온도 0.2의 샘플링으로 실제 음표를 뽑는다. 코드 조건화는 인코더와 디코더 입력에 49차원의 원‑핫 코드 벡터를 concatenate함으로써 구현한다. 이 벡터는 측정 내에서 코드가 바뀔 경우에도 업데이트되며, 모델은 코드 정보를 잠재 벡터와 분리하도록 학습한다. 따라서 동일 잠재 점을 다른 코드 진행에 디코딩하면 화성만 바뀌고 편곡·다이내믹은 유지된다. 손실 함수는 재구성 교차 엔트로피와 KL 발산의 차이이며, ‘free bits’ 기법(τ=64)을 적용해 KL 손실이 일정량을 초과할 때만 페널티를 부여한다. 이는 재구성 정확도와 샘플링 다양성 사이의 균형을 맞추는 역할을 한다. 속성 변환 실험에서는 τ를 256으로 늘려 속성 벡터(피치 범위 확대, 스트링 전용, 트랙 수 증가 등)를 학습시켰다. 학습 데이터는 Lakh MIDI Dataset에서 4/4 박자, 96 타임스텝(4쿼터노트) 측정만을 추출해 사용했으며, Adam 옵티마이저(배치 256, 학습률 1e‑3→1e‑5)로 100k 스텝을 진행했다. 모델 하이퍼파라미터는 양쪽 LSTM에 1024 노드, 디코더 하위 LSTM에 3층 512 노드, 잠재 차원 512이다. 실험 결과는 다음과 같다. 첫째, 무작위 잠재 벡터를 샘플링해 생성된 측정은 멀티트랙 구조와 다이나믹이 자연스럽고, 인간 청취자 평가에서 높은 만족도를 보였다. 둘째, 두 측정의 잠재 벡터를 선형 보간하면 중간 단계에서 음악적 의미가 유지되는 부드러운 변형이 가능했다. 셋째, 속성 벡터 연산을 통해 피치 범위 확대, 특정 악기군(예: 스트링)만 사용, 트랙 수 증가 등 의도된 변형을 정확히 수행했다. 넷째, 동일 잠재 점을 다양한 코드 진행에 디코딩했을 때, 멜로디와 편곡은 유지되면서 화성만 바뀌는 현상이 확인되었다. 이는 코드 진행에 맞춘 장기 구조 음악을 만들 때, 하나의 잠재 점을 여러 마디에 걸쳐 적용함으로써 간단히 구현할 수 있음을 의미한다. 논문의 한계로는 (1) 측정 단위가 1마디에 고정돼 전체 곡의 장기 구조를 직접 모델링하지 못한다는 점, (2) 타임스텝이 96으로 고정돼 복잡한 리듬 변형(예: 3/4, 6/8 등)이나 자유로운 템포 변화를 다루기 어렵다는 점을 들었다. 또한, 이벤트 어휘가 고정돼 비표준 MIDI 메시지(예: 마이크로톤, 피치 벤드 등)를 포함하지 않는다. 향후 연구에서는 트랜스포머 기반의 계층을 도입해 비정형 길이와 복합적인 리듬을 처리하거나, 멀티마디 구조를 직접 학습하는 방법을 모색할 수 있다. 결론적으로, 이 논문은 멀티트랙 심볼릭 음악을 고차원 잠재 공간에 매핑하고, 코드 조건화를 통해 화성과 편곡을 독립적으로 제어할 수 있는 실용적인 프레임워크를 제공한다. 이는 작곡가와 프로듀서가 원하는 스타일·화성을 유지하면서 빠르게 아이디어를 시도하고, 기존 MIDI 파일을 직관적으로 변형할 수 있는 새로운 도구로 활용될 가능성을 보여준다.

원본 논문

고화질 논문을 불러오는 중입니다...

댓글 및 학술 토론

Loading comments...

의견 남기기