Teachers of the Scottish bagpipes often quote: "To the make of a piper, go seven years of his own learning". Here is a quicker way to play the bagpipes.
This robotic device uses electromagnetic fingers to play a real, unmodified bagpipe chanter. Each finger has a small spring (from the metal door of a 3.5" floppy disk) which keeps the finger pad (made from an earplug) pressed against the chanter. An electromagnet pulls the finger away from the chanter when a note needs to be played.
The coils are fired at 17 volts (which is above their 12 volt rating) for a split second until the finger makes physical contact with the coil. At that moment the coil drops to 5 volts which is all that is needed to hold the finger open. This two-step process makes the notes crisp and also prevents the coils from melting.
Air pressure is provided by a three-cylinder compressor built from bicycle pumps. Critical to the design of the air compressor is the need for near silent operation so that it does not compete with the sound from the chanter. Low RMPs, wooden construction and ball-bearings help keep the noise to a minimum.
Bagpipes are very sensitive to fluctuations in air pressure. The compressor has to produce a steady flow of air or else the music would pulse noticably. Two cylinders 180° out of phase would create very uneven airflow, three cylinders 120° out of phase produces very smooth airflow, and surprisingly four cylinders 90° out of phase would be worse than three cylinders.
Clumsy Lover (2:15)
Itchy Fingers (0:53)
The robot is currently controlled by a Python program which parses a MIDI file, computes the finger positions, then sends the data out the parallel port. As can be heard in the above samples, there are occasional timing glitches due to the clock in Microsoft Windows. The next version of this robot will include an onboard microcontroller an a MIDI port so that the timing will be completely accurate.
Here's a video of the chanter playing "Banjo Breakdown" at RoboGames in San Francisco in 2009:
And here's a video of the air compressor: