Generating automatic piano fingerings with iterated local search

For his Master's thesis, Matteo Balliauw started working on automatically generating piano fingerings, supervised by dr. Dorien Herremans and dr. Daniel Palhazi Cuervo at the University of Antwerp. His initial work was published at MCM 2015 in London and presented by Dorien Herremans.

A piano fingering is an indication of which finger is to be used to play each note in a piano composition. Good piano fingerings enable pianists to study, remember and play pieces in an optimal way. In this paper, we propose a tabu search algorithm to find a good piano fingering automatically and in a short amount of time. An innovative feature of the proposed algorithm is that it implements an objective function that takes into account the characteristics of the pianist’s hand and that it can be used for complex polyphonic music.

M. Balliauw, Herremans, D., Palhazi Cuervo, D., and Sörensen, K., “Generating Fingerings for Polyphonic Piano Music with a Tabu Search Algorithm”, in Mathematics and Computation in Music, vol. 9110, T. Collins, Meredith, D., and Volk, A. Springer International Publishing, 2015, pp. 149-160.

The source code of the algorithm is available here: Please let us know if you use this code. We might work on a rewriting the code as a java library. Let us know if this is of interest to you.