Search
🎧

PerformanceRNN

Created
7/19/2021, 1:14:51 PM
Tags
Empty
일시
2021/08/03
작성자
Empty
포스팅 종류
Empty
✅ main

Generating Music with Expressive Timing and Dynamics

'Timing' and 'Dynamics' ⇒ Note on/off and velocity
모델 아키텍쳐보다는 음악적인 데이터를 학습하는데 중점

Overview

컨타이즈된 노트 vs 사람이 만든 노트
컨타이즈 → 같은 박자, 같은 세기라서 어색하게 느껴진다. (예제는 좀 너무함)
여기서 만드는 건 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

Data augmentation 진행
Time-stretching - 현재 속도의 5% 정도 빠르거나 느리게
Transposition - major3 음으로 조성 변경
각 퍼포먼스를 30초 단위로 나눠서 학습 진행
5분 정도의 퍼포먼스를 생성할 수 있었다.