AI Enhancer

AI Enhancer is an experimental project which I designed & implemented for my masters dissertation @InfAtEd @EdinburghUni.

AI Enhancer composes accompaniment to music melodies and it works refreshingly well in practice. The input and output can be polyphonic, of varied length (up to 30-40 seconds for best quality), arbitrary key and time signature and in one of several supported genres. The machine learning technology which underpins the project is an Encoder-Decoder architecture (seq2seq) of Long Short Term Memory (LSTM) Recurrent Neural Networks (RNNs) which are used for machine translation. This blog post gives a good intuition behind the acronyms.

Many thanks to @cghawthorne and @IanSimon at Google Magenta for open-sourcing their work on Performance RNN and GuillaumeKln, whose work on OpenNMT-tf saved me countless hours.

I hope to spare a bit of time in the coming months to put a demo online. A PDF of my dissertation and some version of my code is available on GitHub (apologies for the PDF length of 74 pages – it could have easily been 4 pages but ahem, academic requirements).

More posts