Fingering suggestion feature

Synthesia is a living project. You can help by sharing your ideas.
Search the forum before posting your idea. :D

No explicit, hateful, or hurtful language. Nothing illegal.
Post Reply
Posts: 1

Post by Artistical » 07-28-19 6:12 am

Currently it is only possible to manually set which fingers to use.

Could you add a feature for giving us fingers suggestions ? :-) Based on fingering of good and experienced piano players.

I guess It wouldn't be easy to develop but It would be interresting for piano learners.

Posts: 12290

Post by Nicholas » 07-28-19 7:50 pm

This is an interesting area of research! Back in 2009, one of our forum users was working on something like this using some of the current academic research on the subject. I haven't done a literature search in a few years, but I know that about every year or two someone else makes another attempt at advancing the state of the art (which isn't very far yet).

It's a tricky problem because there isn't an established method. To this day, it can still come down to "what does your piano teacher recommend?" Different hand sizes and the details of the piece will influence the "best" answer for finger hints. That said, it's still something I'd love to try getting into Synthesia some day.

Posts: 4

Post by tblb » 12-24-19 11:47 am

How the algorithm works:

The algorithm minimizes the fingers speed needed to play a sequence of notes or chords by searching through feasible combinations of fingerings.

One possible advantage of this algorithm over similar ones is that it is completely dynamic, which means that it takes into account the physical position and speed of fingers while moving on the keyboard and the duration of each played note. It is not based on a static look-up table of likely or unlikely combinations of fingerings.

Fingering a piano score can vary a lot from individual to individual, therefore there is not such a thing as a "best" choice for fingering. This algorithm is meant to suggest a fingering combination which is "optimal" in the sense that it minimizes the effort of the hand avoiding unnecessary movements.

Parameters you can change:

Your hand size (from 'XXS' to 'XXL') which sets the relaxed distance between thumb and pinkie.
The beam number associated to the right hand is by default nr.0 (nr.1 for left hand). You can change it with -rbeam and -lbeam command line options.
Depth of combinatorial search, from 2 up to 9 notes ahead of the currently playing note. By default the algorithm selects this number automatically based on the duration of the notes to be played.

Some specific fingering combinations, considered too unlikely in the first place, are excluded from the search (e.g. the 3rd finger crossing the 4th).
Hands are always assumed independent from each other.
In the 3D representation with sounds enabled, notes are played one after the other (no chords), so the tempo within the measure is not always respected.
Small notes/ornaments are ignored.

Posts: 102

Post by revilo2 » 12-28-19 6:01 am


Wouah, it sounds great !
I didn't understand how to use it on windows 10...
(m'y english is not very good)
Need anaconda ?
Could you explain this step by step ?


Posts: 4

Post by tblb » 12-29-19 4:40 am

everything you need , is on the link I put

Posts: 102

Post by revilo2 » 01-03-20 9:32 am


I tried to launch pianoplayer.bat on windows 10 : nothing happened.

Just before, i have installed Anaconda (Python 3.7) and modify pianoplayer.bat :

anaconda_path="C:\Program Files\Anaconda" (the path where have installed Python 3.7)

Something wrong I did ?

Post Reply