I'm working on a dynamic microtuner software (http://www.math.tu-dresden.de/~mutabor
). As the software can mix many different music streams it outputs MIDI files in millisecond resolution. According to „Standard MIDI Files 1.0“ I set the divison parameter to -25 40 (decimal), representing 25 frames per secound and 40 divisions.
Unfortunately some MIDI file players seem to play the File at a different speed.
It seems that the „Set Tempo” meta event is not well-defined. At least it's description explains its syntax but not its interpretation. For quarter note based divisions I understand this meta event as real tempo change. Somewhere I read that for SMPTE based MIDI divisions this event should be considered to be a hint for notational software telling it how to make note lengths from MIDI ticks. So it should be ignored by a simple MIDI file player.
Is this right? Is there an official source for that? If not, I'd suggest to clarify the recommended practise somehow. So that at least software players could adopt this idea.