This little humanoid robot is just starting out in the business, but it can already play any musical score on the spot, and even listen to its own playing and self-correct when mistakes are made. Too bad it only has one finger on each "hand".
(Robot Pianist Is Self-Correcting)
Alyssa Batula and Yougmoo Kim, from Drexel University, Philadelphia [are] using it to explore musical performance - expression and interaction with other musicians, for example - rather than merely note-playing.
So far, they've created a mini humanoid robot that can play the piano at 200 beats per minute...
The robot is less than 40 centimetres tall and is controlled by a small on-board processor, as well as a larger computer that sends it commands, such as which gestures to make...
The robot's limbs are controlled by motors and their position is updated every 20 milliseconds. At the moment, it can only hit the white keys. The robot can pick up wrong notes thanks to a pitch detection algorithm which makes sure each note is the correct pitch for that key. If the pitch is wrong, the system checks whether it fits neighbouring keys and the robot makes a note of the mistake so it doesn't make it again. It also uses the algorithms to detect the pitch of notes played by others so that it can join in and harmonise.
Fans of Arthur C. Clarke's 2001: A Space Odyssey recall the musical learning experiences of the HAL 9000 computer. Take a look at HAL singing "Daisy, Daisy" from the end of the movie (skip to 5:15 for the song).
(HAL 9000 sings "Daisy, Daisy")
Robots express themselves musically in these links: