Author Options:

Detect finger movements while playing a piano? Answered

I'm planning on generating the sheet music automatically while playing  a piano. However i need to first find a method to differentiate the notes played by the left hand from the right hand. My lecturer suggested i find out the points in the wrist where pressure is exerted when each finger is flexed (left hand). Is there a way to do this simply? Or are there any products, such as wristbands with in-built sensors to sense when a finger is flexed? I only need to know how many fingers of my left hand are used at a particular moment while playing.



What kind of piano? Electronic? Acoustic? -- Electronic gives access to midi data, and while it wouldn't be the easiest thing in the world, a person can do a LOT of fingering calculations based on the biology of the hands - with a bit of experimentation it would become trivial to say what is possible, what is likely, and then compare with a learning algo to find the exact output. Even difficult pieces with hands crossing over on long arpeggios have an 'optimal' fingering that should be used.

a fore-arm based eeg could be used to sense generic 'a finger on this arm was pressed' which could go a long way in suggesting what actually happened to cause the midi data, not what the computer THINKS happened.

Well i plan to use a Yamaha organ for my demo. Do you know if there are any forearm based eeg sensors available? As all i want to know is if a finger on the particular arm was pressed, it would be useful.


I just googled "diy eeg"

Thank you. I will check it out.

The level of your expertise would be useful information.

How complicated are you prepared to go?

What have you already looked at?

Is this a high level project (college, commercial etc or a school project)

A quick experiment tells me that the finger movement on the back of my hand is a lot more evident than the movement in my wrist.

I think the best bet would be to watch the hands with a video camera and use software to decipher the position and therefore the note played. BUT How will you determine the period?

On the other hand you could listen to the notes played and figure out both pitch and time from that.

Seriously, NOT a simple project.

Well its for my final year project. (Electronic Eng)
I will be initially designing algorithms in Matlab to determine the pitch and the note length. Probably using FFT.
If I'm able to figure out a method to identify how many fingers of the left hand is being used at a moment, then the notes played at that moment having low frequency (low pitch) would be the notes played by the left hand and the higher frequency ones would have been played by the right hand. (overlapping is not considered in this project)
And yes as you said the finger movement at the back is more evident. I found some fabric pressure sensors (using velostat, conductive fabric etc.) I wonder if that would work out.