40 한상준1.png Sangjun Han 2023.01.12

[ISMIR / NeurIPS 2022] Symbolic Music Motif Generation

Introduction

음악 창작은 가장 높은 수준의 창의성이 요구되는 작업 중 하나입니다. 작곡하는 과정을 생각해보면 먼저 전체적인 악상을 떠올리고 메인 멜로디와 그에 맞는 화성 및 악기 구성을 고민합니다. 실제 우리 귀에 도달하려면 보컬, 작사, 편곡, 믹싱까지 눈에 보이지 않는 수많은 노력이 추가로 필요합니다.

그래서 저희는 아티스트가 곡을 창작하고 연주하는 일련의 과정에서 AI가 기여할 수 있는 방식을 고민했습니다. 그 결과로 창작의 모티프를 전달하는 생성 모델 연구를 시작했습니다. 모티프란 어떤 이야기의 핵심 주제가 되는 단서를 의미하기 때문에 이를 생성하는 것은 작곡의 첫 번째 단계라고 할 수 있습니다. 그래서 곡 전체를 한 번에 생성하기보다는 핵심이 되는 4마디 혹은 8마디를 잘 생성해 아티스트가 좋은 음악으로 발전시킬 수 있도록 돕는 방식이 적절하다고 생각했습니다.

본 포스팅에서는 위 고민의 결과로 ISMIR 2022와 NeurIPS 2022 Workshop on Machine Learning for Creativity and Design에 발표했던 두 편의 논문을 소개하겠습니다.

 

Background

음악은 다양한 형태로 표현될 수 있는데 그중에서 MIDI (Musical Instrument Digital Interface)는 사용된 악기 정보와 음악과 관련된 메타 정보 (signature, tempo, beat)가 포함되어 있고, 각 악기에 대한 노트 정보 (note on/off time, pitch, velocity)를 통해 음악을 재생합니다. 특히, 디지털 악기를 위한 표준화된 규약이 정해져 있어 다루기가 쉽습니다. 비록 사용하는 가상 sound pack에 따라 사운드의 질이 크게 달라지고 현악기의 미세한 떨림을 표현할 수 없다는 단점이 있지만, discrete space에서 데이터를 다룰 수 있어 모티프를 전달하기에는 충분하다고 판단했습니다. MIDI를 matrix로 표현하는 여러 방법 중에 저희는 십육분음표 단위로 quantize한 binary representation (y∈{0,1}Time X Pitch X Inst)을 사용했습니다.

 

Symbolic Music Loop Generation with Neural Discrete Representations[1]

음악 도메인의 가장 큰 특징은 짧은 리듬 패턴에서부터 구와 절 단위까지 반복된다는 점입니다. 따라서, 단순히 Transformer의 self-attention에만 의존해서는 여러 반복적인 패턴을 잘 반영하지 못할 수 있습니다. 이 문제를 해결하기 위해 저희는 1) loop 생성에 집중하고, 2) discrete latent code를 이용해 반복되는 패턴을 finite space에서 표현하였습니다.

음악의 핵심 골격이 되는 loop은 4마디 혹은 8마디의 음악 단위입니다. Loop을 반복해서 재생하거나 몇 개의 loop을 잘 조합하는 것만으로도 하나의 음악을 완성할 수 있습니다. 그러므로 loop은 아티스트에게 좋은 모티프가 될 수 있습니다. 또한, 생성해야 하는 길이가 짧기 때문에 autoregressive model이 갖는 error accumulation을 줄일 수 있습니다.

그래서 데이터 세트 준비 단계로 Lakh MIDI Dataset (LMD)[2]로부터 loop을 추출하는 one-class loop detector를 설계하였습니다. 그 이유는 MIDI에 대한 loop set이 부재했고, loop을 추출하는 기존의 방법들이 곡의 구조 패턴으로부터 autocorrelated peak를 감지하는 데만 의존했기 때문입니다.[3], [4]

 

Figure 1. One-class loop detector로부터 loop를 추출하는 과정과 성능 평가[1]

 

