]> Shamusworld >> Repos - ardour-manual/blobdiff - _manual/19_synchronization/03_timecode-generators-and-slaves.html
next batch of XHTML validation fixes. somebody really hates markup languages here...
[ardour-manual] / _manual / 19_synchronization / 03_timecode-generators-and-slaves.html
index c2cdbe2be8d013f5d41d7770600d58fecc2fe4f9..babca1496c24841d039b30299a8db0bb47ba50a2 100644 (file)
@@ -9,16 +9,16 @@ title: Timecode Generators and Slaves
 There are three common timecode formats:
 </p>
 <ul>
-<li>LTC – Linear/Longitudinal Time Code</li>
-<li>MTC – MIDI Time Code</li>
-<li>MIDI-Clock – tempo based time</li>
+  <li>LTC – Linear/Longitudinal Time Code</li>
+  <li>MTC – MIDI Time Code</li>
+  <li>MIDI-Clock – tempo based time</li>
 </ul>
 
 <p>
 As well as a JACK specific timecode implementation:
 </p>
 <ul>
-<li>JACK-transport</li>
+  <li>JACK-transport</li>
 </ul>
 
 <p>
@@ -35,15 +35,22 @@ Combining the timecode slave and generator modes, Ardour can also translate time
 <h2>Ardour Timecode Configuration</h2>
 
 <p>
-Each Ardour session has a specific timecode frames-per-second setting which is configured in <code>session &gt; properties &gt; timecode</code>.
+Each Ardour session has a specific timecode frames-per-second setting which is configured in <code>session &gt; properties &gt; timecode</code>. The selected timecode affects the timecode-ruler in the main window as well as the clock itself.
 </p>
 
+<p>
+Note that some timecode formats are limited to a subset of Ardour's available fps. e.g. MTC is limited to 24, 25, 29.97 and 30 fps.
+</p>
+
+<p>
+The video-pullup modes change the effective samplerate of Ardour to allows for changing a film soundtrack from one frame rate to another. The concept is beyond the scope of this manual, but wikipedia's entry on <a href="http://en.wikipedia.org/wiki/Telecine" title="http://en.wikipedia.org/wiki/Telecine">Telecine</a> may get you started.
+</p>
 
 <h2>Ardour Timecode Generator Configuration</h2>
 
 <p>
 This is pretty straight forward: simply turn it on. The MTC and MIDI-Clock generator do not have any options.
-For the LTC generator the volume of the generated LTC can be configured. JACK-transport can not be <em>generated</em> jack itself is always sample-sync to the jack-cycle and does not slave to anything.
+For the LTC generator the volume of the generated LTC can be configured. JACK-transport can not be <em>generated</em>. Jack itself is always sample-sync to the jack-cycle and does not slave to anything.
 </p>
 
 <p>
@@ -55,7 +62,7 @@ The timecode is sent to jack-ports <code>ardour:MTC out</code>, <code>ardour:MID
 </p>
 
 <p>
-Note that -as of writing- only the LTC generator supports latency compensation. This is due to the fact the ardour MIDI ports are not yet latency compensated.
+Note that - at the time of writing this - only the LTC generator supports latency compensation. This is due to the fact the Ardour MIDI ports are not yet latency compensated.
 </p>
 
 <p>
@@ -63,8 +70,11 @@ In <code>session &gt; properties</code> it is possible to define an offset betwe
 </p>
 
 
+<p>
+Both LTC and MTC are limited to max of 30fps. Using frame-rates larger than that will disable the generator. In both cases also only 24, 25, 29.97df and 30fps are well defined by specifications (such as SMPTE-12M, EU and the MIDI standard).
+</p>
 
-<h3>MTC generator</h3>
+<h3>MTC Generator</h3>
 
 <p>
 There are no options. Ardour sends full MTC frames whenever the transport is relocated or changes state (start/stop). MTC quarter frames are sent when the transport is rolling and the transport speed is within 93% and 107%.
@@ -72,37 +82,38 @@ There are no options. Ardour sends full MTC frames whenever the transport is rel
 
 
 
-<h3>LTC generator</h3>
+<h3>LTC Generator</h3>
 
 <p>
-The volume of the LTC signal can be conigured in in the <code>Preferences &gt; Transport</code> dialog. By default it is set to -18dBFS which corresponds to 0dBu in an EBU calibrated system.
+The volume of the LTC signal can be configured in in the <code>Preferences &gt; Transport</code> dialog. By default it is set to -18dBFS which corresponds to 0dBu in an EBU calibrated system.
 </p>
 
 <p>
 The LTC generator has an additional option to keep sending timecode even when the transport is stopped. This mode is intended to drive analog tape machines which unspool the tape if no LTC timecode is received.
 </p>
 
