djlrevic / 726-project

SFU Machine Learning Frisson Group

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

716 Project - Frisson - Generating Music With LSTMs

Three projects used to generate music for our 726 report are included in this repo, and our inital unfinished attempt at implementing our own, which turned into an exploration of Tensorflow's Dataset and midi processing (tf-dataset-midi-processing).

The best results (midi files) are in biaxial_rnn/output. The other two have some example midi files in the roots.

Models used for training:

biaxial_rnn - Daniel Johnson's Generating Polyphonic Music Using Tied Parallel Networks

basic_lstm - Christopher Olah's Understanding lstm networks

bidirectional_lstm - Alex Issa's Generating Original Classical Music with an LSTM Neural Network and Attention

Use

To train or generate, content must be added to the midi_files folder, and then the relevant train/generate (lstm-name.py/predict-name.py) can be run. biaxial_rnn contains the weights needed, the others do not (much larger and worse performance with our level of training)

Dependencies:

Python 3.6

Package Version
tensorflow 1.15.0
pandas 0.24.2
numpy 1.18.1
Keras 2.3.1
keras-self-attention 0.42.0
music21 5.7.2

About

SFU Machine Learning Frisson Group


Languages

Language:OpenEdge ABL 99.6%Language:Python 0.4%Language:Shell 0.0%Language:Dockerfile 0.0%