X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=include%2Ftimecode-generators-and-slaves.html;h=955f26ffe3145348a36f1c240a63087bc0e3eb29;hb=df028d8ec186a46c814800a14e68ae13c137dad1;hp=65ba5c631123d0cdd39f99db0c847330108e4613;hpb=2098e011e638b5c86c56e68df7757975fc4d728f;p=ardour-manual diff --git a/include/timecode-generators-and-slaves.html b/include/timecode-generators-and-slaves.html index 65ba5c6..955f26f 100644 --- a/include/timecode-generators-and-slaves.html +++ b/include/timecode-generators-and-slaves.html @@ -4,15 +4,15 @@ Ardour supports three common timecode formats: LTC, MTC, and - MIDI Clock, as well as + MIDI Clock, as well as JACK-transport, a JACK-specific timecode implementation.
- Ardour can generate timecode and thus act as timecode master,
- providing timecode information to other applications. Ardour can also be
- slaved to some external source in which case the playhead
- follows the incoming timecode.
- Combining the timecode slave and generator modes, Ardour can also
+ Ardour can generate timecode and thus act as timecode master,
+ providing timecode information to other applications. Ardour can also be
+ slaved to some external source in which case the playhead
+ follows the incoming timecode.
+ Combining the timecode slave and generator modes, Ardour can also
translate timecode. e.g create LTC timecode from incoming MTC.
- Each Ardour session has a specific timecode frames-per-second setting which + Each Ardour session has a specific timecode frames-per-second setting which is configured in session > properties > - timecode. The selected timecode affects the timecoderuler in the main + timecode. The selected timecode affects the timecode ruler in the main window as well as the clock itself.
- Note that some timecode formats do not support all of Ardour's available + Note that some timecode formats do not support all of Ardour's available fps settings. MTC is limited to 24, 25, 29.97 and 30 fps.
The video pull-up modes change the effective samplerate of Ardour to allow - 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 - Telecine - may get you started. + 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 + Telecine + may be a good start.
- This is pretty straightforward: simply turn it on. The MTC and MIDI-Clock + This is pretty straightforward: simply turn it on. The MTC and MIDI-Clock generator do not have any options. The LTC generator has a configurable - output level. JACK-transport cannot be generated. Jack itself is - always synced to its own cycle and cannot do varispeed — it will + output level. JACK-transport cannot be generated. Jack itself is + always synced to its own cycle and cannot do varispeed—it will always be synced to a hardware clock or another JACK master.
- The relevant settings for timecode generator can be found in + The relevant settings for timecode generator can be found in Edit > Preferences > MIDI Preferences (for MTC, MC) and Edit > Preferences > Transport Preferences @@ -58,71 +58,71 @@
- The timecode is sent to jack-ports ardour:MTC out
,
- ardour:MIDI clock out
and ardour:LTC-out
. Multiple
+ The timecode is sent to jack-ports ardour:MTC out
,
+ ardour:MIDI clock out
and ardour:LTC-out
. Multiple
generators can be active simultaneously.
- Note that, as of Jan 2014, only the LTC generator supports latency - compensation. This is due to the fact the Ardour MIDI ports are not + Note that, as of Jan 2014, only the LTC generator supports latency + compensation. This is due to the fact the Ardour MIDI ports are not yet latency compensated.
- In Session > Properties, it is possible to - define an offset between Ardour's internal time and the timecode sent. + In Session > Properties, it is possible to + define an offset between Ardour's internal time and the timecode sent. Currently only the LTC generator honors this offset.
- Both LTC and MTC are limited to 30 fps. Using frame rates larger - than that will disable the generator. In both cases also only 24, 25, - 29.97df (drop-frame) and 30 fps are well defined by specifications (such as + Both LTC and MTC are limited to 30 fps. Using frame rates larger + than that will disable the generator. In both cases also only 24, 25, + 29.97df (drop-frame) and 30 fps are well defined by specifications (such as SMPTE-12M, EU and the MIDI standard).
- The MTC generator has 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 MTC generator has 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%.
- The level of the LTC generator output signal can be configured - in in the Preferences > Transport dialog. By - default it is set to -18 dBFS, which corresponds to 0dBu in an EBU + The level of the LTC generator output signal can be configured + in in the Preferences > Transport dialog. By + default it is set to -18 dBFS, which corresponds to 0dBu in an EBU calibrated system.
- 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 + 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.
- LTC is send regardless of Ardour's transport speed. It is accurately - generated even for very slow speeds (<5%) and only limited by the - soundcard's sampling-rate and filter (see + LTC is send regardless of Ardour's transport speed. It is accurately + generated even for very slow speeds (<5%) and only limited by the + soundcard's sampling-rate and filter (see Gibbs phenomenon) + href="http://en.wikipedia.org/wiki/Gibbs_phenomenon#Signal_processing_explanation">Gibbs phenomenon) for high speeds.
- The timecode source can be switched with the button just right of +
+ The timecode source can be switched with the button just right of Ardour's main clock. By default it is set to Internal 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 Edit > Preferences + class="menu">Internal 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 Edit > Preferences > Transport.
- When Ardour is chasing (synchronizing to) an external timecode + When Ardour is chasing (synchronizing to) an external timecode source, the following cases need to be distinguished:
- If the frames-per-second do not match, Ardour can either re-calculate + If the frames-per-second do not match, Ardour can either re-calculate and map the frames, or the configured FPS (Session > - Properties) can be changed automatically while the slave is active. - The behavior is configured with the checkbox Edit - > Preferences > Transport > Match session video frame rate to + Properties) can be changed automatically while the slave is active. + The behavior is configured with the checkbox Edit + > Preferences > Transport > Match session video frame rate to external timecode.
- 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 + 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.
- 29.97 drop-frame timecode is another corner case. While the SMPTE 12M-1999
- specifies 29.97df as 30000/1001 frames per second, not all hardware devices
- follow that standard. The checkbox
- Lock to 29.9700 fps instead of 30000/1001 allows
- to use a compatibility mode for those devices.
- 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
- spec further mentions that drop-frame
- timecode has an accumulated error of -86 ms 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.
+ 29.97 drop-frame timecode is another corner case. While the SMPTE 12M-1999
+ specifies 29.97df as 30000/1001 frames per second, not all hardware devices
+ follow that standard. The checkbox
+ Lock to 29.9700 fps instead of 30000/1001 allows
+ to use a compatibility mode for those devices.
+ 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
+ spec further mentions that drop-frame
+ timecode has an accumulated error of -86 ms 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.
- As described in the + As described in the On Clock and Time - chapter, timecode and clock are independent. If the external timecode - source is not in sample-sync with the audio hardware (and JACK), Ardour + chapter, timecode and clock are independent. If the external timecode + source is not in sample-sync with the audio hardware (and JACK), Ardour needs to run at varispeed to adjust for the discrepancy.
- The checkbox External timecode is sync locked - allows to select the behavior according to your setup. When enabled, it - indicates that the selected external timecode source shares sync (Black + The checkbox External timecode is sync locked + allows to select the behavior according to the setup. When enabled, it + indicates that the selected external timecode source shares sync (Black & Burst, Wordclock, etc) with the audio interface.
- In other words: if enabled, Ardour will only perform initial - synchronization and keep playing at speed 1.0 instead of vari-speed + In other words: if enabled, Ardour will only perform initial + synchronization and keep playing at speed 1.0 instead of vari-speed adjusting to compensate for drift.
- 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 + Note that vari-speed is unavailable when recording in Ardour, and all + tracking happens at speed 1.0. So in order to record in sync with external timecode it must be sample-locked or it will drift over time.
- MIDI Clock is not a timecode format but tempo-based time. The - absolute reference point is expressed as beats-per-minute and Bar, Beat - and Tick. There is no concept of sample-locking for MIDI clock signals. + MIDI Clock is not a timecode format but tempo-based time. The + absolute reference point is expressed as beats-per-minute and Bar, Beat + and Tick. There is no concept of sample-locking for MIDI clock signals. Ardour will vari-speed if necessary to chase the incoming signal.
- Note that the MIDI Clock source must be connected to the
+ Note that the MIDI Clock source must be connected to the
ardour:MIDI clock in
port.
- The LTC slave decodes an incoming LTC signal on a JACK audio + The LTC slave decodes an incoming LTC signal on a JACK audio port. It will auto-detect the frame rate and start locking to the signal once two consecutive LTC frames have been received.
- The incoming timecode signal needs to arrive at the
- ardour:LTC-in
port. Port-connections are restored for each
- session and the preference dialog offers an option to select it for all
+ The incoming timecode signal needs to arrive at the
+ ardour:LTC-in
port. Port-connections are restored for each
+ session and the preference dialog offers an option to select it for all
sessions.
- Ardour's transport is aligned to LTC-frame start/end positions according - to the SMPTE 12M-1999 specification, 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 + Ardour's transport is aligned to LTC-frame start/end positions according + to the SMPTE 12M-1999 specification, 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.
- -Figure: LTC frame alignment for the 525/60 TV standard
+- Ardour supports vari-speed and backwards playback but will only follow - speed changes if the sync locked option is + Ardour supports vari-speed and backwards playback but will only follow + speed changes if the sync locked option is disabled.
- While Ardour is chasing LTC, the main transport clock will display the - received Timecode as well as the delta between the incoming signal and + While Ardour is chasing LTC, the main transport clock will display the + received Timecode as well as the delta between the incoming signal and Ardour's transport position.
- A global offset between incoming timecode and Ardour's transport can be + A global offset between incoming timecode and Ardour's transport can be configured in Session > Properties.
The user-bits in the received LTC frame are ignored.
-
- Ardour's MTC slave parses full timecode messages as well as
- MTC quarter-frame messages arriving on the
- ardour:MTC in
port. The transport will only start rolling
+ Ardour's MTC slave parses full timecode messages as well as
+ MTC quarter-frame messages arriving on the
+ ardour:MTC in
port. The transport will only start rolling
once a complete sequence of 8 quarter frames has been received.
- Ardour supports vari-speed and backwards playback but will only follow - MTC speed changes if the sync locked option + Ardour supports vari-speed and backwards playback but will only follow + MTC speed changes if the sync locked option is disabled.
- When Ardour is chasing MTC, the main transport clock will display the - received Timecode as well as the delta between the incoming signal and + 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's transport position.
- When slaved to jack, Ardour'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 + When slaved to jack, Ardour'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.
- JACK-transport does not support vari-speed, nor offsets. Ardour does not + JACK-transport does not support vari-speed, nor offsets. Ardour does not chase the timecode but is always in perfect sample-sync with it.
- JACK-transport also includes temp-based-time information in Bar:Beats:Ticks - and beats-per-minute. However, only one JACK application can provide this - information at a given time. The checkbox + JACK-transport also includes temp-based-time information in Bar:Beats:Ticks + and beats-per-minute. However, only one JACK application can provide this + information at a given time. The checkbox Session > Properties > JACK Time Master configures Ardour to act as translator from timecode to BBT information.
- -