본문 바로가기

audio/audio transcription

[논문리뷰] Polyphonic Piano Transcription using Autoregressive Multi-State Note Model (ISMIR20)

제목: Polyphonic Piano Transcription using Autoregressive Multi-State Note Model
저자: Taegyun Kwon, Dasaem Jeong, Juhan Nam

소속: Graduate School of Culture Technology, KAIST
발표: ISMIR 2020
논문: https://archives.ismir.net/ismir2020/paper/000341.pdf
웹페이지: https://taegyunkwon.github.io/ar_multi_transcription/

- 최근 Piano Transcription이 잘되고 있긴 한데, 네트워크도 여러개쓰고 로스도 여러개 써야하고 점점 복잡해지는 것 같음. note state를 고려한 모델로 좀 간단하게 한번에 할 수 있는 모델을 만들 수는 없을까?
- 5개의 note state 그리고 autoregressive 방식(CNN+RNN)을 이용한 모델을 만드니, 결과적으로 파라미터는 더 적게 쓰면서도 Onsets and Frames[Hawthorne18]과 거진 대등한 결과를 보임

Story

현재까지 piano transcription 소타모델은 Onsets and Frames [Hawthorne18]임. 온셋을 이용한 덕분에 에러도 많이 줄고 좋아짐. 사실 이렇게 온셋같은 여러 state를 이용한 모델은 그 전부터 그리고 다른 논문에서도 찾아볼 수 있음[Costantini09][Kwon17][Kelz19]. 특히 여기 저자들은 [Kwon17]에서 피아노 오디오를 악보로 옮길 때 이러한 방법론을 사용했었음. 따라서 Onsets and Frames 방식을 수정해서 여러 State를 사용하면 어떨까 실험해봄.

 

Model Overview

먼저 CNN 모델이 인풋에서 local feature($h$)를 뽑아냄. 그 뒤 RNN-based autoregressive model이 $h$를 바탕으로 이전 아웃풋으로부터 새로운 아웃풋을 만들어냄. 아웃풋 레이어에는 88개의 소프트맥스로 되어있어 피아노 음을 뽑아내게 됨. RNN은 uni-directional LSTM을 사용함. 따라서 파라미터도 적고 리얼타임도 가능함.  


Multiple Note States

총 5개의 note state를 정의함. 기존에는 음이 시작되고(on) 끝나는(off) 그냥 바이너리 형태였지만, 여기에 온셋(onset)과 오프셋(offset), 그리고 리온셋(re-onset)을 추가함. 제일 마지막은 서스테인 페달이 눌러져있는 동안 동일한 음이 다시 눌러질 때를 표현하기 위한 것. 이렇게 여러 스테이트로 나누면 노트들의 transition pattern을 더 잘 학습할 수 있게 됨. 또한 좀 더 현실적인 inference가 일어날 수 있음. re-onset을 추가하는 것도 피아노의 어택소리를 구분해서 더욱 잘 표현할 수 있게 됨.


Autoregression Model

일단 프레임레벨로 노트를 예측을 하고 이를 실제 음으로 디코딩함. 어떤 음(들)이 있을 때 다음 음이 무엇인가? 이 문제는 Musical Language Model (MLM)이라는 이름으로 정의되어 있는 문제임. 많은 수의 미디같은 심볼링 데이터로 훈련을 시켜서 이 모델을 얻곤 하지만, 사실 오디오를 인풋으로 함께 사용하면 더 좋음. 또한 프레임 레벨로 온/오프 바이너리 표현법으로만 rnn을 돌리면 smoothing해진다는 단점도 있음. 노트레벨이면 좋겠지만 또 이러기 위해서는 마디랑 비트도 구해야 되고 일이 커짐. 그런데 여기서 제안한 방법을 이용하면 오디오도 이용할 수 있고, 여러 노트 스테이트도 이용할 수 있기 때문에 이러한 문제가 해결될 수 있음. 오디오 인풋(x)을 조건으로 하는 autoregressive model을 식으로 표현하면 이렇게 됨



Note Decoding

두가지 방법으로 프레임레벨 노트를 실제 음으로 바꾸어보고자 함. 먼저 단순한 그리디 버전. 메 프레임 가장 확률높은 스테이트를 뽑는 것. 하지만 글로벌 옵티멈은 아니겠지? 그래도 또 테스트한 방법은 빔서치를 이용한 글로벌 최적화. 기존에도 사용된 방법이긴 하지만 멀티 스테이트에서도 사용하기 위해서 threshold와 몇가지 수정된 기법이 필요함. 

Experiments and Results

데이터는 MAESTRO[Hawthorne19]를 사용. 인풋은 멜스펙트로그램. 새로운 스테이트중에서는 onset이 효과가 가장 좋았음. offset도 좋음. 최종적으로는 5개 다 사용하는 것이 가장 좋음. Autoregression모델을 사용하는 것이 F스코어가 더 높게 나오긴 했지만 항상 좋기만 한 것은 아님. 피아노 음들은 너무 다양함; 
그런데 디코딩에서는 그리디 방법이 글로벌 최적화보다 더 결과가 좋음?!? 아마도 빔서치에서 path가 옵티멀하게 뽑히지 않았을 것 같음. 몇가지 방법을 시도해볼 수는 있겠지만 이건 다음기회로.



역시 피아노 음악은 복잡함. 연주하기에도 연구하기에도. 그래서 좀 더 피아노스러운 요소를 고려해보니 보다 간단한 모델로도 잘 되는듯? 남교수님은 역시 피아노 음악 좋아하심 

  • [Costantini09] G. Costantini, R. Perfetti, and M. Todisco, “Event based transcription system for polyphonic piano mu- sic,” Signal Processing, vol. 89, no. 9, p. 1798–1811, 2009.
  • [Kwon17] T. Kwon, D.Jeong, and J. Nam, “Audio-to-score alignment of piano music using RNN-based automatic music transcription,” in Proc. of the 14th Sound and Music Computing Conference (SMC), 2017, pp. 380–385.
  • [Hawthorne18] C. Hawthorne, E. Elsen, J. Song, A. Roberts, I. Simon, C. Raffel, J. Engel, S. Oore, and D. Eck, “Onsets and frames: Dual-objective piano transcription,” in Proc. of the 19th International Society for Music Information Retrieval Conference (ISMIR), October 2018, pp. 50– 57. [논문리뷰]
  • [Hawthorne19] C. Hawthorne, A. Stasyuk, A. Roberts, I. Simon, C. Huang, S. Dieleman, E. Elsen, J. Engel, and D. Eck, “Enabling factorized piano music modeling and gener- ation with the MAESTRO dataset,” in Proc. of the 7th International Conference on Learning Representations (ICLR), 2019. [논문리뷰]
  • [Kelz19] R. Kelz, S. Böck, and G. Widmer, “Deep polyphonic ADSR piano note transcription,” in Proc. of the 44th International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, May 2019, pp. 246–250.