The piano has been around for a long time now. Not long after its invention, humans started contemplating how they could avoid playing it by getting a machine to do the job instead. [vicenzobit] is the latest to take on this task, building a “Robot Pianista” that uses a simple mechanism to play a tune under electronic command (Spanish language, Google Translate link).
An Arduino Nano is the heart of the build, paired with a shield that lets it run a number of servo motors. The servos, one per key, are each assembled into a 3D-printed bracket with a cam-driven rod assembly. When the servo turns, the cam turns, and pushes down a rod that presses the piano key.
The build is limited in the sense that you can only play as many keys as you have servo channels, but nonetheless, it does the job. With eight servos, it’s able to play a decent rendition of Ode to Joy at a steady tempo, and that’s an excellent start.
We’ve featured some great mechanized instruments before, too. Video after the break.
I misread the title and thought it was going to be a more “spicy” hack.
” did you hear the one about the robot pianist …”
The only issue with this is how loud those Servos will be.
Really? The ONLY issue? When I saw the servos and the uneven alligned pushrods a ton of problems came to my mind…
In my work just looking at uneven keys is enough. But servos? They have lag and are useless without a lot of pre-compensation for the lag. Eighths and sixteenths make a mess of things with the lag making it unmusical.
Solenoids.
From my (limited) knowledge of pianos, volume of a note is set by how hard (fast) you hit the key. That gets translated into the speed a hammer hits the piano string.
If you aren’t changing volume, why not just hit the string directly?
MEHDI