Paul what you described is very unfortunate. Although I have not had
time to perform any tests lately, I always had the bad feeling  that the
out-of-process model would cost us some performance because the kernel
would screw us in some way.
As said, two years ago I was able to achieve 2.1msec latency with the 
LinuxSampler proof-of-concept code and I think for many low-latency
fetishists (a drummer playing a midi drumkit) it would be hard to give
up these excellent response times especially since we are talking about
a software implementation of a MIDI instrument that ideally should as be
as good as the hardware counterparts in terms of playability.
Regarding the sampler we are currently solving other basic design
problems so for now I think we can let this issue aside since we will
probably perform the first tests with direct ALSA/OSS output and
standard out-of-process JACK mode (in the latter case not expecting to
get extremely low latencies), but in order to get latencies at par with
ALSA , when using JACK the in-process model is as you said probably
mandatory. (and according to Steve Harris JACK would need some
extensions to handle the loading of these in-process jack "plugins"
at run time).
For now we will probably test the extremely low latency cases using
direct audio output otherwise it would be hard to isolate timing
problems.
(Was the deadline miss due to the sampler or due to jack not getting
scheduled in time ? -> double frustration :-) ).

Paul, do you think that in (near) future it will be possible to run
an entire virtual studio using jack's in-process model that runs
all active apps (eg ardour, sampler, snyth, FXes etc) as plugins
 of a single process ?
This would be really useful for those that need these extremely 
low latencies while at the same time being able to access to a 
fully fledged virtual studio where your only limitation is the
CPU speed and RAM/disk speed/size.

cheers,
Benno


Paul Davis wrote:
> the JACK data i provided covers an out-of-process client. the 
> all-in-process client case has the same latency as ALSA only.
>
> the difference between the two is that although 99.9% of the time, the
> kernel operates as desired and JACK can provide ALSA-only/in-process
> performance in the out-of-process case, every once in a few tens of
> thousands of process() cycles, the kernel messes up our scheduling and
> this causes an xrun. tracking this down is an important but very, very
> difficult case. its possible that it may never be solved.
>
> --p


-- 
http://linuxsampler.sourceforge.net
Building a professional grade software sampler for Linux.
Please help us designing and developing it.
 

Reply via email to