Jump to content

What is "Time Stamped MIDI"


Recommended Posts

 

Time Stamps on Messages Sent to Devices


The time stamp that can optionally accompany messages sent between devices in the Java Sound API is quite different from the timing values in a standard MIDI file. The timing values in a MIDI file are often based on musical concepts such as beats and tempo, and each event's timing measures the time elapsed since the previous event. In contrast, the time stamp on a message sent to a device's Receiver object always measures absolute time in microseconds. Specifically, it measures the number of microseconds elapsed since the device that owns the receiver was opened.


This kind of time stamp is designed to help compensate for latencies introduced by the operating system or by the application program. It's important to realize that these time stamps are used for minor adjustments to timing, not to implement complex queues that can schedule events at completely arbitrary times (as MidiEvent timing values do).


The time stamp on a message sent to a device (through a Receiver) can provide precise timing information to the device. The device might use this information when it processes the message. For example, it might adjust the event's timing by a few milliseconds to match the information in the time stamp. On the other hand, not all devices support time stamps, so the device might completely ignore the message's time stamp.


Even if a device supports time stamps, it might not schedule the event for exactly the time that you requested. You can't expect to send a message whose time stamp is very far in the future and have the device handle it as you intended, and you certainly can't expect a device to correctly schedule a message whose time stamp is in the past! It's up to the device to decide how to handle time stamps that are too far off in the future or are in the past. The sender doesn't know what the device considers to be too far off, or whether the device had any problem with the time stamp. This ignorance mimics the behavior of external MIDI hardware devices, which send messages without ever knowing whether they were received correctly. (MIDI wire protocol is unidirectional.)


Some devices send time-stamped messages (via a Transmitter). For example, the messages sent by a MIDI input port might be stamped with the time the incoming message arrived at the port. On some systems, the event-handling mechanisms cause a certain amount of timing precision to be lost during subsequent processing of the message. The message's time stamp allows the original timing information to be preserved.

 

 

source

Link to comment
Share on other sites

  • Members

It might be a couple of different things depending on the context.

 

MOTU coined a definition specific to their own USB hardware - this from Sweetwater:

 

http://www.sweetwater.com/expert-center/glossary/t--MTS-MOTU

 

 

MTS (MIDI Time Stamping)

An abbreviation that stands for many different things, but the one that concerns us is the newly coined term from Mark of the Unicorn. MTS is their technology known as MIDI Time Stamping, which allows MIDI tracks to be recorded and played back with an extremely high degree of timing accuracy. MIDI Time Stamping has been a part of all MOTU USB MIDI interfaces and is officially being deployed (activated) with the release of Digital Performer version 2.61. It is a method of coding MIDI data that passes through a MOTU MIDI interface with specific timing information. Once each piece of MIDI data is time stamped the software can control it with an extremely high degree of accuracy, and (this is the important part) play it back with that degree of accuracy. The key to MTS is that MIDI playback is no longer computer clock dependent. For playback, the time stamped event is pre-transmitted to the USB interface from DP, and the MOTU USB interface handles the transmission of those events to the playback MIDI modules. MOTU boasts sub-millisecond accuracy with MTS, and has changed the PPQ resolution of DP to accept values up to 10,000! Now that's a lot of pulses per quarter note.

 

 

Microsoft also used the term in some multimedia specifications as well. This was for game event type synchronization.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...