- Originally published March 25, 2014.
Part 1 of a Series
A quick overview of Core MIDI, a C API from Apple.
Core MIDI is a framework that lets us use MIDI (Musical Instrument Digital Interface). We can use this to interact with external devices, such as keyboards, that can generate MIDI events. We can also have our iOS and OS X devices become a MIDI device and send events to other hardware. It also allows us to read and create MIDI files.
Core MIDI can work with Core Audio to play tones from live MIDI events or from a MIDI file. This series will be focussing on parsing MIDI files for playback and analysis. Some of the main API structures and functions that will be used are listed here. The linked documentation is sparse and all we will get for a long time. Careful study of them is unavoidable.
Here are some links to information about MIDI.
- MIDI Manufactures Association
- The Complete MIDI 1.0 Detailed Specification [1996 edition]
- MIDI File Format (A good introduction to the MIDI file format.)
- Standard MIDI File (SMF) Format (A more detailed description of the MIDI file format.)