+<p>
+LTC is send regardless of Ardour's transport-speed. It is accurately generated even for very slow speeds (&lt;5%) and only limited by the soundcard's sampling-rate and filter (see <a href="http://en.wikipedia.org/wiki/Gibbs_phenomenon#Signal_processing_explanation" title="http://en.wikipedia.org/wiki/Gibbs_phenomenon">Gibbs phenomenon</a>) for high speeds.
+</p>
+
 
 <h2>Ardour Slave Configuration</h2>
 
 <p>
-Switching the timecode-source can be done via the button just right of Ardour&#039;s main clock. By default it is set to <code>Internal</code> in which case ardour will ignore any external timecode. The button allows to toggle between Internal and the configured timecode source which is chosen in <code>Edit &gt; Preferences &gt; Transport</code>.
+Switching the timecode-source can be done via the button just right of Ardour&#039;s main clock. By default it is set to <code>Internal</code> in which case Ardour will ignore any external timecode. The button allows to toggle between Internal and the configured timecode source which is chosen in <code>Edit &gt; Preferences &gt; Transport</code>.
 </p>
 
 <p>
-When ardour is chasing an external timecode source the following cases need to be distinguished:
+When Ardour is chasing an external timecode source the following cases need to be distinguished:
 </p>
 <ol>
-<li>the timecode source shares the clock</li>
-<li>the timecode source is independent (no wordclock sync)</li>
+  <li>the timecode source shares the clock</li>
+  <li>the timecode source is independent (no wordclock sync)</li>
 </ol>
-
-<p>
-and
-</p>
+<p>and</p>
 <ol>
-<li>the timecode source uses the same FPS setting as ardour</li>
-<li>the timecode source runs at different frames-per-second</li>
+  <li>the timecode source uses the same FPS setting as Ardour</li>
+  <li>the timecode source runs at different frames-per-second</li>
 </ol>
 
 <p>
@@ -114,7 +125,7 @@ In both cases the first option is preferred: clock sync + same FPS setting.
 <h3>Frames-per-second</h3>
 
 <p>
-If the frames-per-second don&#039;t match, ardour can either re-calculate (map) the frames or the configured FPS (<code>session &gt; properties</code>) can be changed automatically while the Slave is active. The behavior is configured with the checkbox in <code>Edit &gt; Preferences &gt; Transport</code> labeled <code>Match session video frame rate to external timecode</code>: When enabled the session video frame rate will be changed to match that of the selected external timecode source. When disabled the session video frame rate will not be changed to match that of the selected external timecode source. Instead the frame rate indication in the main clock will flash red and Ardour will convert between the external timecode standard and the session standard.
+If the frames-per-second don&#039;t match, Ardour can either re-calculate (map) the frames or the configured FPS (<code>session &gt; properties</code>) can be changed automatically while the slave is active. The behavior is configured with the checkbox in <code>Edit &gt; Preferences &gt; Transport</code> labeled <code>Match session video frame rate to external timecode</code>: When enabled the session video frame rate will be changed to match that of the selected external timecode source. When disabled the session video frame rate will not be changed to match that of the selected external timecode source. Instead the frame rate indication in the main clock will flash red and Ardour will convert between the external timecode standard and the session standard.
 </p>
 
 <p>
@@ -122,7 +133,7 @@ An edge case can also occur with 29.97 drop-frame timecode. While the SMPTE 12M-
 </p>
 
 <p>
-When enabled the external timecode source is assumed to use 29.970000 fps instead of 30000/1001. SMPTE 12M-1999 specifies 29.97df as 30000/1001. The <acronym title="specification">spec</acronym> further mentions that drop-frame timecode has an accumulated error of -86ms over a 24-hour period. Drop-frame timecode would compensate exactly for a NTSC color frame rate of 30 * 0.9990 (ie 29.970000). That is not the actual rate. However, some vendors use that rate - despite it being against the specs - because the variant of using exactly 29.97 fps yields zero timecode drift.
+When enabled the external timecode source is assumed to use 29.970000 fps instead of 30000/1001. SMPTE 12M-1999 specifies 29.97df as 30000/1001. The <abbr title="specification">spec</abbr> further mentions that drop-frame timecode has an accumulated error of -86ms over a 24-hour period. Drop-frame timecode would compensate exactly for a NTSC color frame rate of 30 * 0.9990 (ie 29.970000). That is not the actual rate. However, some vendors use that rate - despite it being against the specs - because the variant of using exactly 29.97 fps yields zero timecode drift.
 </p>
 
 
