Individually calibrating Ardour audio is useless when trying to run under JACK because the point is for all applications/devices running under JACK to be synced. You need to set calibration in the app that launched jackd. To change the latency JACK-wide you can, for example, use Cadence. Go to “Configure” --> Extra Latency. For more info see here: https://kx.studio/Documentation:Manual:latency
I’m really not sure about that. I don’t have 5.12 on hand to check whether it was always disabled when running in JACK mode. Think of it this way…if you are indeed running JACK, you want the latency to be the same across the board. Only changing values in Ardour wouldn’t be useful if you are also running, and connecting to, other audio applications or plugins that need to be in sync.
There was a recent change that makes this option only available when a full-duplex device is used. Except for JACK there is no way to determine that before starting jackd, and jackd is also special since latency-settings can only be changed while jackd is not running. So this open was never available. fail.
So for my own sense of clarity: in an example when you are using Ardour + another audio application or plugin you would still want to set the latency values after running calibration tests via something like Cadence or Qjackctl? I’m assuming that simply setting in Ardour would not get pushed to all applications/plugins running under jackd?
First of all, the parameter is never pushed to applications. jackd sets port properties of the system I/O ports. JACK applications can query the value later as needed. check e.g. with jack_lsp -l.
Systemic latency are option passed to jackd when it is started e.g. jackd -d <driver> -I <input latency> -O <output-latency>.
In theory those values could be shared between control applications that launch jackd (Ardour, Qtractor, Cadence, Qjackctl, etc), but in practice that doesn’t happen. There’s also jack vs jack2dbus differences~/.jackdrc vs. ~/.config/jack/conf.xml. Ardour and libjack use the former.
So, with all this…what is the best way for @finetuned to calibrate their audio, through Ardour or something like Cadence/Qjackctl?
I may be reading into your post too much but it almost sounds like either way is not going to achieve perfect latency “sync” between all the various applications/plugins running. Is this why all the advice I read on the forum is always to use ALSA unless you absolutely need to simultaneously run additional audio applications outside of the DAW?
Easiest would be get tomorrow’s Ardour nightly (6.3-56 or later).
The alternative would be to launch jackd using some other application or manually from the commandline. Ardour 5.12 or jack_iodelay could be used to measure the roundtrip latency.
There is zero latency between JACK applications. Systemic-latency applies only to inputs and outputs (caused by buffers in the driver, bus, or delays in ADC/DAC – this is highly hardware dependent and hence needs to be measured).
I suppose I’m so used to having JACK already running through Cadence (with ability to use Catia/Claudia) that starting it via the Ardour audio/midi dialog window is never something I do The diagram is extremely useful, thanks!