[LAU] MIDI over wifi on Linux, revisited

Jonathan E. Brickman jeb at ponderworthy.com
Mon Jan 4 00:27:27 UTC 2016



On 01/03/2016 05:30 PM, Len Ovens wrote:
> On Sat, 2 Jan 2016, Jonathan E. Brickman wrote:
>
>> For midi over a network have a look at
>>
>>  https://en.wikipedia.org/wiki/RTP_MIDI
>>  https://code.google.com/p/midikit/
>
> 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 at 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!!!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxaudio.org/pipermail/linux-audio-user/attachments/20160103/e2eeb918/attachment.html>


More information about the Linux-audio-user mailing list