--- layout: default title: On Clock and Time ---
Synchronisation in multimedia involves two concepts which are often confused: clock (or speed) and time (location in time).
A clock is the mechanism by which two systems tick simultaneously. 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 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.
Time – or timecode – on the other hand specifies an absolute relationship or position on a timeline e.g. 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 40ms.
In the case of 48kHz and 25fps, there are 1920 samples per video frame.
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.
The concept of clock and timecode is 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). Within software, jackd provides sample-accurate synchronization between all JACK applications. On the harware 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 decreases fidelity.
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.
NB. to make things confusing, there are possibilities to synchronize clocks using timecode. e.g. using mechanism called jam-sync and a Phase-Locked-Loop.