여러 음악 sample을 들어보면 loop에서만 볼 수 있는 볼 수 있는 시작과 끝, 그리고 규칙이 있습니다. 예를 들어 loop을 8마디로 가정한다면 [A - B - A - B - A - B - C – D], [A - B - C - D - A - B - C – D], [A - B - A - B - A - B - A – B] 등의 패턴을 생각해볼 수 있습니다. 앞서 제시한 예시에서는 모두 첫 번째 마디와 다섯 번째 마디가 유사합니다. 이러한 패턴을 data-driven approach로 학습하여 LMD로부터 loop을 추출하고자 했습니다. 저희의 loop detector는 anomaly detection 모델인 Deep SVDD[5] 기반으로 정상 데이터만 주어졌을 때 이에 대한 확률 분포를 잘 추정한 다음, 확률적으로 낮거나 outlier인 sample을 비정상으로 간주하는 원리로 작동합니다. 즉, Figure 1의 (b) 그림과 같이 loop set을 정상 데이터로 가정하고 모델을 학습해 unseen sample의 확률값을 이용해 loop 여부를 판별하겠다는 의미입니다. 학습을 위해서는 음악 커뮤니티인 Looperman에서 수집한 loop audio set을 데이터로 활용했습니다. Figure 1의 (a)에서 볼 수 있듯 오디오와 MIDI의 데이터는 서로 형태가 다르지만, bar-to-bar correlation matrix로 변환하면 곡의 진행 패턴을 표현할 수 있으므로 loop을 판별하는 데 유용하다고 생각했습니다. 확률값을 대신해 embedding space에서 center와의 distance를 loop score로 정의했고, 값이 낮을수록 loop에 가까운 구조를 가지는 sample이라고 할 수 있습니다. 그 결과 Figure 1의 오른쪽 그림과 같이 loop set이 random set에 비해 유의미하게 낮은 loop score를 기록한 것을 확인할 수 있었습니다.

다음으로는 loop 생성을 위해 VQ-VAE[6]로 loop set을 압축하고, 압축된 discrete code를 LSTM으로 모델링했습니다. 사람이 친숙하게 느끼는 리듬 패턴을 유한한 개수의 code로 표현할 수 있다고 가정했기 때문입니다. 그러나 데이터의 수가 부족해서인지 autoregressive model로 Transformer를 적용했을 때는 full sampling mode에서의 성능이 원하는 만큼 나오지 않았습니다.

 

Table 1. 성능 평가[1]

 

Table 1에 나타난 것과 같이 성능을 평가하기 위해서 아래 metric을 사용했습니다.

- Loop Score (LS): 학습된 loop detector를 이용해 얼마나 loop 구조에 가까운 sample을 생성하는지 평가
- Unique Pitch (UP): 한 마디에 사용된 평균 pitch 수, training set과 유사한 화성을 사용했는지를 평가
- Note Density (ND): 한 마디에 사용된 평균 note 수, training set과 유사한 리듬을 사용했는지를 평가
- Precision & Recall (P & R)[7]: training set과 generated set 간의 overlapped ratio를 측정, sample의 fidelity와 diversity를 표현
- Density & Coverage (D & C)[8]: P & R보다 outlier에 대해 robust한 지표

 

그런데 P & R과 D & C를 계산하기 위해서는 pre-trained classifier로부터 latent feature를 추출해야 합니다. MIDI 도메인에는 본 연구에 맞는 classifier가 없었으므로 Naeem et al.[8]를 참조해 randomly initialized networks를 feature extractor로 사용했습니다. (참조한 논문은 random networks도 충분히 feature extractor로 활용할 수 있다고 보고했습니다.) Music Transformer[9]와 MuseGAN[10]과 비교했을 때 저희 모델이 sample의 fidelity와 diversity 관점에서 더 좋은 성능을 보였고, human listening test에서도 좋은 점수를 얻었습니다. 또한, 학습된 loop detector를 활용해 생성 모델의 fidelity와 diversity를 조절하는 rejection sampling[11]을 적용할 수 있었습니다. [paper] [code] [demo]

 

Instrument Separation of Symbolic Music by Explicitly Guided Diffusion Model[12]

편곡에는 여러 가지 방법이 있는데, 같은 음악을 다른 악기로 연주하는 것으로도 편곡의 효과를 얻을 수 있습니다. 예를 들어 피아노로 연주된 곡에 클래식한 느낌을 더하기 위해 같은 곡을 어쿠스틱 기타로 연주하는 것과 같은 원리입니다.

본 연구에서는 악기의 label을 제거하고 노트만 표기된 mixture(x∈{0,1}Time X Pitch)가 주어졌을 때 music(y∈{0,1}Time X Pitch X Inst)을 복원하는 편곡 생성 모델 (Mixture2Music)을 설계했습니다. 다시 말해, 각 노트를 어떤 악기에 할당할지 선택하는 문제입니다. 이 문제는 여러 solution을 생성할 수 있기 때문에 ill-posed problem이고, computer vision의 image segmentation 또는 colorizing 문제와 매우 유사합니다. 저희 모델이 달성해야 하는 목표는 1) diversity: 다양한 음악을 생성할 수 있어야 하고, 2) consistency: 원곡의 노트를 최대한 유지하며 생성할 수 있어야 합니다.

 

Figure 2. Diffusion model for Mixture2Music[12]

 

이를 위해 likelihood-based model인 diffusion model (DDPM[13], DDIM[14])을 활용해 곡의 다양성을 표현하고자 했습니다. 대체로 likelihood-based generative model이 GAN 방식에 비해 다양한 mode를 잘 표현하는데, 특히 diffusion model은 VAE나 normalizing flow에 비해 모델 구조의 제약이 적습니다. 그리고 원곡의 노트를 유지하기 위해 reverse process의 예측값에 mixture를 곱하여 사용되지 않는 노트를 생성하지 못하도록 강제했습니다. 그 결과 diversity와 consistency 관점에서 저희 모델이 좋은 결과를 얻을 수 있었습니다. [paper] [code] [demo]

 

