[linux-audio-dev] RTP resilient-MIDI networking in sfront 0.73

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: [linux-audio-dev] RTP resilient-MIDI networking in sfront 0.73
From: John Lazzaro (lazzaro_AT_CS.Berkeley.EDU)
Date: Fri Aug 03 2001 - 20:56:53 EEST


Hi LAD-folk,

New sfront release (0.73), this is the first
release with networking support, which is
targeted primarily for network musical
performance applications. Technically, its
IETF SIP and RTP over UDP, and an RTP MIDI
packetization that has a forward-error-correction
scheme for resiliency to lost packets. A SIP
server at Berkeley sets up sessions between
players; there's a dummy mirror client that
runs at Berkeley so you can test w/o a friend.

In theory it should work through many but
not all pairings of NATs, using multi-player
game network techniques grafted onto SIP
and RTP. In practice we'll see ...

Security-wise, the system has authentication
but not encryption at the moment. Players
handle their own key exchange beforehand;
all outgoing SIP and RTP packets get
signed (HMAC-MD5) by the sending client,
and verified by the receiving client.

The networking client mostly lives in
the sfront/src/lib/csrc/net_*.c files,
about 250K of C that compiles on lots of
UNIXes (Solaris, HPUX, Linux tested).
It knows about SIP and RTP and MIDI but
very little about Structured Audio, and
so in theory it could be used in other
MIDI apps; in practice, it would probably
need developer documentation and a
companion server release to make sense.
Let me know if there's interest ...

See change log below for distro details,
and see this paper:

http://www.cs.berkeley.edu/~lazzaro/sa/pubs/pdf/nossdav01.pdf

for design and measurement of the MIDI FEC.

                                        --jl

----

Pick up sfront 0.72 7/10/01 at:

http://www.cs.berkeley.edu/~lazzaro/sa/index.html

Change log message:

[1] The -cin ascii control driver has been rewritten: it maps the ASCII keyboard as a two-octave pentatonic scale, with fixed note length. Special keys control MIDI presets and channel volume. Tested under Linux, should work on any OS that supports the termios API.

[2] Sfront now fully tested under Mac OS X version 10.0.3 (no real-time audio/control support yet, just file rendering). Work on Mac OS 9.1 under MPW has yet to resolve problems related to sample file and MIDI file reading, and so OS X is the most viable option for sfront Mac OS users. Thanks to Manfred Brockhaus.

[3] Numerous bug fixes: variable length core opcodes work in oparrays, the && and || operators work for vectors, unused exports signal variables work correctly, several audio-bus errors fixed, SASL labelled control statements access multiple instrs correctly, large constant integer values correctly supported. Thanks to Robert Sherry and Axel Nackaerts.

----

------------------------------------------------------------------------- John Lazzaro -- Research Specialist -- CS Division -- EECS -- UC Berkeley lazzaro [at] cs [dot] berkeley [dot] edu www.cs.berkeley.edu/~lazzaro -------------------------------------------------------------------------


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Fri Aug 03 2001 - 20:57:40 EEST