Robot Nintendo Music

Sometimes clever people take a creative idea and then lovingly wrap it in gaming nostalgia, often posting the results on YouTube. A fine thing it is too, as it all adds to gaming culture and, ultimately, the best examples can be hugely entertaining.

YouTube user roboband produced an excellent video in mid-August that's now being more widely spotted, in which NES music and sound affects are recreated by a self-playing piano and 'robotic' percussion. Utilising software on Raspberry Pi devices — these are incredibly cheap basic PCs that could revelutionise computer access around the world — and the instruments themselves, the end results are undoubtedly impressive. Here's what roboband wrote about it.

This system allows for Nintendo gameplay audio to be played through an acoustic player piano and robotically controlled percussive instruments. The piano and percussion play live during actual gameplay, mirroring the sounds that would normally be created electronically. 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.

Playlist:

0:00 - Mario
0:53 - Mario 2
2:59 - Mario 3
4:06 - Zelda
6:02 - Mario 2 (End Theme)

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 gameplay 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.

Check this out below, it's well worth anyone's time.

[source tay.kotaku.com]