[linux-audio-dev] Re: Language fanboys [was Re: light C++ set for WAV]
lazzaro at eecs.berkeley.edu
Mon Jul 24 20:43:06 UTC 2006
On Jul 24, 2006, at 7:43 AM, Forest Bond
<forest at alittletooquiet.net> 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
level retransmission, or engineering an essentially loss-free
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
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:
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.
lazzaro [at] cs [dot] berkeley [dot] edu
More information about the Linux-audio-dev