I'm interested in modelling symbolic music using machine learning methods such as deep neural networks and the Long Short-Term Memory cell. The goal is to model the note choices (as represented by sheet music or midi files), rather than modelling audio waveforms. This topic has generated a lot of interest lately, with several notable examples including the exciting Magenta project from the Google Brain team.

We have obtained some surprisingly good results by extending previous work in a few directions. Most notably, we have developed a model which can handle complex rhythmic structures, and thereby create some interesting results which feature trills, fast runs, and other fun rhythmic constructions. This page provides some examples, which accompany the paper "Modelling Symbolic Music: Beyond the Piano Roll", linked below. To give an idea how the model performs, we have included a reasonably large number of example outputs (or, probabilistically speaking, samples) from the model. We also provide the data we used for training, along with a new, larger dataset. On a separate page, we show how the model can be combined with human input to create even more interesting music.

Audio Examples

Here are a few selected examples:

The rhythmic structure of each track is identical to that of the midi file of the same name, from the MuseData corpus provided here by Nicolas Boulanger-Lewandowski. What our algorithm has done, is choose the note names (or pitches), sampling from a probabilistic model, conditional on the given rhythmic structure.

A larger set of examples in mp3 format (corresponding to the entire "test set" of the MuseData corpus mentioned above is also available. The enclosed readme file has more details.


See the data page.


For more details, please refer to the following document: