Successfully reading a Midi file

In my previous post I covered the Arduino-based circuit I built to strike the chimes. I’ve also, with a little effort, gotten the Sparkfun MicroSD shield to work with the Arduino Mega 2560, so I’m now in the thick of writing the software to read music files for the Robotic Glockenspiel.

Not happy with the Arduino Midi libraries I’ve seen (they seem not very file-oriented), I’ve written the bones of what will become a Midi file-reading library. This library will enable an Arduino Sketch to read events from a Midi file, one by one, so that it can play the notes with the proper timing.

The trick of reading the Midi file was the “running status”, which omits midi channel bytes when they’re repeated.

Here are some useful pages for understanding Midi file format:

My next post points to the code I wrote to read Midi files.