Re: [LAD] MIDI-2-TCP, TCP-2-MIDI

2018-08-29 Thread christoph . kuhr

Hey Len,
thanks for the insight.
I never used OSC this way so far.
I also did not know that there are existing RFCs for MIDI over RTP, which is 
very nice!
So, yeah, lets do that.
I will take a closer look at the code repos you posted.  I definitly want to 
give this a try!
But I am rather busy at the moment, so don't expect too fast progress in this 
matter ;-)
BR,
Ck Mittwoch, 29 August 2018, 09:00nachm. +01:00 von Len Ovens  
l...@ovenwerks.net :

>On Wed, 29 Aug 2018,  christoph.k...@web.de wrote:
>
> I would always prefer a UDP based solutions,  because TCP can really mess up 
> the
> timing. UDP packetloss usually is below 1%. The bigger problem in this case 
> are
> WIFI connections, scrambled packet orders and jitter.
>
> Are there any objections to using Open Sound Control based solutions?
> To me it makes more sence, because it is an IP-based protocol (32 bit) in
> contrast to MIDI, which is designed for 8 bit serial interfaces.
>
>OSC being lossless has not been my experience. The problem I have had is 
>the OSC messages are generally one message per packet which means that a 
>large group of messages can overwhelm udp quite easily. OSC does allow for 
>using bundles of messages to be performed at the same time, however MIDI 
>to OSC cannot really determine a group of events that happen at the same 
>time because of it's (slow) serial nature.
>
>Do note that the osc message "stormes" I have had trouble with are bigger 
>than what MIDI was designed to handle in realtime (10 events from 10 
>fingers). I am talking about refreshing a control surface with at least 8 
>strips with each strip having 20 or so events. So well over 100 events. 
>When I tried to use bundles, I found that no control surfaces created or 
>understood bundled messages. I ended up adding a small delay in the sends 
>to fix this... not very "real time" :) Not noticable while moving one 
>control like a fader but noticable if performing music.
>
>
>--
>Len Ovens
>www.ovenwerks.net
>___
>Linux-audio-dev mailing list
>Linux-audio-dev@lists.linuxaudio.org
>https://lists.linuxaudio.org/listinfo/linux-audio-dev
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
https://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] MIDI-2-TCP, TCP-2-MIDI

2018-08-29 Thread Len Ovens

On Wed, 29 Aug 2018, christoph.k...@web.de wrote:


I would always prefer a UDP based solutions,  because TCP can really mess up the
timing. UDP packetloss usually is below 1%. The bigger problem in this case are
WIFI connections, scrambled packet orders and jitter.

Are there any objections to using Open Sound Control based solutions?
To me it makes more sence, because it is an IP-based protocol (32 bit) in
contrast to MIDI, which is designed for 8 bit serial interfaces.


OSC being lossless has not been my experience. The problem I have had is 
the OSC messages are generally one message per packet which means that a 
large group of messages can overwhelm udp quite easily. OSC does allow for 
using bundles of messages to be performed at the same time, however MIDI 
to OSC cannot really determine a group of events that happen at the same 
time because of it's (slow) serial nature.


Do note that the osc message "stormes" I have had trouble with are bigger 
than what MIDI was designed to handle in realtime (10 events from 10 
fingers). I am talking about refreshing a control surface with at least 8 
strips with each strip having 20 or so events. So well over 100 events. 
When I tried to use bundles, I found that no control surfaces created or 
understood bundled messages. I ended up adding a small delay in the sends 
to fix this... not very "real time" :) Not noticable while moving one 
control like a fader but noticable if performing music.



--
Len Ovens
www.ovenwerks.net
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
https://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] MIDI-2-TCP, TCP-2-MIDI

2018-08-29 Thread Len Ovens

On Wed, 29 Aug 2018, Jonathan E. Brickman wrote:


I need lossless JACK MIDI networking outside of JACK's built-in networking, and
not multicast unless someone can tell me straightforwardly how to get multicast
(qmidinet) to run within localhost as well as outside it. Thus I am thinking of
trying my hand at using the Mido library to bridge JACK MIDI and TCP. I have
never done this sort of coding before, programmatorially I am mostly a deep
scripting guy, Python-heavy with a bunch of Bash on Linux, Powershell-heavy on
Windows of late, with a pile of history on back in Perl on both and VBA on
Windows. Anyone have hints...suggestions...alternatives...a best or better
starting place? Right now I don't want the applets to do GUI at all, I just want
them to sit quietly in xterms, on JACK servers, keeping connection, and passing
MIDI data to and fro, as other processes and devices bring it.


While I have not had any issues with qmidinet, it is not immune to packet 
loss. If you want a place to start I would suggest rtpMIDI would do what 
you want and be a great service to the linux community. While there have 
been in the past rtpmidi implementations in Linux, they seem to have 
suffered bitrot and in fact I don't even know if the source is still 
available.


https://en.wikipedia.org/wiki/RTP-MIDI#Linux

They mention Scenic, but anything I tried with that (like building from 
source) did not work. (it has been 1 or 2 years since I tried) The full 
implementation at least guarantees all note off events make it through. 
There was a google repo called MIDIKIT, but google has shut all that stuff 
down. I don't know if https://github.com/jpommerening/midikit is the same 
code or not as they have no readme and the last commit is 2015.


I don't know as I like to use node, but: 
https://github.com/jdachtera/node-rtpmidi

is a bit newer.

rtpmidi that shows up in alsa or jack with zeroconf support would be a 
nice addition to Linux audio. (as would a whole pile of other things :)



--
Len Ovens
www.ovenwerks.net
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
https://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] MIDI-2-TCP, TCP-2-MIDI

2018-08-29 Thread Jonathan E. Brickman
I need lossless JACK MIDI networking outside of JACK's built-in
networking, and not multicast unless someone can tell me
straightforwardly how to get multicast (qmidinet) to run within
localhost as well as outside it.  Thus I am thinking of trying my hand
at using the Mido library to bridge JACK MIDI and TCP.  I have never
done this sort of coding before, programmatorially I am mostly a deep
scripting guy, Python-heavy with a bunch of Bash on Linux, Powershell-
heavy on Windows of late, with a pile of history on back in Perl on
both and VBA on Windows.  Anyone have
hints...suggestions...alternatives...a best or better starting
place?  Right now I don't want the applets to do GUI at all, I just
want them to sit quietly in xterms, on JACK servers, keeping
connection, and passing MIDI data to and fro, as other processes and
devices bring it.


-- 
Jonathan E. Brickman   j...@ponderworthy.com(785)233-9977
Hear us at ponderworthy.com -- CDs and MP3 available!
Music of compassion; fire, and life!!!
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
https://lists.linuxaudio.org/listinfo/linux-audio-dev