MIDI File Inspector
Parse a Standard MIDI File header — format, tracks, ticks per quarter, tempo.
Overview
The MIDI file inspector parses a Standard MIDI File (.mid or .midi) and reports the structural information at the top of the file: the format (0, 1, or 2), the number of tracks, the ticks-per-quarter-note division, and the tempo and time signature from the first meta-events.
Musicians debugging exports from a DAW, game developers integrating MIDI soundtracks, and educators building music-theory examples reach for this when a .mid file is misbehaving and the actual contents need a quick glance. Long-tail searches that lead here include "read MIDI file header", "inspect SMF format and tempo", and "view MIDI tracks online".
How it works
A Standard MIDI File is defined by the MMA's SMF 1.0 specification. The file starts with a MThd chunk containing six bytes of header data: format (16 bits, values 0 to 2), number of tracks (16 bits), and division (16 bits, either ticks-per-quarter-note or SMPTE timing). Each subsequent MTrk chunk contains a sequence of delta-time + event pairs ending with an end-of-track meta-event.
The inspector reads the MThd chunk and the meta-events at the start of track 1 to surface tempo (FF 51 03 microseconds-per-quarter), time signature (FF 58 04), and key signature (FF 59 02). Track counts and rough duration estimates are computed from the sum of delta times in each MTrk.
Examples
- Confirm a DAW exported the file as format 1 (one track per instrument) rather than format 0 (all events merged).
- Read the tempo from a file whose author claims 120 BPM but actually exported 90 BPM.
- Count tracks to verify every instrument made it into the export.
- Read the time signature to ensure a 6/8 piece was not flattened to 4/4 by accident.
FAQ
Does it play the MIDI?
No. The inspector reads structural data only. Use a playback tool to actually hear the file.
What is the difference between format 0 and format 1?
Format 0 has all MIDI events merged into a single track. Format 1 has one track per channel, which most DAWs prefer because it preserves per-instrument structure for editing.
Why does my file report odd tempo values?
MIDI stores tempo as microseconds-per-quarter-note. Some unusual values come from imports that approximated a tempo curve into a single starting value.
Are SMPTE-timed files supported?
Yes — when the division uses SMPTE timing (the high bit is set), the inspector reports the frames-per-second and ticks-per-frame instead of ticks-per-quarter-note.
Can it show note-by-note data?
Note-level events are not surfaced — the focus is the header and the small set of meta-events that describe the file overall. A dedicated MIDI editor is the right tool for note-level inspection.