My understanding based on the MIDI spec is that for audio-only playback (i.e. no accompanying visual notes display), the only time information necessary to read from a MIDI file is:

  1. The division value from the header chunk -- which is in ticks per quarter note (assuming metrical not SMPTE time)

  2. The current tempo based on Set Tempo meta events -- which are in microseconds per quarter note

  3. The delta-times of Note On/Off events -- which are in ticks

To determine when to start playing a note, you'd simply figure out the current real-time length of a tick by dividing the current tempo by the division (getting microseconds per tick) and multiplying that value by the Note On's tick.

Thus, if I've gotten the above correct, the separate time signature meta event information isn't needed for audio playback. Which begs the question: what is the purpose of the time signature information?

NOTE: I have asked an analogous question about key signatures elsewhere. This question is about time signatures.

  • 4
    possible duplicate of What's the purpose of the key signature information in a MIDI file?
    – Édouard
    Commented Aug 30, 2015 at 8:48
  • 4
    the questions is different (key signature vs time signature) but the answer is the same. Notation and Cataloging. Commented Aug 30, 2015 at 8:56
  • Your method of determining the start time of a note does not work when the tempo has changed. See How to get Exact Time of a MIDI event and Reading notes from MIDI file using NAudio.
    – CL.
    Commented Aug 30, 2015 at 17:11
  • Thanks @CL. - is your concern with my approach about incremental versus absolute delta times? i.e. what I wrote above is definitely a bit sloppy about this, I should note that you need to keep track of the incremental delta times and any tempo changes along the way. Other than that, is my approach correct, i.e. you still never need to look at the time signature information for the purpose of determining on/off times?
    – Ghopper21
    Commented Aug 31, 2015 at 14:56

2 Answers 2


The specification says that MIDI files

may also include time signature information, so that the bar number may be derived

For actual MIDI playback, the time signature information is not needed.


MIDI files are versatile (they aren't just used for audio playback).

For example: I make MIDI files with a program (LilyPond), I can then import these files into music editing programs (such as MuseScore or GarageBand) to edit and manipulate the music. The editing programs will read the time signature (and key signature) that I specified in the MIDI file. This ensures that the score represented on the editing program is notated correctly.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.