Upgrade to Pro — share decks privately, control downloads, hide ads and more …

순환 신경망과 MIDI 데이터에 기반한 음악 연주 정보 예측 기법 연구

Taein Kim
December 02, 2021

순환 신경망과 MIDI 데이터에 기반한 음악 연주 정보 예측 기법 연구

Taein Kim

December 02, 2021
Tweet

More Decks by Taein Kim

Other Decks in Research

Transcript

  1. 순환 신경망과 MIDI 데이터에 기반한 음악 연주 정보 예측 기법

    연구 A study on the Music Performance Prediction based on Recurrent Neural Network and MIDI data 인하대학교 전기컴퓨터공학과 전자공학 석사과정 김태인 (22201324) 2021년 12월 3일
  2. 2

  3. 순환 신경망과 MIDI 데이터에 기반한 음악 연주 정보 예측 기법

    연구 A study on the Music Performance Prediction based on Recurrent Neural Network and MIDI data 인하대학교 전기컴퓨터공학과 전자공학 석사과정 김태인 (22201324) 2021년 12월 3일
  4. 목차 • 서론 • 관련 연구 • 제안 알고리즘 •

    실험 구성 및 결과 • 결론 및 고찰
  5. 목차 • 서론 • 관련 연구 • 제안 알고리즘 •

    실험 구성 및 결과 • 결론 및 고찰
  6. 서론 6 기호관점에서의음악정보 • 기호를 이용한 표현 • 컴퓨터가 읽고

    해석할 수 있음 • 구성 이벤트: • 음정 • 시작 시간 (Onsets) • 종료 시간 (Offsets) • 음량 (Velocity) • MIDI / 피아노 롤 시간 이벤트 → 기록된 MIDI를 전자악기로 연주 전자 악기의 연주를 실시간으로 기록 연주될 이벤트를 수기로 작성
  7. 서론 7 기호관점에서의음악정보 Gymnopédie No. 1 – Satie Written by

    ClassicMan https://musescore.com/classicman/satie-gymnopedie-no-1 Concert Etude No. 2, "Gnomenreigen", S. 145/2 - Franz Liszt Performed by Xing Yu Lu https://www.piano-e-competition.com/midi_2011.asp 강약(Velocity) 정보가 인위적으로 작성되어 있어 듣기에 부자연스러움 음표 간의 세기 차이가 짧은 시간 안에도 굉장히 큼 강약의 변화 경향이 자연스러움 인터넷에서 구한 미디 악보 전문가가 입력한 미디 악보
  8. 서론 8 연구목표 전문 음악인의 연주 기록 전문가의 연주 정보가

    예측된 미디 데이터 • 일반적으로 공개된 미디 데이터 • 수기로 작성한 미디 데이터 연주 기록을 학습/예측하는 모델
  9. 목차 • 서론 • 관련 연구 • 제안 알고리즘 •

    실험 구성 및 결과 • 결론 및 고찰
  10. 관련 연구 10 Iman Malike, Carl Henrik Ek. "Neural Translation

    of Musical Style" Malik, Iman, and Carl Henrik Ek. "Neural translation of musical style." arXiv preprint arXiv:1708.03535 (2017). https://arxiv.org/abs/1708.03535 • MIDI로 기록된 클래식/재즈 데이터를 학습 • 4/4 박자의 음악만 이용함 • 각 음표의 박자를 1/16 박자 단위로 보정 • 세부적인 박자 정보 누락됨 • 음의 지속시간을 입력 시작/지속/끝으로 구분
  11. 관련 연구 11 Gino Brunner, Andres Konrad, Yuyi Wang, Roger

    Wattenhofer - "MIDI-VAE: Modeling Dynamics and Instrumentation of Music with Applications to Style Transfer" Brunner, Gino, et al. "MIDI-VAE: Modeling dynamics and instrumentation of music with applications to style transfer." arXiv preprint arXiv:1809.07600 (2018). https://arxiv.org/abs/1809.07600 • Variational Autoencoder (VAE)와 GRU(Gated Recurrent Unit)에 기반하여 음악 Style Transfer를 구현 • MIDI에 포함된 악기 및 각 악기의 연주 정보를 장르 레이블과 함께 학습하여 임의의 음악을 다른 장르로 변환
  12. 목차 • 서론 • 관련 연구 • 제안 알고리즘 •

    실험 구성 및 결과 • 결론 및 고찰
  13. 제안 알고리즘 13 벨로시티 정보의 특성 (단기적/장기적 관점) • 벨로시티

    정보를 결정하는 요소: • 시간 축에서의 위치 • 음의 높이(계명) • 음의 지속 시간 • 인접한 음표일수록 비슷한 크기를 갖거나 증감 경향을 가짐 • 사람의 손으로 연주되었기 때문에 유사한 힘으로 입력되는 경향 • 거의 동시에 입력된 음표들은 음표끼리 세기 편차가 큰 편임 • 장기적인 관점에서는 주기적인 추세를 가지고 오르내리는 형태 ① ② ③ ③ ② ① ② • 벨로시티(Velocity): 음표를 얼마나 세게 칠 지를 정하는 수치
  14. 제안 알고리즘 14 벨로시티 정보의 특성 (MIDI 데이터 관점) time

    time_diff note_num length velocity 755 0 66 209 46 939 184 70 45 55 1096 157 73 60 65 1263 167 70 195 68 1442 179 66 40 65 1596 154 73 73 76 1752 156 54 186 48 1770 18 75 103 66 1879 109 73 47 64 1929 50 58 45 56 1938 9 75 55 60 2031 93 73 34 47 2078 47 75 41 63 ... ... ... ... ... • 벨로시티 정보와 상관관계를 갖는 MIDI 데이터: • Time (노트의 시간적 위치) [0~N] • Note number (노트의 계명) [21~108] = [𝐶1 ~𝐶6 ] • Length (노트의 지속시간) [0~N] • Velocity (노트의 세기) [0~127] • Time 정보는 곡의 길이에 따라 무한정 늘어날 수 있어 feature로 사용하기 부적절할 수 있음 • 앞 노트와의 시간 차를 계산하여 feature로 사용 (time_diff) • 동시에 입력된 노트일수록 time_diff가 0 또는 0에 가까움 • Length 정보는 이론상 무한정 늘어날 수 있지만 사람이 만드는 정보이므로 현실적으론 유한한 범위를 가짐
  15. 제안 알고리즘 15 MAESTRO 데이터셋 15 Midi and Audio Edited

    for Synchronous TRacks and Organization 데이터셋 특징: • 세계 정상급 피아니스트들의 경연 연주를 기록함 • 오디오, MIDI 두가지매체를모두수집함 • Yamaha Disklavier* 피아노를 사용하여 연주와 동시에 MIDI 정보를 취득함 • 오디오와미디데이터는~3ms의 오차범위 내에서 정렬됨 *Disklavier: 고해상도 미디 정보를 기록할 수 있는 그랜드 피아노 https://en.wikipedia.org/wiki/Disklavier http://piano-e-competition.com/ 1,814 Performances 430 Compositions 172.3 Hours of Audio and MIDI 6.18 Million Notes by Google Magenta project Curtis Hawthorne, Andriy Stasyuk, Adam Roberts, Ian Simon, Cheng-Zhi Anna Huang, Sander Dieleman, Erich Elsen, Jesse Engel, and Douglas Eck. "Enabling Factorized Piano Music Modeling and Generation with the MAESTRO Dataset." In International Conference on Learning Representations, 2019. Link: https://magenta.tensorflow.org/datasets/maestro
  16. 제안 알고리즘 16 최종 네트워크 형태 time_diff note_num length (𝑋)

    LSTM LSTM LSTM LSTM FC (32,1) (32 cells) MSE & CosineSimilarity Adam velocity (Y)
  17. 목차 • 서론 • 관련 연구 • 제안 알고리즘 •

    실험 구성 및 결과 • 결론 및 고찰
  18. 실험 구성 18 개발 환경 프로그래밍 환경 • OS: Ubuntu

    20.04 LTS • CPU: AMD Ryzen 3900x (12c24t) • RAM: DDR4 128GB 2666MHz • GPU: NVIDIA RTX A6000 48GB • GPU Driver: 470.82.01 • CUDA: 11.4 실험 환경 • 딥러닝 환경 • Tensorflow: 2.6.2 • Keras: 2.6.0 • 개발 환경 • Python: 3.6.10 • C#: 9.0 • .NET: 5.0.1 • 데이터셋: MAESTRO (MIDI only)
  19. 실험 결과 19 네트워크 및 모델 개발 • 네트워크 셀:

    Bi-LSTM (32 cell) • Dropout: 0.3 • Train/Val/Test loss: 0.112/0.188/0.094 • Loss function: MSE? Cosine Similarity? MSE: 장기적인 추세를 잘 따라감 Cosine Similarity: 세부적인 변화를 잘 표현함
  20. 실험 결과 20 네트워크 및 모델 개발 • 네트워크 셀:

    Uni-LSTM (32 cell) • Dropout: 0.3 • Train/Val/Test loss: 0.081/0.084/0.080 • Loss function: MSE & Cosine Similarity (𝛼=0.15) 𝑙𝑜𝑠𝑠 𝑦𝑙𝑎𝑏𝑒𝑙 , 𝑦𝑝𝑟𝑒𝑑 = 𝛼 ∗ (1 + 𝐶𝑜𝑠𝑖𝑛𝑒𝑆𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦 𝑦𝑙𝑎𝑏𝑒𝑙 , 𝑦𝑝𝑟𝑒𝑑 ) + 1 − 𝛼 ∗ 𝑀𝑆𝐸(𝑦𝑙𝑎𝑏𝑒𝑙 , 𝑦𝑝𝑟𝑒𝑑 ) 기존: 0.112/0.188/0.094 ➢ 이상적인 경우에 두 Loss의 합이 0이 되도록 식을 만들고, 각 loss의 반영 정도를 𝛼로 조절하였음 ➢ 코사인 유사도는 원래 같을수록 1, 다를수록 -1에 가까워지지만, Keras에서는 계산의 편의를 위해 같을수록 -1에 가까워지도록 바뀌어 구현되어있음 장기적인 추세와 세부적인 표현 모두 잡아내었음
  21. 실험 결과 21 정량적 비교 • MIDI-VAE: Modeling Dynamics and

    Instrumentation of Music with Applications to Style Transfer by Gino Brunner, Andres Konrad, Yuyi Wang, Roger Wattenhofer. Test loss가 모두 앞선 결과를 냈음 MIDI-VAE 본 연구 (MSE only) Train Test Train Test Valid CvJ 0.008 0.029 0.0074 0.0100 0.0094 CvP 0.017 0.036 0.0074 0.0127 0.0129 JvP 0.043 0.048 0.0093 0.0155 0.0137 BvM 0.010 0.033 0.029 0.0021 0.0024 * 동일한 환경 비교를 위해 손실함수와 손실 모두 MSE 사용 Brunner, Gino, et al. "MIDI-VAE: Modeling dynamics and instrumentation of music with applications to style transfer. arXiv preprint arXiv:1809.07600 (2018). https://arxiv.org/abs/1809.07600 Dataset: [goo.gl/sNpgQ7]
  22. 실험 결과 22 결과 시연 (개별 연주 파트) 원본 연주

    영상 모델 예측 결과 Original MIDI source: https://bitmidi.com/deb_clai_format0-mid * Train/Valid/Test 데이터셋에 없는, 아예 외부에서 수집한 임의의 클래식 악곡임 원본 표현에 비해 강약 표현이 뚜렷함 (훈련 데이터셋의 영향으로 추정)
  23. 실험 결과 23 결과 시연 (코드 파트 재현) Original MIDI

    source: https://bitmidi.com/deb_clai_format0-mid 원본 연주 영상 모델 예측 결과 * Train/Valid/Test 데이터셋에 없는, 아예 외부에서 수집한 임의의 클래식 악곡임 코드 표현력이 원본과 비슷한 수준
  24. 목차 • 서론 • 관련 연구 • 제안 알고리즘 •

    실험 구성 및 결과 • 결론 및 고찰
  25. 결론 및 고찰 25 • 단방향 LSTM 네트워크를 이용해 각

    음표의 Velocity를 예측할 수 있었음 • 양방향 LSTM에 비해 단방향 LSTM이 세부적인 노트 정보를 잘 표현하고 있었음 • MSE 손실함수와 Cosine Similarity 손실함수를 적절히 혼합하여 단기간/장기간 표현력을 향상함 • 기존 연구들에 비해 장점으로 내세울 수 있는 점들이 존재함 • 세밀한 시간 정보를 학습하고 처리할 수 있다는 점 • 기존 네트워크에 비해 많이 단순하지만 손실 측면에서의 성능은 비교할 만하다는 점 • 장기간 표현력에 비해 단기간의 세부적인 표현력은 여전히 낮은 편이어서 원천적인 개선이 필요
  26. 27