On Clock and Time

Synchronization in multimedia involves two concepts which are
often confused: clock (or speed) and time (location
in time).

A clock determines the speed at which one or more systems
operate. In the audio world this is generally referred to as
Word Clock.
It does not carry any absolute reference to a point in time: A clock is
used to keep a system's sample rate regular and accurate.
Word clock is usually at the frequency of the sample rate—at 48 kHz, 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 be derived from these clocks as well.

Time or timecode specifies an absolute position on a timeline,
such as 01:02:03:04 (expressed as Hours:Mins:Secs:Frames). It is
actual data and not a clock signal per se.
The granularity of timecode is Video Frames and is an order of
magnitude lower than, say, Word Clock which is counted in
samples. A typical frame rate is 25 fps with a period of
40 ms.
In the case of 48 kHz and 25 fps, there are 1920 audio samples
per video frame.

The concepts of clock and timecode are reflected in JACK and Ardour:

JACK provides clock synchronization and is not concerned with time code
(this is not entirely true, more on jack-transport later).
On the software side, jackd provides sample-accurate synchronization
between all JACK applications.
On the hardware side, JACK uses the clock of the audio-interface.
Synchronization of multiple interfaces requires hardware support to sync
the clocks.
If two interfaces run at different clocks the only way to align the
signals is via re-sampling (SRC—Sample Rate Conversion), which is
expensive in terms of CPU usage and may decreases fidelity if done
incorrectly.

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.

To make things confusing, there are possibilities to synchronize clocks
using timecode. e.g. using mechanism called jam-sync and a
phase-locked loop.

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.