A variable neighbourhood search algorithm to generate piano fingerings for polyphonic sheet music

Matteo
Balliauw

Programma reduceert rekentijd van het heelal bij keuze van pianovingerzetting

“Toen ik afgelopen avond een leuk pianostuk op het internet vond, wou ik het meteen beginnen instuderen. Jammer genoeg heb ik veel tijd verloren met het uitwerken van een goede vingerzetting.” Dergelijke uitspraken van pianisten behoren nu tot de verleden tijd. Dankzij een nieuw ontwikkeld programma kan bestaande digitale pianobladmuziek automatisch en op korte tijd van vingerzettingen voorzien worden.

Een groot aantal van de online beschikbare partituren bevat enkel noten, zonder suggesties voor goede vingerzettingen. Voor recreationele pianisten kan het veel tijd vragen om een goede combinatie van vingers waarmee ze het stuk willen spelen uit te werken. Sommige combinaties zijn nu eenmaal beter geschikt dan andere. In vele gevallen zijn onervaren pianisten ook nog niet voldoende geschoold om een goede vingerzetting te vormen. Om het leven van deze muzikanten te vergemakkelijken, werd een programma ontwikkeld waarmee ze meteen een goede vingerzetting ter beschikking krijgen. Zo kunnen ze zich beter focussen op het instuderen en de muzikale uitvoering van dit stuk.

Een vingerzetting, wat is dat nu weer?

In principe kan elke vinger gebruikt worden om elke noot op een piano te spelen. Door de specifieke opeenvolging van noten binnen één stuk, kan men best op voorhand bepalen welke vingers welke noten zullen spelen. Dit kan men doen door boven de noten een cijfer te schrijven dat overeenkomt met de respectievelijke vinger. Zulk een vingerzetting vormt een afweging van een heel aantal factoren. Naast de eenvoud waarmee een stuk speelbaar is, kan een vingerzetting ook bijdragen aan de memorisatie van een stuk en de specifieke interpretatie. Uiteraard laat dit ook ruimte voor persoonlijke voorkeuren, wat de keuze van een goede vingerzetting erg complex maakt.

Het ene hand is het andere niet.

Omdat in eerste instantie een zo eenvoudig mogelijke uitvoering belangrijk is, onderzoekt het programma de moeilijkheid van een vingerzetting. Dit valt te objectiveren in een wiskundige formule. Kleine aanpassingen achteraf zijn dan nog altijd mogelijk en kunnen door de pianist gedaan worden op basis van zijn persoonlijke voorkeuren. Sommige pianisten hebben bovendien grotere handen dan anderen. Het spreekt voor zich dat niet elke afstand voor iedere pianist even makkelijk te overbruggen valt. Daarom wordt het in het nieuwe programma mogelijk om je eigen overbrugbare afstanden in te geven die aan je persoonlijke eigenschappen en specifieke vereisten voldoen. Het is deze informatie die door het programma gebruikt wordt om de moeilijkheid van de vingerzetting te berekenen. Dit wordt wiskundig omgezet in een score waarbij elke moeilijke houding of beweging bestraft wordt met strafpunten. Het uiteindelijke doel van het programma is dan om deze punten op automatische wijze te minimaliseren en zo tot de makkelijkste vingerzetting te komen.

Het gaat om de snelheid!

Aangezien een pianostuk meestal polyfoon is, waarbij meerdere noten tegelijk gespeeld worden, bestaan er in theorie enorm veel mogelijke vingerzettingen. Zelfs met een computer zou het onmogelijk zijn om deze allemaal stuk voor stuk af te gaan en er dan de beste uit te kiezen. De benodigde rekentijd zou in sommige gevallen een mensenleven of zelfs de bestaanstijd van het heelal overtreffen. Daarom werd een techniek geïmplementeerd die op uiterst korte tijd naar een zeer goede oplossing toewerkt door aan een willekeurige oplossing steeds kleine verbeteringen toe te brengen. Indien verschillende soorten van deze kleine aanpassingen aan elkaar geschakeld worden, heeft het programma de benodigde strategieën voor handen om snel tot een zeer goede een speelbare oplossing te komen. Zo kan bijvoorbeeld een vinger veranderd worden, of kunnen twee vingers omgewisseld worden. Uiteraard zullen er steeds kleine afwijkingen zijn ten opzichte van wat een originele partituur aangeeft. Deze kunnen onder meer te wijten zijn aan persoonlijke voorkeuren van de pianist. Doordat deze afwijkingen echter klein zijn, kunnen deze nadien nog manueel aangepast worden, net zoals dit gebeurt met eigen uitgewerkte vingerzettingen tijdens het instuderen.

Grondig getest

Om de goede werking van het programma te garanderen en op een snelle manier een goede vingerzetting voor beginnende pianisten te genereren, werden heel wat tests uitgevoerd. Tijdens de ontwikkeling van het algoritme werden de verschillende parameters grondig uitgeprobeerd door middel van statistische experimenten. Op die manier kon de beste performantie uit het programma gehaald kon worden met de optimale parameters. Een daaropvolgende test (zie voorbeeld) toont ook aan dat de output van het programma van een hoge kwaliteit is, en dat het pianisten kan helpen om zeer snel aan een goede vingerzetting te komen. Zo kunnen ze zich volledig toeleggen op het instuderen van het stuk en de interpretatie van de muzikaliteit. Want daar gaat het uiteindelijk om, muzikale genieën moeten zo allesomvattend mogelijk ondersteund worden in hun talent om het publiek te ontroeren.

Pianist tweet van geluk

En we mogen het niet vergeten, uiteraard zijn pianisten blij met de nieuwe software. Gisteren verscheen nog deze tweet van een pianist: “Kan al meteen deel spelen van pas online gevonden Sarabande. De nodige vingerzettingen werden meteen aangeleverd door nieuwe software!”

figuur

Voorbeeld van een vingerzetting bij de bekende Sarabande van Händel, gegenereerd in real time.

Download scriptie (774.78 KB)
Universiteit of Hogeschool
Universiteit Antwerpen
Thesis jaar
2014