On 01/03/2016 05:30 PM, Len Ovens wrote:
On Sat, 2 Jan 2016, Jonathan E. Brickman wrote:
RTP_midi is supposed to be standard and does (if fully implemented)
have error checking. The other standard is ipmidi (see qmidinet)
ipMIDI does not make sure of 100%... it would have to be tunneled
through tcp to get that. UDP tunneled through tcp on a local LAN may
be acceptable timing wise for your purposes, I don't know.
MIDI, unlike audio, must have 100% reliablility to be useful. That
reliablilty is first that all events must reach the other side and
second timing needs to be preserved. A small miss in timing while
anoying, is tolerable. A missing byte is not. One missing byte =
either a missing event or a malformed event that can change the
meaning of that event. (even from a note off to a note on)
Both RTP_midi and ipmidi sit on top of other IP protocols and are
therefore wifi compatible.
I am guessing ssh or telnet over wifi (if set to binary) may work just
as well too. I don't know if you need ssh or not. If you are willing
to do a bit of programming, making a jack client connected to a tcp
server/client should be easy enough though. I have not played with
netjack and do not know how reliable that is for MIDI. I have not had
trouble with Xruns though which would be the same thing.
Len, thanks for the
rundown. I put a lot of effort into
ipmidi/qmidinet, and there was definite occasional loss which I could
not eliminate. Also tried both varieties of netjack; similar result. I
did not find any usable error correction therein. (Error detection is
irrelevant for this; error correction is priceless!) Latencies were very
nicely low, but indeed for instrument control any MIDI loss, even one
byte per minute, is unacceptable.
I am not certain that MIDI must have 100% reliability to be useful in
something like a tablet controller, as long as status feedback exists so
the operator knows that a signal has failed. But MIDI does have to have
100% reliability to be useful to drive a synth from a keyboard. And I
will think that for very high fidelity situations, audio transmission
does have to either have 100% reliability -- with retransmission or a
good enough setup that there simply is no audible loss -- or has to have
seriously good interpolative resampling capability to hide the losses.
According to at least one reference I found, the Ubuntu inclusions
"scenic" and "midistream" are said to be RTP-MIDI complete with
journaling, and it does sound to me like this is likely to be the
best-of-breed for remote instrument control over IP right now. I'll be
trying these next unless another option arises.
J.E.B.
--
Jonathan E. Brickman jeb(a)ponderworthy.com (785)233-9977
Hear us at
http://ponderworthy.com -- CDs and MP3 now available!
<http://ponderworthy.com/ad-astra/ad-astra.html>
Music of compassion; fire, and life!!!