Key Open Issues

Much good work has already been done concerning effective transport of MIDI data over IP. However, a number of key issues of particular concern to the music and audio community need further attention. We hope to work closely with other parties interested in this area to help ensure these issues are handled appropriately.

Issues of primary importance include:

  • Interoperability of MIDI products and software applications
  • Performance considerations for various usage situations
  • Liaison with standards bodies (IEEE, IETF, MMA/AMEI) to promote coordination of ongoing standards efforts, compatibility between these efforts, and suitability of any resulting standards for the needs of the various constituencies (including music and audio professionals).

Interoperability Considerations

Interoperability between MIDI products has always been a primary concern of MIDI standards bodies. Interoperability requirements for MIDI-Over-IP include:

  • Standardized IP protocol(s) for transmission of packetized MIDI data.
  • API (Application Programming Interface) recommendations enabling software applications on common personal computers to use MIDI-Over-IP services.

It is possible that several different IP protocols may be needed. MIDI transmission over the Internet is much more difficult than MIDI transmission over a dedicated private LAN. The preferred solution would be to have a single protocol (such as MWPP) with optional features supporting use over relatively hostile environments such as the Internet.

API recommendations should cover all protocol features, including:

  • Sending and receiving timestamped (and unstamped) MIDI data
  • Port, session and other configuration settings
  • Use of any optional features (e.g. MWPP journaling for robust MIDI transport over the Internet).

API methods should be specified in a language-neutral fashion, following relevant IETF and IEEE practice.

Performance Considerations

MIDI is used in many different situations, for many different purposes. Each situation has differing performance requirements. No single set of performance criteria is appropriate for all situations.

Relevant performance criteria typically include such factors as latency, jitter, capacity (bandwidth), error rates and error recovery mechanisms. Other important capabilities include input and output MIDI endpoint addressing and the number of available concurrent MIDI streams, both between endpoints and within a MIDI LAN.

Measuring and Reporting Performance

It would be very helpful for the MIDI standards bodies (MMA and AMEI) to develop standard ways of measuring and reporting performance and other important capabilities. A standardized report format could be included as part of the MIDI Implementation Chart, and as part of overall product specifications.

Using this information, customers could make reasonable evaluations of different products, and determine which products were appropriate for their needs. An example giving one possible performance capabilities format is included below.

Timestamps and Synchronization

The MIDI-DIN wire protocol does not use timestamps of any kind. However, for many (but not all) purposes, timestamps are extremely useful. In addition, it is often necessary to support synchronization between multiple MIDI data streams (and between MIDI and other media, such as audio or video).

Standards for MIDI-Over-IP should include provisions for event timestamps and synchronization-related information. It is desirable to support a number of different timestamp resolutions (since different situations have different needs). Synchronization provisions should be able to handle multiple clock relationships (e.g. audio sample clock, MTC, SMPTE, wallclock, Network Time Protocol, "system time…"), because many "real-world" situations involve multiple clocks and timebases.

Finally, timestamp and synchronization functionality should be optional, to avoid burdening products intended for a particular application domain with functionality that is only useful in other application domains.