@@ -130,7 +141,7 @@ When enabled the external timecode source is assumed to use 29.970000 fps instea
 <h3>Clock Sync Lock</h3>
 
 <p>
-As described in the introduction, timecode and clock are independent. If the external timecode-source is not sample-sync with the audio-hardware (and jack), ardour needs to vari-speed to adjust for the discrepancy.
+As described in the <a href="http://manual.ardour.org/synchronization/on-clock-and-time/">On Clock and Time Section</a>, timecode and clock are independent. If the external timecode-source is not sample-sync with the audio-hardware (and jack), ardour needs to vari-speed to adjust for the discrepancy.
 </p>
 
 <p>
@@ -138,11 +149,11 @@ The checkbox <code>External timecode is sync locked</code> allows to select the
 </p>
 
 <p>
-In other words: if enabled, ardour will only use perform initial synchronization and keep playing at speed 1.0 instead of vari-speed adjusting to compensate for drift.
+In other words: if enabled, Ardour will only use perform initial synchronization and keep playing at speed 1.0 instead of vari-speed adjusting to compensate for drift.
 </p>
 
 <p>
-Note that vari-speed is unavailable when recording in ardour and all tracking happens at speed 1.0. So if you want to record in sync with external timecode it must be sample-locked or it will drift over time.
+Note that vari-speed is unavailable when recording in Ardour and all tracking happens at speed 1.0. So if you want to record in sync with external timecode it must be sample-locked or it will drift over time.
 </p>
 
 
@@ -170,7 +181,7 @@ The incoming timecode signal needs to arrive at the <code>ardour:LTC-in</code> p
 </p>
 
 <p>
-Ardour&#039;s transport is aligned to LTC-frame start/end positions according to the SMPTE 12M-1999 <acronym title="specification">spec</acronym> which means that the first bit of an LTC-Frame is aligned to different Lines of a Video-Frame, depending on the TV standard used. Only for Film (24fps) does the LTC-Frame directly match the video Frame boundaries.
+Ardour&#039;s transport is aligned to LTC-frame start/end positions according to the SMPTE 12M-1999 <abbr title="specification">spec</abbr> which means that the first bit of an LTC-Frame is aligned to different Lines of a Video-Frame, depending on the TV standard used. Only for Film (24fps) does the LTC-Frame directly match the video Frame boundaries.
 </p>
 
 <p><img src="/ardour/manual/html/diagrams/ltc-transport-alignment.png"  title="LTC frame alignment" alt="LTC frame alignment"/></p>
@@ -186,7 +197,7 @@ While Ardour is chasing LTC, the main transport clock will display the received
 </p>
 
 <p>
-A global offset between incoming timecode and ardour&#039;s transport can be configured in <code>Session &gt; Properties</code>.
+A global offset between incoming timecode and Ardour&#039;s transport can be configured in <code>Session &gt; Properties</code>.
 </p>
 
 <p>
@@ -206,16 +217,12 @@ Ardour supports vari-speed and backwards playback but will only follow MTC speed
 </p>
 
 <p>
-While Ardour is chasing MTC, the main transport clock will display the received Timecode as well as the delta between the incoming signal and Ardour&#039;s transport position.
-</p>
-
-<p>
-A global offset between incoming timecode and ardour&#039;s transport can be configured in <code>Session &gt; Properties</code>.
+When Ardour is chasing MTC, the main transport clock will display the received Timecode as well as the delta between the incoming signal and Ardour&#039;s transport position.
 </p>
 
 
 
-<h3>JACK transport</h3>
+<h3>JACK Transport</h3>
 
 <p>
 When slaved to jack, Ardour&#039;s transport will be identical to JACK-transport. As opposed to other slaves, Ardour can be used to control the JACK transport states (stopped/rolling). No port-connections need to be made for jack-transport to work.
@@ -226,6 +233,6 @@ JACK-transport does not support vari-speed, nor offsets. Ardour does not chase t
 </p>
 
 <p>
-JACK-transport also includes temp-based-time information ie. Bar:Beats:Ticks and beats-per-minute. However, only one JACK application can provide this information at a given time. The checkbox <code>JACK Time Master</code> in the <code>Session &gt; Properties</code> dialog allows to configure ardour to act as translator from timecode to BBT information.
+JACK-transport also includes temp-based-time information ie. Bar:Beats:Ticks and beats-per-minute. However, only one JACK application can provide this information at a given time. The checkbox <code>JACK Time Master</code> in the <code>Session &gt; Properties</code> dialog allows to configure Ardour to act as translator from timecode to BBT information.
 </p>