Robert Jonsson wrote:
[snip]
The difference between the two is that timidity
probably opens the soundcard
with write-only, whereas jack by default opens it read-write (full duplex).
The emu10k driver doesn't allow any setting below -p 512 if you run in full
duplex. If you change the output of jack so it only writes you could set it
lower here too.
You are right! Forcing jack to open alsa in plaback only mode I can set
a period 256 frames with 2 periods of buffer. I play via midi so I don't
need the capture the most of times. So playng with ZynAddSubFX I can
get a latency of 10 ms! This isn't just a "pretty low latency" but a
_very_ low latency for me :-). Thanks.
I think this is a shortcoming of the driver. I've
come to understand that the
emu10k1 is capable of much lower settings with the kx drivers in windows.
But it's a sad closed (I think almost) personal project. Personally I
apprecciate a lot those ideas about drivers policy:
http://www.gnu.org/brave-gnu-world/issue-51.en.html
don't you?
[snip]
Very few cards/drivers support using only one buffer.
If I understand things
correctly it means that whenever the buffer runs empty the program has to
rewrite the buffer _before_ the soundcard needs another single sample. Which
is a _very_ short time.
In practice this setup is unusable.
ok, I understand
[snip]
The last but
not least, I have a general question about jack: if I a
stream pass twice or more times into jack (for example alsa in -> jack
rack -> ardour -> alsa out, 3 times) does the latency increases twice or
more, proportionally, or it is only related to the various apps latency?
Somebody more knowledgeable than me should answer that :)
I've done the question because I noticed that jamin increase the latency
much more then other apps (like ardour or jack-rack). For example the
with the setup:
midi -> ZynAddSubFX -> jack-rack -> ardour -> alsa out
(5.3 ms)
I have no (at least easily) audible delay when I play (using 2 periods
of 512 frames), while with:
midi -> ZynAddSubFX -> jamin -> alsa out
I have a strong delay of (I estimate) about 0.1 ~ 0.2 secs, which means
no realtime response. So I understand that I don't understand something
about how jack works :-)
Anyway, there is a way to mesure the global in-out latency? (I've tried
the Benno's latency test, it does the benchmark but does not produce any
png result, and I think is only a kernel-related test)
[snip]
Not stupid at all. I hope my answers where correct and
satisfactory.
Fully satisfactory, you fullfilled all (well quite all ;) my doubts in
one time! Thanks a lot.
/Robert
Antonio