[ardour-dev] testing plugin latency compensation and alignment

philicorda philicorda at ntlworld.com
Mon Aug 1 14:19:49 PDT 2005


Okay, here's some results with:

Linux philus.tydrwg.org 2.6.12-0.12.rdt.rhfc4.ccrma
Ardour-gtk 0.600.3
Lib Ardour 0.895.5

Jack setup:
jackd version 0.100.1 tmpdir /dev/shm protocol 15
jackd -R -dalsa -dhw:2 -r44100 -p2048 -n2

Audio card:
Echo Gina-20 (snd-gina20)
Alsa: 1.0.9b-1.rhfc4.ccrma

The frame numbers for late/early won't be totally accurate as I just
zoomed in as far as I could go, placed the playhead, and read the
position off the transport bar. For 'where it should be' the number will
be accurate as I used snap.

All recordings started from zero.

Test 1: Recording the click. 
Ardour settings: Align with existing material.

Record Click to track with input 'ardour click out 1'
Recorded Click is early. First beat's attack is missing. Second is at
20002 frames rather than 22050 where it should be.

Record Click to track with loopback input 'alsa pcm capture:1'
Recorded Click is late. First beat is at 190 frames rather than 0.


Test 2: Recording the click. 
Ardour settings: align recorded material with exact time recorded.

Record Click to track with input 'ardour click out 1'
Recorded click is exactly in time.

Record Click to track with loopback input 'alsa pcm capture:1'
Recorded Click is late. First beat is at 2238 frames rather than 0.


Test 3: Re-recording the recorded exactly in time click track to a new
track. 
Ardour settings: Align recorded material with existing material.

Record Click to track with loopback input 'alsa pcm capture:1'
Recorded Click is late. First beat faded in (see misc notes).
Second beat is at 22240 frames rather than 22050.

Test 4: Re-recording the recorded exactly in time click track. An
artificial latency plugin set to 400ms is inserted on an unused audio
track.
Ardour settings: Align recorded material with existing material.

Record to track with loopback input 'alsa pcm capture:1'
Recorded Click is late. First beat is at 2238 frames rather than zero.

Test 5: Re-recording the recorded exactly in time click track. An
artificial latency plugin set to 800ms is inserted on an unused audio
track.
Ardour settings: Align recorded material with existing material.

Record to track with loopback input 'alsa pcm capture:1'
Recorded Click is late. First beat is at the same 2238 frames rather
than zero.

Test 6: Re-recording the recorded exactly in time click track. An
artificial latency plugin set to 400ms is inserted on an unused audio
track.
Ardour settings: Align recorded material with exact time recorded.

Record to track with loopback input 'alsa pcm capture:1'
Recorded Click is late. First beat is at the same 2238 frames rather
than zero.

Test 6: Re-recording the recorded exactly in time click track. An
artificial latency plugin set to 800ms is inserted on an unused audio
track.
Ardour settings: Align recorded material with exact time recorded.

Record to track with loopback input 'alsa pcm capture:1'
Recorded Click is late. First beat is at the same 2238 frames rather
than zero.


Misc stuff noted:
If you play a recorded click track starting at 0, the first beat has a
slight fade in even if fades are disabled on that region. Drag it about
1000 frames to the right and the fade is no longer there. Alignment
settings have no effect on this. If the artificial latency plugin is on
an insert, this problem no longer happens. Preroll too short?

When using the artificial latency plugin, the transport continues
rolling after you press stop. The audio played back while it is still
rolling is oddly quiet and distorted with little pre echos in it.

In conclusion:

First, there is always a 190 frame offset on loopback with this card
when using 'Align with existing material'.
This offset did not change when jackd 'frames per period' was altered
from 2048 to 256. 190 frames seems a little too big for converter delay.

Second, when the artificial latency plugin is used, the latency
compensation seems to compensate for plugin latency, but the jack/sound
card latency stops being compensated for.

I did a final test to try and isolate this....

Test 7: Re-recording the recorded exactly in time click track. An
artificial latency plugin set to 800ms is inserted on an unused audio
track. Jack period is set to 512 frames.
Ardour settings: Align recorded material with existing material.

Record to track with loopback input 'alsa pcm capture:1'
Recorded Click is late. First beat is at 700 frames rather than zero.

As it was now at 700 frames late rather than the 2238 frames with the
2048 period size in jack, I assume the jack/soundcard latency was not
being compensated. Changing the artificial latency setting and
re-running the test made no difference to results.

Hope this data is of some use. Didn't get so far as recording music this
time. :) 





More information about the Ardour-Dev mailing list