Anyone who has through the process of learning to play a musical instrument for the first time, or listening to someone attempting to do so will know that it can be a rather painful and frustrating experience. [Alessandro Perini] apparently couldn’t get enough of the sound of a first-time musician, so he created a robot to play the melodica badly for hours on end, as demonstrated in the video after the break.
The project is appropriately named “AI’ve just started to learn to play”, and attempts to copy every melody it hears in real-time. The robot consists of the cartridge carriage from an old printer, mounted on a wooden frame to hold the melodica. The original carriage used a DC motor with an encoder for accurate movement, but since position accuracy was not desirable, [Alessandro] ditched the encoder. Two small trolley wheels are mounted on the cartridge holder to push down on the melodica’s key. A bistable solenoid valve controls airflow to the melodica from an air compressor. The DC motor and solenoid valve is controlled by an Arduino via a pair of LM298 motor drivers.
A host computer running software written in Cycling ’74 MAX listens to the melody it’s trying to imitate, and send serial commands to the Arduino to move the carriage and open the solenoid to try and match the notes. Of course, it keeps hitting a series of wrong notes in the process. The Arduino code and build instructions have been published, but the main Max software is only described briefly. [Alessandro] demonstrated the robot at a local festival, where it played YouTube tutorial snippets and jammed with a local band for a full 24 hours. You have to respect that level of endurance.
If listening to less error-prone electronically controlled instruments is more to your taste, listen to this building-sized pipe organ play MIDI files.