• Stars
    star
    537
  • Rank 82,649 (Top 2 %)
  • Language
    Python
  • License
    MIT License
  • Created about 7 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Classical Piano Composer

This project allows you to train a neural network to generate midi music files that make use of a single instrument

Requirements

  • Python 3.x
  • Installing the following packages using pip:
    • Music21
    • Keras
    • Tensorflow
    • h5py

Training

To train the network you run lstm.py.

E.g.

python lstm.py

The network will use every midi file in ./midi_songs to train the network. The midi files should only contain a single instrument to get the most out of the training.

NOTE: You can stop the process at any point in time and the weights from the latest completed epoch will be available for text generation purposes.

Generating music

Once you have trained the network you can generate text using predict.py

E.g.

python predict.py

You can run the prediction file right away using the weights.hdf5 file