Midifile

C++ library for parsing Standard MIDI Files

Downloading and Installing

Download the zip or tar file from the buttons at the top of the page
and unpack and type make in the base directory of the midifile
package. Or if you use git, download on the terminal with these commands:

git pull https://github.com/craigsapp/midifile
cd midifile
make

Features

Event timestamps can be converted between absolute
or delta tick values with the
MidiFile::deltaTicks
and
MidiFile::absoluteTicks
functions.

In absolute tick mode, messages can be inserted into tracks
in any order and later sorted by timestamp with the
MidiFile::sortTracks
function.

Multi-track files can be converted to a single track in a
reversible process.

Event performance times in seconds can be calculated from
tick times and tempo meta messages with the
MidiFile::doTimeAnalysis
function.

Durations of notes can be extracted using the
MidiFile::linkNotePairs
function.