On Jul 24, 2006, at 7:43 AM, Forest Bond <[EMAIL PROTECTED]> wrote:

I assume that RTP MIDI could be wrapped in a nice library that makes working with it a lot more pleasant? Couldn't someone implement a protocol over RTP MIDI sysex/NRPN/something that feels something like OSC at the code level? Or
would that just not be very useful?


My suggestion would be ...

If you're creating a system where you are sending OSC and receiving
OSC, just use OSC.  To handle loss and reordering, use the suggestions
people have made during this thread -- resilient data encoding, or application level retransmission, or engineering an essentially loss-free network, or
some combination of the three.

The question that brought me into the discussion originally was, if you
in fact have a MIDI device, like one you bought in a store, and you
want to send its data stream over a lossy network (say, Wi-Fi or the
public Internet) what to do? In this case, I think having RTP MIDI built
into your environment at some level makes sense.  The question is, how?

One way to go is to model Apple -- Tiger added networked MIDI cables
to CoreMIDI, so that applications use the standard CoreMIDI API
and see both direct-connect MIDI cables (via USB, Firewire, etc)
and networked MIDI cables as the same thing.  See:

http://www.soundonsound.com/sos/jul05/articles/tiger.htm#3

for a description of how it works in OS X Tiger.  For Linux, I assume
this means building virtual MIDI cables into ALSA.

Another option is to use a middle-ware package that has already
implemented virtual MIDI cables over networks, like MIDIShare.
Perhaps Dominique Fober or one of his collaborators can chime
in with more details.

---
John Lazzaro
http://www.cs.berkeley.edu/~lazzaro
lazzaro [at] cs [dot] berkeley [dot] edu
---


Reply via email to