latency overcompensation?

Optimize your system for ultimate performance.

Moderators: MattKingUSA, khz

Post Reply
braintree12
Established Member
Posts: 71
Joined: Tue Feb 28, 2017 5:43 pm
Been thanked: 1 time

latency overcompensation?

Post by braintree12 »

This problem just cropped up recently and I can't pinpoint the cause.
In both Ardour and Tracktion when I record an audio region or clip, the beginning of the audio waveform comes in about 10 milliseconds too early in the timeline (that is, when the buffer is set to 256 -- the "earliness" of the audio increases with the buffer size).
Let's say I have a midi clip with 16 notes on one track and I use it to play hardware or software that is recorded on an audio track below it.
I expect to see the start of the recorded audio waveform slightly *later* than the start of the first midi note. Instead it is coming in 10 ms too "early." If I trim the track to the snap point it cuts off a portion of the first note of the audio, removing transients in some cases.
Of course I can move the waveform on the timeline in non-snap mode but I want to stop this "early recording."
On Ardour my settings are 256 buffer and 0 latency. (Using JACK)
On Tracktion (also with JACK) I've done the latency tests, and my ADAT input has about 1 ms of latency and analog has 2.7.
With a 256 buffer I can set Tracktion's "Time Adjust" for the incoming audio track to a negative number (-10.000 ms) to make the start point of the audio neither early nor late.
At 1024 buffer I am having to set "Time Adjust" to -45.000 ms. On Ardour I can't set latency compensation to a negative number.
This "latency overcompensation" happens when I am recording from hardware, and also when I am recording one track to another. This has only started happening recently, about a month ago.
Is this a JACK issue? A graphics issue? Any help or suggestions would be appreciated.
(Ubuntu Studio 16.04, RME soundcard, newest versions of Ardour and Tracktion)
CrocoDuck
Established Member
Posts: 1133
Joined: Sat May 05, 2012 6:12 pm
Been thanked: 17 times

Re: latency overcompensation?

Post by CrocoDuck »

Hi there!

The only thing that comes in my mind is that you might have some not properly tuned JACK latency compensation value. Have a look at this.
braintree12
Established Member
Posts: 71
Joined: Tue Feb 28, 2017 5:43 pm
Been thanked: 1 time

Re: latency overcompensation?

Post by braintree12 »

Thanks, I'm seeing mostly suggestions there for how to reduce latency, as opposed to increasing it (to get it back to "normal"). Apologies if I missed something.

The first screenshot below shows a recording of a hardware sequencer where Ardour is sending MIDI clock out. The waveform is in perfect sync with the beat, once I manually move it 25 ms to the right (in non-grid mode). The second screenshot shows the hardware output using Ardour's MIDI to trigger the notes. Instead of a lag, the audio seems to anticipate the MIDI notes. It's like precognition! Tom Cruise in Minority Report. Very annoying to have to keep adjusting every waveform!
latency_overcompensation1.png
latency_overcompensation1.png (18.36 KiB) Viewed 748 times
latency_overcompensation2.png
latency_overcompensation2.png (36.25 KiB) Viewed 748 times
CrocoDuck
Established Member
Posts: 1133
Joined: Sat May 05, 2012 6:12 pm
Been thanked: 17 times

Re: latency overcompensation?

Post by CrocoDuck »

braintree12 wrote:Thanks, I'm seeing mostly suggestions there for how to reduce latency, as opposed to increasing it (to get it back to "normal"). Apologies if I missed something.
I was thinking that maybe you have some default in place that is, indeed, compensating way too much for latency. How are you calling JACK? I think there might be some too large latency compensation value that is sitting in the command used to launch it.
braintree12
Established Member
Posts: 71
Joined: Tue Feb 28, 2017 5:43 pm
Been thanked: 1 time

Re: latency overcompensation?

Post by braintree12 »

I usually start JACK with qjackctl prior to opening Ardour or Tracktion. I haven't made any changes to the default settings used by Ardour. I have shortened and lengthened the latency compensation values in the Ardour launch screen (depending on what hardware I am using) but those are currently set at "0".
The only customization I made in qjackctl is to add the script to launch a2jmidid after starting JACK. All this was working fine until about a month ago. I don't know what threw it off. I see there are latency settings in qjackctl -- those are currently set to (default) and I haven't messed with them.
CrocoDuck
Established Member
Posts: 1133
Joined: Sat May 05, 2012 6:12 pm
Been thanked: 17 times

Re: latency overcompensation?

Post by CrocoDuck »

Cool. Le'ts just have a look at the whole command then. Repost the output of:

Code: Select all

cat .jackdrc
braintree12
Established Member
Posts: 71
Joined: Tue Feb 28, 2017 5:43 pm
Been thanked: 1 time

Re: latency overcompensation?

Post by braintree12 »

/usr/bin/jackd -dalsa -dhw:DSP,0 -r44100 -p256 -n2 -D -Chw:DSP

...is what I am seeing.
CrocoDuck
Established Member
Posts: 1133
Joined: Sat May 05, 2012 6:12 pm
Been thanked: 17 times

Re: latency overcompensation?

Post by CrocoDuck »

OK. So there seems to be no option for latency compensation in there, so there goes my theory. I never really experienced anything similar.
With a 256 buffer I can set Tracktion's "Time Adjust" for the incoming audio track to a negative number (-10.000 ms) to make the start point of the audio neither early nor late.
At 1024 buffer I am having to set "Time Adjust" to -45.000 ms. On Ardour I can't set latency compensation to a negative number
Was the sample rate the same?
braintree12
Established Member
Posts: 71
Joined: Tue Feb 28, 2017 5:43 pm
Been thanked: 1 time

Re: latency overcompensation?

Post by braintree12 »

Yes, I always use 44100 for everything. Thanks for the suggestions. I may post about this on the Ardour forum, or ask Tracktion support if they've ever seen this. It's not fatal to my practice, but it's a little riding a bike with a rock in the tread.
Post Reply