The MIDI Forum

  1. Tobias
  2. MIDI Specifications
  3. Wednesday, 16 May 2018
  4.  Subscribe via email
Hi,

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.
References
  1. http://www.math.tu-dresden.de/~mutabor
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
0
Votes
Undo
The "Set Tempo" meta event is exactly defined: it specifies the length of a "quarter note" in microseconds. (A "quarter note" is not necessarily related to actual notes, but is just a unit of time used by the "ticks per quarter note" value in the header.)

When you are using SMPTE timing, there is no "quarter note" time interval, so the "Set Tempo" event does not make sense.

There are almost no SMF files that use SMPTE timing, so it is not surprising that some players do not handle it correctly. For maximum compatibility, use quarter-note-based timing with some values that result in 1ms ticks (e.g., 0.5 s per quarter note, 500 ticks per quarter note).
Comment
There are no comments made yet.
  1. more than a month ago
  2. MIDI Specifications
  3. # 1
Accepted Answer Pending Moderation
0
Votes
Undo
Interesting.

For all the midi files that I've got/played, I don't think I've ever seen one that used SMPTE timing.

Does anyone have one? I'd be interested in looking at one.

One of my old Playing programs says it will support such, but I've never tested this. I know other systems will NOT support this. Various other systems - I've no idea.

No matter what the SMF is.

Geoff
Comment
There are no comments made yet.
  1. more than a month ago
  2. MIDI Specifications
  3. # 2
Accepted Answer Pending Moderation
0
Votes
Undo
Does anyone have one?


I've never seen one either. Perhaps they're only used professionally?

Cheers
Eddie
Comment
There are no comments made yet.
  1. more than a month ago
  2. MIDI Specifications
  3. # 3
  • Page :
  • 1


There are no replies made for this post yet.
However, you are not allowed to reply to this post.