[linux-audio-dev] Re: Language fanboys [was Re: light C++ set for WAV]

From: lazzaro <lazzaro@email-addr-hidden>
Date: Mon Jul 24 2006 - 23:43:06 EEST

On Jul 24, 2006, at 7:43 AM, Forest Bond
<forest@email-addr-hidden> 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
---
Received on Tue Jul 25 00:15:07 2006

This archive was generated by hypermail 2.1.8 : Tue Jul 25 2006 - 00:15:08 EEST