RTP-MIDI
More info
- Creator
- John Lazzaro and John Wawrzynek (UC Berkeley)
- Released
- 2006
- Type
- Protocol
- Spec
- RFC 6295
MIDI messages wrapped in RTP over UDP, so that two computers or synths can play together across an ordinary network.
The spec came out of UC Berkeley and became RFC 4695 in 2006, revised as RFC 6295 in 2011. Apple had already shipped an implementation in Mac OS X Tiger under the name Network MIDI, which is why the protocol is often just called AppleMIDI. Each session uses two UDP ports, one for control and one for data, and the clocks are aligned through a dedicated exchange of timestamps.
The clever bit is the recovery journal. Rather than retransmitting lost packets, every packet carries a compressed summary of recent state, so a receiver can fix a stuck note instead of waiting for a resend that would arrive too late to matter. Windows has no built-in support; Tobias Erichsen's free rtpMIDI driver has filled that gap for the better part of two decades.