Conclusion

지금까지 아티스트에게 영감을 주기 위해 시작한 1) 음악의 구조적인 패턴을 이용한 loop 추출 및 discrete representation을 활용한 loop 생성 연구, 2) diffusion model에 strong consistency를 강제한 편곡 생성 연구를 소개했습니다. 전자의 연구를 통해서는 짧은 길이지만 범용성이 높은 고품질의 loop을 생성할 수 있었고, 후자를 통해서는 diffusion model에 constraint 강제하는 새로운 방식을 제안해 다양하게 편곡할 수 있게 했습니다. 향후 지속적인 연구를 통해 긴 길이의 음악을 생성하되 여러 계층에서의 반복되는 패턴을 반영하고, 사람이 쉽게 제어할 수 있는 형태로 발전시킬 예정입니다.


▶Instrument Separation of Symbolic Music by Explicitly Guided Diffusion Model (Link)

참고
[1] Sangjun Han, Hyeongrae Lim, Moontae Lee, and Woohyung Lim, “Symbolic Music Loop Generation with Neural Discrete Representations,” in Proc. of the 23th International Society for Music Information Retrieval Conference, 2022.

[2] Colin Raffel, “Learning-based Methods for Comparing Sequences, with Applications to Audio-to-MIDI Alignment and Matching,” Ph.D. dissertation, Columbia University, 2016.

[3] Bee Suan Ong, and Sebastian Streich, “Music Loop Extraction from Digital Audio Signals,” in Proc. of the 2008 IEEE International Conference on Multimedia and Expo, IEEE, 2008, pp. 681-684.

[4] Zhengshan Shi, and Gautham J. Mysore, “LoopMaker: Automatic Creation of Music Loops from Pre-recorded Music,” in Proc. of the 2018 CHI Conference on Human Factors in Computing Systems, 2018, pp. 1-6.

[5] Lukas Ruff, Robert A. Vandermeulen, Nico Goernitz, Lucas Deecke, Shoaib A. Siddiqui, Alexander Binder, Emmanuel Muller, and Marius Kloft, “Deep One-Class Classification,” in Proc. of the 35th International Conference on Machine Learning, PMLR, 2018, pp. 4393-4402.

[6] Aaron Van Den Oord, Oriol Vinyals, and Koray Kavukcuoglu, “Neural Discrete Representation Learning,” in Advances in Neural Information Processing Systems, 2017, pp. 6306-6315.

[7] Mehdi S. M. Sajjadi, Olivier Bachem, Mario Lucic, Olivier Bousquet, and Sylvain Gelly, “Assessing Generative Models via Precision and Recall,” in Advances in Neural Information Processing Systems, 2018, pp. 5228-5237.

[8] Muhammad Ferjad Naeem, Seong Joon Oh, Youngjung Uh, Yunjey Choi, and Jaejun Yoo, “Reliable Fidelity and Diversity Metrics for Generative Models,” in Proc. of the 37th International Conference on Machine Learning, PMLR, 2020, pp. 7176-7185.

[9] Cheng-Zhi Anna Huang, Ashish Vaswani, Jakob Uszkoreit, Noam Shazeer, Ian Simon, Curtis Hawthorne, Andrew M. Dai, Matthew D. Hoffman, Monica Dinculescu, and Douglas Eck, “Music Transformer,” arXiv preprint arXiv:1809.04281, 2018.

[10] Hao-Wen Dong, Wen-Yi Hsiao, Li-Chia Yang, and Yi-Hsuan Yang, “MuseGAN: Multi-track Sequential Generative Adversarial Networks for Symbolic Music Generation and Accompaniment,” in Proc. of the AAAI Conference on Artificial Intelligence, 2018, pp. 34-41.

[11] Ali Razavi, Aaron Van den Oord, and Oriol Vinyals, “Generating Diverse High-Fidelity Images with VQVAE-2,” in Advances in Neural Information Processing Systems, 2019, pp. 7989-7999.

[12] Sangjun Han, Hyeongrae Lim, DaeHan Ahn, and Woohyung Lim, “Instrument Separation of Symbolic Music by Explicitly Guided Diffusion Model,” in NeurIPS Workshop on Machine Learning for Creativity and Design, 2022.

[13] Jonathan Ho, Ajay Jain, and Pieter Abbeel, “Denoising Diffusion Probabilistic Models,” Advances in Neural Information Processing Systems, 33:6840-6851, 2020.

[14] Jiaming Song, Chenlin Meng, and Stefano Ermon, “Denoising Diffusion Implicit Models,” arXiv preprint arXiv:2010.02502, 2020.