Re: [LAD] MIDI-2-TCP, TCP-2-MIDI
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
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
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
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