DeepBach examples
DeepBach: a Steerable Model for Bach Chorales Generation
This webpage displays examples of music generated by the DeepBach model as described in the article:
DeepBach: a Steerable Model for Bach Chorales Generation,
Gaëtan Hadjeres, François Pachet and Frank Nielsen,
ICML2017.
Code is available on Github.
DeepBach's generations
After being trained on Bach Chorales, the model is able to generate four-part chorales in the style of J.S. Bach from scratch. It is also possible to generate new harmonizations of a given melody.
Reharmonizations of existing melodies
Reharmonization of "Wer nur den lieben Gott läßt walten", a hymn by Georg Neumark used by J.S. Bach in his chorale harmonizations:
Two reharmonizations of the hymn "God save the Queen":
Graphical editor
A graphical editor was developped on top of the MuseScore music editor allowing an interactive compositional process. The following video displays some of the possibilites offered by such a tool: we can generate from scratch or reharmonize seamlessly a given part while keeping all the other parts fixed. We can also manually change notes.
Compositions using the graphical editor
We used this graphical editor to easily compose chorales in the style of Bach with little effort: we let DeepBach make proposals of selected zones and continued this process in an interactive way. In the following pieces, we only asked DeepBach to regenerate zones containing all four parts and longer than one bar, and no note was changed by hand.
This was used for reharmonizing folk-tunes generated by the folk-rnn system. We present the video recordings from a concert of music composed using A.I. recorded on May 23 2017 as well as the corresponding music sheets.
A live test was also conducted in order to determine if DeepBach's compositions sounded like real J.S. Bach's composition (in Dutch):