Video Sync 6 - Knowledge Base

Sync Setup - Bitwig Studio on the same computer

About DAW Sync

To play video in sync with Bitwig, Video Sync needs a way to follow the Bitwig transport - knowing when it plays, stops, and where the playhead is located at any moment. This connection between Video Sync and Bitwig is called DAW sync.

About This Configuration

This chapter covers setting up DAW sync with Bitwig Studio running on the same computer as Video Sync. The setup uses virtual MIDI ports to establish MTC (MIDI Timecode) connections between the two applications. Bitwig provides positional information via a bespoke MTC implementation.

Note: The following explanation and screenshots are related to Bitwig Studio version 4.2.3, but the steps will be similar for other versions.

Understanding MTC and MMC

In a standard configuration, two MIDI-based protocols work together to provide synchronised playback:

MTC (MIDI Timecode) transmits a continuous stream of timecode on a dedicated MIDI port during playback, allowing Video Sync to track the current position and play at the correct speed.

MMC (MIDI Machine Control) sends transport commands and locate messages on a separate dedicated MIDI port. When navigating to a specific timecode position in the DAW (such as clicking in the timeline or using markers), MMC sends locate commands to update Video Sync's position without requiring playback.

Bitwig Studio uses a bespoke MTC implementation that combines both functions on a single port - transmitting continuous timecode during playback and positional updates when navigating. This means both playback sync and scrubbing work through the MTC port alone, without requiring a separate MMC port.

Setup

Video Sync features virtual MIDI ports, which mostly removes the need to create network MIDI sessions in Audio MIDI Setup in order to connect to Bitwig on the same computer. When Video Sync is launched, it will create virtual MIDI ports named Video Sync MTC In, Video Sync MMC In & Video Sync Trigger In - which will automatically be pre-selected in Video Sync, & visible in Bitwig.

MIDI I/O with virtual ports selected{width=70%}

For this reason, it is advised to always launch Video Sync before launching Bitwig. Failure to do so, may cause some of these settings to be reset to default - such that they need to be re-configured in Bitwig Studio again.

Note: If Bitwig does not reconnect to the virtual ports automatically when Video Sync is opened after Bitwig, it may be better to consider setting up ports via Audio MIDI Setup on the same computer.

Video Sync MTC / MMC Setup

To show the MIDI I/O options in Video Sync, first navigate to the SYNC tab of the Preferences / Settings window.

Set the Sync Source field to Other.

Next, make sure that all the ports are set to their default values Video Sync MTC In (virtual) & Video Sync MMC In (virtual) as per the image below:

MTC/MMC In Settings{width=70%}

Bitwig Studio MTC (MIDI Timecode) Setup

Click the Bitwig icon to open the Settings, & select the Synchronization tab on the left.

Bitwig Synchronization Settings{width=70%}

Under the MIDI Sync (OUT) Section, enable the MTC box in the Video Sync MTC In (virtual) row.

Match the frame-rate in the MTC Rate field, to the Timeline timecode rate in Video Sync.

There is currently no way to set the start timecode of the session in Bitwig, as the first bar will always correspond to 00:00:00:00. So to ensure in sync playback, Video Sync must se set to 00:00:00:00.

Bitwig Studio MMC (MIDI Machine Control) Setup

There is no need to set up MMC separately with Bitwig Studio, as it sends MMC style positioning information using a bespoke implementation of MIDI Timecode (MTC).

Matching Frame Rates

For MTC sync to work correctly, the Bitwig project frame rate must match the timeline frame rate in Video Sync.

In the TIMELINES tab, locate the active timeline and check its frame rate in the summary section. If video is present on the timeline, the frame rate is derived from the video file. If no video is present, the frame rate can be set manually by clicking the pencil icon next to the timeline name and selecting the required frame rate from the TC Frame Rate menu.

Timeline frame rate display{width=50%}

Ensure your Bitwig project is set to the same frame rate as the Video Sync timeline.

Enabling Synchronised playback

When hitting play or scrubbing within Bitwig Studio, both the incoming timecode field should now be seen incrementing & the timecode rate displayed within the Incoming TC section to the left of the main timecode counter in Video Sync.

Video Sync's SYNC Preference showing incoming timecode{width=70%}

If the Sync button to the left of the transport buttons isn't already blue, click on it to activate it to follow external sync.

Video Sync sync online button{width=40%}

Video Sync MTC/MMC sync is now online & ready to go. Hit play in Bitwig Studio and Video Sync will play back in sync.

High Frame Rate Content

Video Sync supports timelines running at up to 60 frames per second. However, MTC was designed around SMPTE broadcast standards and only supports frame rates up to 30fps (24, 25, 29.97, and 30). The specification has never been updated to include higher frame rates.

To sync high frame rate timelines via MTC, set the Bitwig project frame rate to half the timeline frame rate. For example:

  • 48fps timeline → set Bitwig to 24fps
  • 50fps timeline → set Bitwig to 25fps
  • 60fps timeline → set Bitwig to 30fps

Video Sync will automatically match the incoming timecode at half its frame rate.

Troubleshooting

If incoming timecode is not showing in Video Sync:

  • Check that MTC generation is enabled in Bitwig
  • Check that the correct MTC port is selected in Bitwig's synchronization/MIDI settings
  • Ensure Video Sync was launched before Bitwig so the virtual ports are available (if using virtual ports)

If incoming timecode is showing but playback is not syncing:

  • Ensure the Sync button is enabled (blue) in Video Sync
  • Check that frame rates match (see Matching Frame Rates above)
  • Check that timecode ranges match - if the Bitwig session starts at 01:00:00:00 but the Video Sync timeline starts at 10:00:00:00, playback will not begin until Bitwig reaches 10:00:00:00

If playback is jumpy or frames are being skipped:

  • This is often caused by mismatched frame rates between Bitwig and Video Sync - ensure both are set to the same frame rate (see Matching Frame Rates above)
  • Try increasing the TC Freewheel value in PreferencesMISC. This defines a number of freewheel frames to keep playback running through unexpected timecode values. Note that higher values will make Video Sync less responsive to external timecode changes.

If synchronised playback still does not work after following these steps, please contact support@non-lethal-applications.com.