Abstract syntax for standard MIDI files
R = resolution (subdivison of quarter)
FL = length of the file in bytes
TL = length of track in bytes
M ::= NoteOn | NoteOff | ProgramChange | Controller | PitchBend | Pressure
X ::= Tempo | KeySignature | TimeSignature | Text | SystemExclusive | Marker | TimeCode
S ::= a number of ticks since the last event (see R)