X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=_manual%2F19_synchronization%2F02_latency-and-latency-compensation.html;h=4e049d084e89cff28d742b980e57183f621fbcb5;hb=7a02ccdce1f9599b9ea5b1a08f53f913474eec25;hp=c478a5c1281210edfb626bd59c8fb01408717ceb;hpb=e7b78767392c9f7d705799ff94724dd6d2a21a71;p=ardour-manual diff --git a/_manual/19_synchronization/02_latency-and-latency-compensation.html b/_manual/19_synchronization/02_latency-and-latency-compensation.html index c478a5c..4e049d0 100644 --- a/_manual/19_synchronization/02_latency-and-latency-compensation.html +++ b/_manual/19_synchronization/02_latency-and-latency-compensation.html @@ -1,6 +1,7 @@ --- layout: default title: Latency and Latency-Compensation +menu_title: About Latency ---
Figure 1: Latency chain. The numbers are an example for a typical PC. With professional gear and an optimized system the total roundtrip latency is usually lower. The important point is that latency is always additive and a sum of many independent factors.
+ +Figure: Latency chain. The numbers are an example for a typical PC. With professional gear and an optimized system the total roundtrip latency is usually lower. The important point is that latency is always additive and a sum of many independent factors.
There is not much that can done about the first two other than using headphones or sitting near the loudspeaker and buying quality gear. @@ -60,7 +61,7 @@ Low-latency is not always a feature you want to have. It comes with a couple of
-Reliable low-latency (â¤10ms) on GNU/Linux can usually only be achieved by running realtime-kernel. +Reliable low-latency (â¤10ms) on GNU/Linux can usually only be achieved by running a realtime-kernel.
@@ -99,7 +100,7 @@ NB. this is also one of the reasons why many projects start at timecode 01
To achieve sample accurate timecode synchronization, the latency introduced by the audio-setup needs to be known and compensated for. @@ -109,11 +110,11 @@ To achieve sample accurate timecode synchronization, the latency introduced by t In order to compensate for Latency, JACK or JACK applications need to know exactly how long a certain signal needs to be read-ahead or delayed:
- -Figure 2: Jack Latency Compensation. This figure outlines the jack latency API. -- excerpt from http://jackaudio.org/files/jack-latency.png
+ +Figure: Jack Latency Compensation. This figure outlines the jack latency API. -- excerpt from http://jackaudio.org/files/jack-latency.png
-In Figure 2, clients A and B need to be able to answer the following two questions: +In above figure, clients A and B need to be able to answer the following two questions:
-JACK includes an API that allows applications to determine the answers to above questions. However JACK can not know about the additional latency that is introduced by the computer architecture, operating system and soundcard. These values indicated by -I
and -O
in Figure 2 and vary from system to system but are generally constant values. On a general purpose computer system the only way to accurately learn about the total latency is to measure it.
+JACK includes an API that allows applications to determine the answers to above questions. However JACK can not know about the additional latency that is introduced by the computer architecture, operating system and soundcard. These values indicated by -I
and -O
and vary from system to system but are generally constant values. On a general purpose computer system the only way to accurately learn about the total latency is to measure it.
Linux DSP guru Fons Adriaensen wrote a tool called jack_delay
to accurately measure the roundtrip latency of a closed loop audio chain, with sub-sample accuracy. JACK itself includes a variant of this called jack_iodelay
.