Creating music for the Arduino is simple – just use the tone() library – but it truthfully doesn’t sound that great. That’s because this library is monophonic, making chords difficult or at the very least sound a little weird. [Connor]’s miduino aims to change that, turning raw MIDI files into polyphonic Arduino sketches.
To convert MIDI files into Arduino sketches, [Connor] whipped up a Python script based on midiCSV that reads the notes and channels of a MIDI file and converts it into the language of the Arduino. Unlike the built-in tone() library, miduino is polyphonic making the music produced from any Arduino sound great. It’s basically the difference between writing music for a PC speaker and a true keyboard; sure, you’re only getting square waves, but it sounds much better.
Oddly, [Connor] hasn’t put up his Python script as far as we can tell. All the MIDI songs are being converted on [Connor]’s own Raspberry Pi. This is supposed to be cheaper than a VPS, and makes for a very cool project to boot.
Edit: Miduino isn’t polyphonic yet, but [Connor] says he should have that wrapped up in a week or two.