Skip to content

rxng8/MusicGenerator

Repository files navigation

Music Generator Project

This is a written project with regard to processing sound using keras deep learning library. These are the planned application:


Music Generator Project using deep learning neural network


Comission Note:

Sep 22, 2019:

  • Researching on processing Midi file format: tracks, messages, channels, etc.

Sep 23, 2019:

  • More research on processing Midi file format: tracks, messages, channels, etc.

Sep 26, 2019:

  • More research on MIDI file processing and feature engineering.
  • Add data generator.
  • Add code to read and parse midi file, converting them to structrured form.
  • Add helper and utilization function.

Sep 28, 2019:

  • Edit reference for paper
  • Add critical data preprocessing function: convert array of NoteEvent to a 2D array with shape (max_tick, note_range) where x axis is pitch and y axis is time.
  • Update compressed dataset

Sep 29, 2019:

  • Finish Data Preprocessor and Data Generator. Working on building Convolutional Neural Network with analytic pixel. The paper can be found here
  • Try building model with generative adversarial neural network.

Sep 30, 2019:

  • Build model with PixelCNN++ philosophy.
  • Build model with Variational Autoencoder philosophy.
  • Train 16000 epochs on CNN model, with dataset of single-track midi files.
  • Log file surpassing (edit .gitignore)

Oct 1, 2019:

  • Switch from CNN model to seg-to-seg LSTM model. Do more research.

Oct 3, 2019:

  • Split the main notebook into one with music generator processing as image processing, the other as sequence processing (CNN and LSTM).
  • Utilize a unique class for a note event for efficient data pre-processing.
  • Add function to build note matrix from midi tracks.

Oct 14, 2019:

  • Succesfully train on Bach's prelude and fuge in C major BWV 846 piece, 2000 epoches, with accuracy of 89% and loss 12%.

This is accuracy model This is accuracy model

Author: Alex Nguyen

Gettysburg College Class of 2022

About

This is the project which have the purpose of generating Jazz piano compositions base on Pixel CNN model and LSTM auto-encoder model.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages