I stumbled upon a product that was sold by Moog for a while called the PianoBar, which translates the keys and pedals of an acoustic piano into a MIDI signal. The product has been discontinued for some time it appears, and I've not found any for sale online. As such, I'd like to create my own version of this device.
My understanding is that there is a proximity sensor that is aligned with each key, and the sensors seem to detect the angle/position from flat to fully depressed. What proximity sensors would be best for a project like this - and will key color have any sort of affect on them (white keys vs black keys).
Once I have all 88 key sensors and 3 pedal sensors hooked up to an Arduino (maybe this will require more than one arduino?) I then have to convert the information into MIDI signals. I have found a MIDI library already to help with that aspect - but I'd probably need help figuring out the best way to detect the velocity. If I use multiple arduinos, I'm not entirely sure how I'd combine the signal into one MIDI output.
Velocity is probably going to be the most complex aspect of the code. My theory is that I'd have to determine how long it took the key to go from up to any given down position, and use that information to assign a MIDI velocity number from 0-127. I'd also likely have to set some sort of period for it to detect when the key angle/position changes in order to increase or decrease the velocity number.
I've not programmed an Arduino before, but I do have a background in web development so I'm not completely unfamiliar with the concepts of the device.
I did search this forum, and there are a couple of similar threads, but they didn't seem to resolve or have much in the way of a conclusion. They also have not been responded to in over 120 days, so I thought it would be best to start a new topic - as I also have a working theory in mind anyway.
Any help/guidance would be greatly appreciated. Thanks!