Jonathan Brickman:
Some may remember, I tried a full-court press on MIDI
over wifi about
eighteen months ago, using a couple of different methods; there were
occasional losses in realtime play, enough key-up commands lost that it
could not be used. So I gave it up for then and eventually found a
different use for my Rpi2.
For midi over a network have a look at
https://en.wikipedia.org/wiki/RTP_MIDI
https://code.google.com/p/midikit/
Now if I understand this Wikipedia article
<https://en.wikipedia.org/wiki/Open_Sound_Control> correctly, SLIP is
commonly used to encapsulate OSC signals.
According to the article, yes, but only over usb, and usb in this case
is used as a replacement for a rs232 serial line. Midi (over
midicables) uses the same framing as rs232, but it has its own idiotic
baudrate that complies with nothing else, perhaps so you cannot use
plain serial cables. So midi over usb is just old plain midi (with a
differnt baudrate and added framing) over a new medium which behaves
as if it were a rs232-connection.
Well, that is my guess anyhow.
This could be a great clue,
because SLIP is very definitely a protocol which can give us verification
and recovery of lost signals, i.e., signals lost in the normal wifi
situation.
No, SLIP takes the place of IP (as in TCP/IP), it only does routing
(where routing in this case is: to the other side of the cable).
Neither IP nor SLIP gives you any retransmission or guaranteed delivery,
you need TCP for that. As the article says, OSC uses UDP, which is a
minimal shim over IP. It just dumps the packet over to the other side
without any delivery check or retransmissions of lost packages.
And I have seen the Pure Data method of converting
OSC to MIDI
and back, so that is not too much of a problem. The question I have is,
what would be the best method of verifying, configuring, and debugging SLIP
encapsulation? To do this well, for production on stage, I have not not
only be able to checkbox on for SLIP, but trigger warnings if it detects a
certain degree of errors.
SLIP is defined in
https://tools.ietf.org/html/rfc1055 and the first
paragraph under HISTORY is:
SLIP has its origins in the 3COM UNET TCP/IP implementation from the
early 1980's. It is merely a packet framing protocol: SLIP defines a
sequence of characters that frame IP packets on a serial line, and
nothing more. It provides no addressing, packet type identification,
error detection/correction or compression mechanisms. Because the
protocol does so little, though, it is usually very easy to
implement.
Regards,
/Karl Hammar
-----------------------------------------------------------------------
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sweden
+46 173 140 57