[Ardour-Users] about hardware latency measurement

Robin Gareus robin at gareus.org
Fri Jul 1 10:42:12 PDT 2016


On 07/01/2016 07:20 PM, Damien Delpiroux wrote:
> Hi.
> 
> I use a focusrite saffire pro 40.
> I've tried the "latency measurement" at ardour starting with jack off.
> 
> Cf screen shot.
> note: the output used for measurement use internal mixer of the saffire
> (supposed latency=0).

For USB or Firewire devices there's an additional buffer in the kernel
driver.

That's actually a big issue because:
 - the buffer fill is not the same when opening/closing the device
 - it changes when the buffersize is changed

Ardour's ALSA backend can cope with the first part: you can calibrate
latency without restarting the backend.

JACK can't do this because setting the additional latency is a requires
re-starting jackd.

> Can someone explain why the supposed 1.5ms is measured 3.6ms?

It's a complex system with many layers. driver, bus, soundcard itself.
On a generic system the only way to learn about this is to actually
measure it.

The 1.5ms (I guess 1.33 = 64/128) is the nominal jack process cycle.

Round-trip latency is at best twice that and actually in all cases
always worse than that. I'm yet to see a soundcard where systemic
latency it's exactly zero.

> Then, what's the idea to put (81=162/2) in each input and output latency?

The measured value is round-trip latency. Without an additional
sync-point it's impossible distinguish capture and playback latency.

So the additional systemic latency (here 162 samples) is set assumed to
be caused equally by input and output.

http://manual.ardour.org/synchronization/latency-and-latency-compensation/
has a bit more info

HTH,
robin


More information about the Ardour-Users mailing list