]> Shamusworld >> Repos - ardour-manual/blobdiff - include/latency-and-latency-compensation.html
Removed link to MIDI on Linux page in Mackie Control setup page.
[ardour-manual] / include / latency-and-latency-compensation.html
index 89a6e1ed6672c23b28f5172a9425936cbd58f644..59cb28415cb0bb651cf75260922539c3fea1c981 100644 (file)
 </p>
 
 <h2>The Latency chain</h2>
+
+<p class="note">
+  Note! the rest of this document assumes the use of jackd for the audio
+  backend. While many of the concepts are true, the specifics may be different.
+</p>
 <figure>
   <img src="/images/latency-chain.png" alt="Latency chain">
   <figcaption>
 <p>
   Processing latency is usually divided into <dfn>capture latency</dfn> (the time
   it takes for the digitized audio to be available for digital processing, usually
-  one audio period), and <dfn>playback latency</dfn> (the time it takes for
+  one audio period), and <dfn>playback latency</dfn> (the time it takes for the
+  audio that has been processed to be available in digital form).
   In practice, the combination of both matters. It is called <dfn>round-trip
   latency</dfn>: the time necessary for a certain audio event to be captured,
   processed and played back.
 </p>
 <p class="note">
-  It is important to note that processing latency in a jackd is a matter of
+  It is important to note that processing latency in Ardour is a matter of
   choice. It can be lowered within the limits imposed by the hardware (audio
   device, CPU and bus speed) and audio driver. Lower latencies increase the
   load on the system because it needs to process the audio in smaller chunks
@@ -91,7 +97,7 @@
   consumption because the CPU needs to process many small chunks of audio data,
   it is constantly active and can not enter power-saving mode (think fan noise).
   Since each application that is part of the signal chain must run in every
-  audio cycle, low-latency systems will undergo<dfn>context switches</dfn>
+  audio cycle, low-latency systems will undergo <dfn>context switches</dfn>
   between applications more often, which incur a significant overhead.
   This results in a much higher system load and an increased chance of xruns.
 </p>
   The second approach is prone to various implementation
   issues regarding timecode and transport synchronization. Ardour uses read-ahead
   to compensate for latency. The time displayed in the Ardour clock corresponds
-  to the audio signal that is heared on the speakers (and is not where Ardour
+  to the audio signal that is heard on the speakers (and is not where Ardour
   reads files from disk).
 </p>
 <p>
   <li>Make the appropriate connections between the jack ports so the loop is closed.</li>
   <li>Adjust the playback and capture levels in the mixer.</li>
 </ol>
+<p class="warning">
+  On Linux, the latency of USB audio interfaces is not constant. It may
+  change when the interface is reconnected, on reboot and even when xruns
+  occur. This is due the buffer handling in the Linux USB stack. As a
+  workaround, it is possible to recalibrate the latency at the start of each
+  session and each time an xrun occurs.
+</p>