Blog Home

Turning a toy piano into a standalone digital synthesizer

Arduino TeamJune 5th, 2016

Electronic musical instruments are fun for Makers. With some cheap tools, know-how and passion, anyone can become a real synth geek. Just ask software developer Liam Lacey, who happens to also be a sound coder and freelance hacker. He recently won element14’s Open Source Music Tech design challenge for his Vintage Toy Synthesizer project — it’s an acoustic wooden toy piano converted into an open-source, standalone polyphonic digital synthesizer running on a BeagleBone Black and an Arduino Pro Mini.

Playing an instrument is about a lot more than just the sound you create – the way you play it; the physical feedback; and the overall feel and aesthetics of the instrument also play a big role in the overall experience, with these elements also helping to nurture inspiration, and can even affect your perception of the sound created.

Lacey developed the voice engine using the C++ audio DSP library Maximilian, and the keyboard mechanism uses homemade pressure sensors made out of Velostat. The instrument has 18 keys, though players able to alter scales using the knobs on top of the mini piano’s lid. Other dials are used to toggle dedicated waveform oscillators, filters and onboard distortion effects, and there’s even vintage parameters for replicating old or broken analog synth voices. What’s neat is that the converted toy can also act as a MIDI controller to send velocity-sensitive note messages and polyphonic aftertouch to Logic Pro, Ableton Live and various music software programs.

Here’s a diagram of the software architecture of the synth:


You can read more about the hack here, as well as listen to some quick and rough sound/patch demos:

The project took three and a half months to bring to fruition, and let us just say, the final result is quite impressive! Check out the video below to learn more about its specs and explore the complete documentation on GitHub.