Re: [motm] MIDI over IP
2000-08-11 by alt-mode
The Old Crow just gave me one of those "why didn't I think of that!" moments! Now we're getting into something dangerously close to my "day job" so I may babble a bit; you have been warned... None of the MIDI guys understood anything about networking in the very early 80s. After all, they were a bunch of analog engineers who had just discovered microprocessors a few years back;) [OK, I'm generalizing.] MIDI over IP is a cool idea but I wouldn't use TCP. I don't think you could get a good TCP implementation small enough yet to make it cost effective. TCP has all the reliability and retransmission stuff so it is where the complexity lives. Besides retransmission isn't really what you want. You want to detect corrupt messages but you don't want to wait for the retransmission of that "note on" message. Most of the "realtime" protocols such as video and voice tend to work best directly over IP or over UDP (User Datagram Protocol). Just encapsulating MIDI messages over IP would add 20 bytes of IP header plus the MAC layer stuff (14 bytes for Ethernet plus the preamble off the top of my head). This is quite a bit of overhead for a 2 byte message but livable at 10Mbps or 100Mbps. You would probably want to add a few more header bytes to increase the number of channels (call it a virtual MIDI port or something similar). Ethernet CRCs would detect errors and so would the IP checksum so that would get rid of corrupted packets. You can still have stuck note problems of today's MIDI but you wouldn't have the wrong messages going through. The biggest code piece would be the Ethernet driver. The IP encapsulation of the MIDI data would be trivial. There might be a tad bit more latency but less than there was with some traditional MIDI implementations. A single LAN connecting all of your MIDI devices...It would be the end of the computer MIDI interface, just buy Ethernet hubs/switches for your studio. Existing instruments could be upgraded with a small board or perhaps an inline connector that went from MIDI to RJ-45. I don't know if it could be made to run on the low power availble from MIDI though... I'd be willing to help design the protocol, write an Internet Draft and get a protocol number for something like this if anyone is interested. It shouldn't be hard to get it into an RFC (Request for Comments, the specifications for Internet protocols and the like), it would just take time. Some of this just seems so obvious that I wonder if it has already been done. A quick check of the Internet Assigned Numbers shows no reference to MIDI or musical. Hmmph, I'm kind of amazed. Eric --- The Old Crow <oldcrow@...> wrote: > > Analog control woes notwithstanding, the main reason I view MIDI with > some considerable criticism is that for a networking protocol, it *blows*. > I never will understand why they didn't go with some Manchester scheme to > provide collision and drop error handling. It is not that difficult to > implement: the Apple Desktop Bus used on Macs to this day (and nearly as > old as MIDI) achieve it. > > These days, (starting in 1990 or so) plenty of sources of cheap MII > transcevier chips to fashion ethernet connections exist: it would cost > next to nothing to cram one in a keyboard and use a *real* network > protocol like TCP/IP to run the show. You don't even have to abandon the > MIDI message structure--just encapsulate it in the IP packets. > > I hope that one day a true network physical layer like ethernet makes it > into new instruments. And for the millions of old instruments--an > ethernet to MIDI-hardware adapter (which are cheap and easy to make, look > at the dinky little thing from www.picoweb.net!) is no problem. > > > --Crow, dreaming of the day they put real LAN hardware into the gear > > /**/ > > __________________________________________________ Do You Yahoo!? Kick off your party with Yahoo! Invites. http://invites.yahoo.com/