I don’t know much about this project. I spotted it earlier today on Twitter, where all I had to go on was this:
— Matt LaFave (@Ubercoat) August 20, 2013
So I clicked on the link, which took me to YouTube – and I found this. Matt’s right. His friend Dave is a genius.
What you’re seeing and hearing here is the music and sfx from Mario, Mario 2, Mario 3 and Zelda, played on a player piano and robotic percussion, all mediated by a couple of Raspberry Pis. In the “About” section under the video, Dave says:
The piano and percussion play live during actual gameplay, mirroring the sounds that would normally be created electronically by the NES. All audio, including music and sound effects, is translated in realtime so that it is produced by the instrument most closely resembling the characteristics of the original electronic sound.
For those interested in the technical details, both the piano and the percussion use solenoids to drive their player mechanisms. The piano uses Yamaha’s Disklavier system to strike keys, and the percussion uses a custom solution to strike the drum sticks. Both the piano and percussion are each controlled by Raspberry Pis which have custom software to control each instrument. The software is responsible for translating the NES audio to instructions which ultimately define which solenoid should be actuated. In full disclosure, there is normally a half-second audio delay that was removed in editing, but it’s still very playable live. The piano is controlled through the Disklavier’s MIDI interface, while the percussion’s solenoids are directly controlled through the Pi’s GPIO interface.
Dave, we thought this was amazing. Get in touch when you see this; we’d like to know more about who you are and what else you’ve been doing with your Pis!
Edit to add: Dave mailed me. He’s David Thompson from Detroit, MI, and doesn’t have a personal website at the moment, but assures me that he’ll send a link when he does. As well as being a musician, Dave is also a hobbyist photographer and has some ideas up his sleeve for some more Pi projects: I hope we’ll hear from him again soon. Thanks Dave!