Task


ComMU Dataset

12개의 meta data와 짧은 MIDI파일이 pair된 상태로 존재한다. 해당 데이터셋을 이용하여 Music Generation Model을 학습시키면 Inference시 원하는 음악의 meta data를 input하면 해당 meta data의 음악이 생성된다.

Data

Untitled

Meta Data $\Longrightarrow$

  1. BPM - (35~160)
  2. Genre - (2)
  3. Key - (24)
  4. Instrument - (37)
  5. Track-role - (6)
  6. Time Signature - (3)
  7. Pitch range - (7)
  8. number of measures - (3)
  9. Chord progression
  10. Min Velocity - (2-127)
  11. Max Velocity - (2-127)
  12. Rhythm - (2)

MIDI

comMU Encoder & Decoder

데이터셋이 Midi 파일로 존재하기 때문에 NLP 모델들에 넣기 위해서는 인코딩 과정이 필요하다. 아래와 같은 악보 형태에서 Token Sequence로 바꿔주는 것을 Encoder, 반대로 Token Sequence에서 Midi로 변환하는 것을 Decoder에서 진행하게 된다. 이 부분들은 인공지능은 아니고, baseline의 하드코딩된 코드를 사용하였다.

Midi 데이터

Midi 데이터

Midi 데이터 ⇒ 토큰 시퀀스 변환 예시

Midi 데이터 ⇒ 토큰 시퀀스 변환 예시

Baseline


Transformer-XL

현재 POZA LABS의 Music Generation의 베이스라인 모델은 Transformer XL이다.