Generating Music with Expressive Timing and Dynamics
- 'Timing' and 'Dynamics' ⇒ Note on/off and velocity
- 모델 아키텍쳐보다는 음악적인 데이터를 학습하는데 중점
Overview
https://magenta.tensorflow.org/assets/performance_rnn/chopin-quantized.mp3
https://magenta.tensorflow.org/assets/performance_rnn/chopin-unquantized.mp3
- 컨타이즈 → 같은 박자, 같은 세기라서 어색하게 느껴진다. (예제는 좀 너무함)
- 여기서 만드는 건 Sound가 아닌 MIDI 데이터, Audio를 바로 만드는 것이 아님
Dataset
- Yamaha e-Piano Competition (~1400 performances by skilled pianists)
- 악보보다는 사람의 연주에 초점을 맞춘다.
- Velocities 역시 사람의 연주에 초점을 맞춘다.
- 피아노로만 연주된다.
- 클래식 피아노 곡으로 이루어져있다.
Representation
- MIDI events의 case를 나누고 각각을 one-hot vector로 만들어 사용
- 128 note on events
- 128 note off events
- 100 time-shift events
- 32 velocity events
- 총 388개의 events를 이용해 예측한다.
- 보통 30초 클립은 1200개 정도의 one-hot vectors로 이뤄진다.
Preprocessing