Synchronisation in multimedia involves two concepts which are often confused: <strong>clock</strong> (or speed) and <strong>time</strong> (location in time).
</p>
<p>
A <em>clock</em> is the mechanism by which two systems <em>tick</em> simultaneously.
In the audio world this is generally referred to as <ahref="http://en.wikipedia.org/wiki/Word_clock"title="http://en.wikipedia.org/wiki/Word_clock">Word_clock</a>.
It does not carry any absolute reference to a point in time: A clock is used to keep a systems sample rate constant, regular and accurate.
Word clock is usually at the frequency of the sample-rate - ie at 48KHz, its period is about 20μs. Word Clock is the most common 'sample rate' based clock but other clocks do exist such as Black and Burst, Tri-Level and DARS. Sample rates can also be derived from these clocks as well.
</p>
<p>
Time – or <em>timecode</em>– on the other hand specifies an absolute relationship or position on a timeline e.g. <code>01:02:03:04</code> (expressed as Hours:Mins:Secs:Frames). It is actual data and not a clock-signal per se.
The granularity of timecode is <strong>Video Frames</strong> and is an order of magnitude lower than, say, Word Clock which is counted in <strong>samples</strong>. A typical frame-rate is 25 fps with a period of 40ms.
In the case of 48kHz and 25fps, there are 1920 samples per video frame.
</p>
<p>
An interesting point to note is that LTC (Linear Time Code) is a Manchester Encoded, Frequency Modulated signal that carries both 'Clock' and 'Time'. It is possible to extract absolute position data and speed from it.
</p>
<p>
The concept of clock and timecode is reflected in JACK and Ardour:
</p>
<p>
JACK provides clock-synchronization and is not concerned with time-code (this is not entirely true, more on jack-transport later).
Within software, jackd provides sample-accurate synchronization between all JACK applications.
If two interfaces run at different clocks the only way to align the signals is via re-sampling (SRC - Sample Rate Conversion) - which decreases fidelity.
</p>
<p>
Timecode is used to align systems already synchronized by a clock to a common point in time, this is application specific and various standards and methods exist to do this.
</p>
<p>
NB. to make things confusing, there are possibilities to synchronize clocks using timecode. e.g. using mechanism called <em>jam-sync</em> and a Phase-Locked-Loop.