I'm planning on a project transforming an old grand piano to a midi controller. Initial plan was to use optical midi strip under the keys, called PNO Scan by QRS. But this has some flaws. First, the movement of the keys are detected instead of the hammers. Hammers striking the strings is the one making the sound on a piano and not so the key movement. Keys can be played with so many variating ways in different situations. Second, only one triggering point can be programmed, but there are actually several in a real grand piano action, especially if defined in key movement and not hammer movement. Addition, the sensors are reported to be a little inaccurate sometimes and may give false velocities on certain circumstances.
I thought to take this project a step further, and make own sensor system. It would use piezo sensors the detect the force of the hammer strikes and transfer it to a midi signal with corresponding velocity. Another sensor would be in the dampers. It could be only on/of-type, though sophisticated keyboards gives velocity also for note-off command (usually measured from key movement). Addition to these, the sustain and soft pedals would have sensors with triggering points.
When the dampers is lifted, and piezo sensor gets strike, a note-on midi signal will be sent with corresponding velocity. When damper is back at rest, a note-off signal is sent. Pedal sensors detects position of levers, and have triggering points programmed (this will enable half-pedaling instead of on/off only).
Here are some questions:
- The piezo sensors
- What type of sensor, if any, would be suitable?
- Can handle the force range the hammers may produce? (not sure yet how much, maybe ~ 0-100 N?)
- Can accurately (127 different velocities can be defined) give voltage to certain amount of impact? Same reading to same impact every time?
- Will last in use without gradually changin readings because wearing out?
Is there something more suitable than piezo? Please note: the price of the sensor will be multiplied with 88 since there are 88 keys!
What type of Arduino, if any, is suitable for this?
88 piezo sensors + ~70 damper sensors (high notes doesnt have dampers) + 2 sensors for pedals
Number of input ports might be a problem, is there any ways to extend these?
Will latency be problem? Latency should be less than 5 ms from hammer strike to midi out signal, because the later processes also have their latency before sound is heard, and it would not be playable anymore.
How about "polyphony"? Will the Arduino get jammed calculating velocities in fast playing?
The price of the PNO Scan strip shipped is 681,00 euros, so that could as well be considered the budget of the project. But if individual sensor's price goes high, the price will be enormous because there are 88 keys.
Now the funny part is that I'm totally a newbie, when it comes to Arduino, electronics or programming. But don't let that bother, for me it makes this even more interesting, yet there are hell a lot to learn to make this work ;)
Best regards, Tuomas