본문 바로가기
projects/음악 분석(채보)

채보 AI (AMT 모델)을 만들기위한 데이터셋 생성

by 하이방가루 2022. 7. 10.
728x90
반응형

데이터는 9가지 soundfont를 이용하여 wav파일과 midi파일을 생성하고,

wav파일은 librosa를 이용하여 constant-Q로 변환(cqt 데이터)하고,

midi파일은 pretty_midi를 이용하여 piano_roll로 변환하여,

TFRecord로 저장하여 모델훈련에 쓸 예정이다.

 

데이터는 128개의 악기 중 1~10개를 선택하여 각 악기마다 2~10개의 노트를 연주하게 하였다.

wav파일은 44100의 sampling rate로 만들고,

piano_roll은 25의 sampling rate로 만들고

 

cqt는 441의 hop_length와 12*4의 bins per octave로 변환하여 piano_roll과 4배의 크기차이를 가지게 만들었다.

 

4배의 크기차이를 이용하여 2번 MaxPooling한 CNN모델로 채보가 얼마나 잘 되는지 실험해 볼 예정이다.

아무래도 여러 악기가 섞여있기 때문에 제대로 학습할 수 있을 것 같진 않지만 일단 해보고,

잘 안될 경우 악기클래스 별로 모델을 각각 훈련시키고, 악기 클래스별로 음악을 소스분리하여 각 악기 클래스에 맞는 모델로 채보를 진행해야 하지 않을까 추측된다.

 

처음에는 노트별로 velocity를 다르게 했지만, 실제로 곡을 연주할 경우 짧은 구간에서는 악기마다 velocity를 거희 비슷하게 연주하기 때문에 악기별로 velocity를 같게하여 데이터를 만들기로 함.

 

728x90
반응형

댓글