Personal Assessments

This section gives my current personal assessments of efforts in MIDI Over IP, based on available information. They are not based on hands-on experience, and may change as more information becomes available and as each effort matures.

Performance of any protocol will be affected by system configuration and application load, software driver efficiency and similar factors.

iMIDI is not vaporware, but is not very substantial. It's freeware, with no visible support, and no apparent ongoing development activity. It uses TCP rather than UDP (potentially resulting in serious performance bottlenecks). The current implementation is only for Mac OS X (using Max OS 'ethernetworks' APIs, limiting portability).

DMIDI (origin: Phil Kerr, Linux LAD community; now IEEE) and NetMIDI (origin: Richmond Sound Design, Joanne Dow) are pretty similar. Both should work fine on a private LAN (dedicated to MIDI; no background file downloads, or other non-MIDI traffic). There is no timestamping, so jitter may occur (depends on system configuration and loading). Both protocols are completely unsuitable for streaming MIDI over the Internet. Neither protocol is currently packaged in a way that is easy for musicians to use (NetMIDI is designed for show control, and is supported by show control applications).

MIDIOverLan+ (from MusicLab) is an enhanced version of MIDIReplicator. It's currently Windows-only. People on the OASYS PCI mailing list and elsewhere rate it highly (see Sonic Control review in References). MusicLab has been responsive to queries, providing performance test data and other technical details. The software control panels seem to be reasonably musician-friendly.

MWPP is much more ambitious (and much more complex) than other protocols discussed in this memo. MWPP is designed to:

  • Stream MIDI over the Internet, reliably
  • Support a variety of timestamp formats (including musically-sensible ones)
  • Maintain session-level MIDI state information, to support recovery from network errors and to enable clients to join an in-progress session.
  • Adapt to less-hostile network environments (by dropping features and overhead needed to survive in no-holds-barred Internet territory).

Currently, MWPP is the protocol "most likely to succeed" as an effective solution across the full range of application areas for MIDI Over IP. Some parties have questioned whether MWPP is too "heavyweight" for private-LAN applications such as show control or interactive MIDI performance. In my view, MWPP is sufficiently customizable that it should be possible to specify a subset of MWPP which is suitable for interactive nearly-real-time applications. MWPP is a serious, well-thought-out effort with a lot of momentum.