Latency compensation, how to?

Hello everyone,

I am running Ardour 5.12 under LinuxMint 19.3 with a lowlatency kernel. I am also running Jackd2 with QJackCtl.

My external sound card is connected with USB to the PC. The mic and the loudspeakers are connected to the sound card. I am using Hardware monitoring.

I measured the latency by recording a track with clics played in Ardour and recorded back in another track. After recording the two tracks are not perfectly synchronized. I measured the diffence between the two tracks using the selection tool. The latency is 20ms long.

Searching in manuals and forums it is still not clear to me which parameter and where in Ardour to set this value to compensate the latency to get the two tracks perfectly synchronized.

It am not sure if such a parameter even exist in Ardour like in Audacity for example.

Thus my question is : How do I compensate the latency using Ardour like I can simply do in Audacity ?

I thank you in advance for your answer.

Roger

You calibrate it.
This is done by connecting a cable from your soundcard’s output back to an input.
Then press the “Calibrate Latency” button in Ardour’s Audio/MIDI Setup dialog (Menu > Window Audio/MIDI Setup), select the output and input that you’ve connected the cable to, and “Measure”.

image

Ardour sends a test-signal to the output and measures how long it takes for it to arrive back at the input.

PS. If you use JACK and start jackd using external application, you have to do this using the app that starts jackd.

3 Likes

Nice tips.

I don’t find how to do it in Cadence…Or i don’t understand something.

I do not know Cadence. qjackctl only has two spin-buttons to manually enter values.
You can do the same measurement using jack_iodelay on the commandline.

Thanks @x42. Cadence have the same spin-buttons to manually enter values.
I gonna try with jack_iodelay.

Ok, Robin, Thanks for your answer. I don’t figured how to do that using QjackCtl. So I stopped it and Jackd.
I put the mic in front of one of the loudspeaker ( i suppose this is the same as connecting a cable between the input and the output of the sound card )
I started ardour alone. Open a session. Ardour ask to start jack, I started jack. Here below are the settings and the result of the calibration.
The result is an error on the systemic latency

Unless you have a very good mic and amplifier+speakers that don’t introduce any distortion. it’s not the same thing.

Anyway since it matches the 20ms that you’ve also established, just configure this manually.

20.5 ms * 48kHz = 984.0 samples total systemic latency. So set half of that for each input + output.

  • Latence matérielle en entrée: 492
  • Latence matérielle en sortie : 492
2 Likes

I’ve done it with patch cable and jack_iodealy, then add the values done by jack_iodelay in Cadence, it works so good. Is the Ardour’s tool an implementation of jack_iodelay ?

Yes it’s a convenient GUI in front of jack_delay (the original upstream tool). jack_iodelay is also derivative of that tool, renamed and bundled with jack.

As opposed to JACK, Ardour/ALSA also allows to calibrate MIDI latency (a GUI in front of jack midi latency), and can also re-calibrate the latency while running. This is usually required for many USB devices, because the systemic latency changes every time.

Thank you so much Robin. This is the perfect solution.

Sans titre

I can know go and play music…

So much thanks

Roger

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.