Open-source software and standards for creating music
Ethernet/IPIntroduction Overview Comparisons Assessments Open Issues
SupplementAddressing Primer Standards Bodies References
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 between MIDI products has always been a primary concern of MIDI standards bodies. Interoperability requirements for MIDI-Over-IP include:
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:
API methods should be specified in a language-neutral fashion, following relevant IETF and IEEE practice.
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.
|Copyright 2003 Jim Wright. All Rights Reserved. Legal Stuff|