Subscribe to JCMS


Subscribe to our mailing list to receive updates about forthcoming issues. JCMS will not disclose your details to any third party.

First name

Second name

Email address

Volume 2, Issue 2, March 2018

Imposing Higher-Level Structure in Polyphonic Music Generation Using Convolutional Restricted Boltzmann Machines and Constraints

Stefan Lattner, Maarten Grachten and Gerhard Widmer


Constrained sampling, Convolutional restricted Boltzmann machine, Music generation, Optimisation


We introduce a method for imposing higher-level structure on generated, polyphonic music. A Convolutional Restricted Boltzmann Machine (C-RBM) as a generative model is combined with gradient des- cent constraint optimisation to provide further control over the genera- tion process. Among other things, this allows for the use of a “template” piece, from which some structural properties can be extracted, and trans- ferred as constraints to the newly generated material. The sampling pro- cess is guided with Simulated Annealing to avoid local optima, and to find solutions that both satisfy the constraints, and are relatively stable with respect to the C-RBM. Results show that with this approach it is possible to control the higher-level self-similarity structure, the meter, and the tonal properties of the resulting musical piece, while preserving its local musical coherence.

Download article

Author Contacts