2013-02-15 13:21:59 -05:00
|
|
|
|
|
|
|
<p>
|
2014-02-18 17:13:02 -05:00
|
|
|
<dfn>Synchronization</dfn> in multimedia involves two concepts which are
|
|
|
|
often confused: <dfn>clock</dfn> (or speed) and <dfn>time</dfn> (location
|
|
|
|
in time).
|
2013-02-15 13:21:59 -05:00
|
|
|
</p>
|
|
|
|
|
|
|
|
<p>
|
2014-02-18 17:13:02 -05:00
|
|
|
A <dfn>clock</dfn> determines the speet at which one or more systems
|
|
|
|
operate. In the audio world this is generally referred to as
|
2017-01-03 12:03:08 -05:00
|
|
|
<a href="https://en.wikipedia.org/wiki/Word_clock" title="https://en.wikipedia.org/wiki/Word_clock">Word Clock</a>.
|
2014-02-18 17:13:02 -05:00
|
|
|
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.
|
2013-02-15 13:21:59 -05:00
|
|
|
</p>
|
|
|
|
|
|
|
|
<p>
|
2014-02-18 17:13:02 -05:00
|
|
|
Time or <dfn>timecode</dfn> specifies an absolute position on a timeline,
|
|
|
|
such as <code>01:02:03:04</code> (expressed as Hours:Mins:Secs:Frames). It is
|
|
|
|
actual <em>data</em> and not a clock <em>signal</em> per se.
|
|
|
|
The granularity of timecode is <dfn>Video Frames</dfn> and is an order of
|
|
|
|
magnitude lower than, say, Word Clock which is counted in
|
|
|
|
<dfn>samples</dfn>. A typical frame rate is 25 <abbr title="frames
|
|
|
|
per second">fps</abbr> with a period of
|
|
|
|
40 ms.
|
|
|
|
In the case of 48 kHz and 25 fps, there are 1920 audio samples
|
|
|
|
per video frame.
|
2013-02-15 13:21:59 -05:00
|
|
|
</p>
|
|
|
|
|
|
|
|
<p>
|
2014-02-18 17:13:02 -05:00
|
|
|
The concepts of clock and timecode are reflected in JACK and Ardour:
|
2013-02-15 13:21:59 -05:00
|
|
|
</p>
|
|
|
|
|
|
|
|
<p>
|
2014-02-18 17:13:02 -05:00
|
|
|
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.
|
2013-02-15 13:21:59 -05:00
|
|
|
</p>
|
|
|
|
|
|
|
|
<p>
|
2014-02-18 17:13:02 -05:00
|
|
|
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.
|
2013-02-15 13:21:59 -05:00
|
|
|
</p>
|
|
|
|
|
2014-02-18 17:13:02 -05:00
|
|
|
<p class="note">
|
|
|
|
To make things confusing, there are possibilities to synchronize clocks
|
|
|
|
using timecode. e.g. using mechanism called <dfn>jam-sync</dfn> and a
|
|
|
|
<dfn>phase-locked loop</dfn>.
|
2013-02-15 13:21:59 -05:00
|
|
|
</p>
|
|
|
|
|
2013-02-15 18:49:44 -05:00
|
|
|
<p>
|
2014-02-18 17:13:02 -05:00
|
|
|
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.
|
2013-02-15 18:49:44 -05:00
|
|
|
</p>
|
2013-02-15 13:21:59 -05:00
|
|
|
|
2017-02-13 14:53:37 -05:00
|
|
|
|