fbpx
Skip to main content

MIDI Forum

SMF: SMTPE header a...
 
Notifications
Clear all

SMF: SMTPE header and set tempo

5 Posts
5 Users
0 Reactions
19.2 K Views
Tobias
Posts: 3
Active Member
Topic starter
 

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.

 
Posted : 15/05/2018 10:41 pm
Clemens Ladisch
Posts: 324
 

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).

 
Posted : 20/05/2018 1:03 am
Geoff
Posts: 1047
Noble Member
 

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

 
Posted : 20/05/2018 5:44 am
Eddie Lotter
Posts: 295
Reputable Member
 

Does anyone have one?

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

Cheers
Eddie

 
Posted : 20/05/2018 6:17 am
Muzak
Posts: 86
Estimable Member
 

There are application that can sync on MIDI STMPE playing video. XJADEO for example.
Unfortunately, not higher then 30fps, I issued a request and proposal to update the MIDI spec to support 50~60fps but it's not being considered it seems.
Some movies already are already in 120fps.

 
Posted : 12/01/2020 8:29 pm
Share: