On September 19, 2012 3:18:19 PM Robert Jonsson wrote:

Hi Luis


2012/9/19 Luis Garrido <[email protected]>

On 09/19/2012 01:42 PM, Florian Jung wrote:

> > and if there are disadvantages of jack-midi vs alsa-midi: tell me!
> >
> 
> 
> I am by no means an expert on the subject, but I have the vague
> recollection that jack-midi has a couple of disadvantages:
> 
> 1) Makes midi latency dependent on jack's audio buffer size.
> 2) Doesn't deal well with big sysex messages.
> 
> 
> 
> I see. If that is the case the realtime use case (playing keyboard and 
listening live) will also have considerable jitter. 
> I need to test it.
> 
> 

Robert and Luis are both right. 
Jack Midi offers the advantage of frame-precision, but with large 
 Jack buffers there is midi latency. And there's nothing you can
 do about it, just like audio latency, for 'live' playing.
With pure Jack midi you could be waiting up to *two* periods -
 one record and one playback cycle. Not good.
A separate ALSA or other timer on the record side offers *some* 
 immunity to this.
In theory the latency could be halved - reduced to nothing on the 
 record side but still there's Jack midi playback latency you can't 
 get around.
In fact live players using large Jack audio buffers may be better served 
 by using only ALSA for /both/ record and playback. But of course then 
 there's the audio latency...
So that's why I argued against completely removing ALSA support.

I even spoke of a hybrid system in which we use Jack midi,
 but at large buffer sizes we automatically choose between Jack
 and the ALSA or other timer for the best timing. Thus satisfying 'live'
 realtime performers.

So having ALSA and a separate timer is very important.
Whether it be ALSA or HP or RTC, it's good to have one.
That's why I was so hesitant to force the -A switch, hope it was
 a good idea...

About the sysex: At this point MusE doesn't handle sysex chunking 
 anyway (prints a warning), so it doesn't really matter, but if we ever 
 fix that we'll need to be sure whatever system we use, we can rely on
 it to deliver large sysexes or at least chunk them, and Jack midi can't 
 do large ones ATM, but there's no reason why the source couldn't just 
 break it up into chunks, Jack can handle that I think.

Thanks for the RTC links Robert, I'll try it out. 

Tim.


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Lmuse-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/lmuse-developer

Reply via email to