Week 3— Generating Music by using Deep Learning

b21626972
BBM406 Spring 2021 Projects
3 min readMay 2, 2021

--

Hello, this is our third blog post for our term project of BBM406 Fundamentals of Machine Learning. This week, we reviewed the Maestro dataset that we will use to train our model in our project and made it suitable for training.

Examination of Maestro Dataset

Firstly, we extracted the note information of the piano instrument including start time duration, pitch number and velocity in a random sample.

Secondly, we extracted the piano roll data from the note information to train our model. The piano roll returned an array of (128 x time) length for us. The 128 values ​​here corresponds to each specific pitch value in midi format. The time value is the duration of the music divided by FPS.

Below we can observe the array of 128 size taken at a particular time.

Each value in the array we see above shows the speed of the corresponding pitch value. We included the visualization of the piano roll below. The vertical axis corresponds to time and the horizontal axis corresponds to pitch values.

After these steps, we examined the frequency of pitch values ​​in the train and the validation datasets.

As we can see, pitch values ​​such as 62, 67, 66, 60, 69 are used quite frequently. On the contrary, pitch values ​​such as 21, 106, 107, 108 are rarely used for the training dataset.

The same is true in the validation dataset, pitch values ​​such as 62, 67 are used quite frequently, and pitch values ​​such as 106, 107 and 108 are used less frequently in the validation dataset.

--

--