Skip to content

Synchronization

Precise synchronization between show systems, especially those involving ride vehicles, is one of the biggest challenges faced in themed entertainment applications. Doing this properly involves achieving two critical conditions:

  1. Phase-locked Clocks -- All clocks must operate at the same rate to avoid 'drifting' from one another

  2. Precise Triggering - All systems must start playback simultaneously with extreme precision

The unique design of the SyncCore technology integrated into V16X, BinloopX, and RidePlayerX enables these products to easily achieve both conditions and ensure precise synchronization between all on-board and off-board show systems throughout the entire attraction.

Phase-locked Clocks

Let's say you and a friend buy identical wristwatches and set both to the exact same time. When you meet up again a week later, you might be surprised to see that the watches are likely many seconds off from one another. Why? Well, there are many contributing factors such as crystal frequency precision, temperature, mechanical tolerance, etc. Bottom line... the watches run at slightly different rates and this difference compounds over time. The same concept also holds true with the audio and video clocks used as the basis for AV playback. Without a shared reference clock, all AV components will play at slightly different rates and drift from one another over time.

The solution to this problem is to phase-lock these clocks with each other. This generally involves one piece of equipment serving as the clock 'master' and distributing its clock to other 'slave' devices. The 'slave' devices then speed up or slow down their clocks to stay in perfect time with the 'master' device.

SyncCore allows AV clocks to be phase-locked by any of the following methods:

  • PTP (IEEE-1588)

  • GPS

  • Genlock

The graphic below demonstrates the benefits of phase-locked clocks. If you were to plot the framerate clocks of multiple devices on a graph, the alignment of unsynchronized clocks will be completely random and will drift from each other since they are free-running. Synchronized clocks, however, will be perfectly aligned and maintain that alignment at all times.

Precise Triggering via Time Lock

No matter how perfectly synchronized two clocks may be, it doesn't do much good if you can't start playback at the same time. To illustrate by example, let's walk through a typical dark ride system that requires synchronized on-board audio and wayside video. To keep things nice and simple, let's say we have an audio clip and a video clip of a certain length that are designed to be played synchronously with each other like so:

On-board Audio and Wayside Video Clips

If the on-board audio starts playing 300ms late, it's going to be off consistently for 300ms the entire time. There are several common factors that make this a challenging problem to contend with.

Playback Latency

First, most AV playback devices are not capable of triggering consistently upon command. This is especially true for PC-based hardware running operating systems that are often busy running unpredictable tasks. Let's say you send a command to play audio and playback begins about 100ms after the command is issued. Repeat this same process, and next time it might take 200ms. It is simply impossible to ensure synchronization between two (or more) devices when playback reaction time is not consistent.

When you combine this variable reaction time with variable network latency, you get very volatile results:

Network Latency + Inconsistent Playback Device

Network Latency

Specialized AV playback equipment can greatly improve this situation by offering consistent reaction time. Let's say that this equipment guarantees that playback will begin exactly 100ms after a command is received. The idea is that you send the same command to two different devices and they both start after exactly 100ms. Viola! They are synchronized! The catch is that those commands must be received by both devices at exactly the same time for this concept to work. This is quite challenging, especially via wireless networks where packet latency can easily exceed 100ms.

Network Latency + Consistent Playback Device

Scheduled Playback

To overcome these common problems, SyncCore enabled products take a unique approach. Some of the same clock references that are used to maintain phase-lock between on-board and off-board devices are also used to maintain a very precise master clock. In other words, all devices keep track of the current hour, minute, second, and millisecond with a precision as tight as a few nanoseconds. This time reference is often referred to as being locked to "Time of Day".

Sync Core allows Time of Day lock by any of the following methods:

  • PTP (IEEE-1588)

  • NTP

  • GPS

With this approach, playback times are scheduled based upon this shared master clock. This greatly reduces the impact of network latency because the time that the command arrives is irrelevant as long as it arrives long enough before the scheduled playback time to account for the consistent reaction time.

Here's how this concept affects device behavior to ensure perfect synchronization between two systems:

Scheduled Playback Time

System Architecture

Sounds great, right? But how do we actually implement this in a real application?

To answer that question with a pretty picture, here is a representation of a typical dark ride system that uses the Ride Control PLC as the PTP clock master for the entire attraction. In this example, the V16X, BinloopX, and RidePlayerX would all be configured to lock directly to the PLC's master PTP clock to ensure perfect synchronization for all show systems throughout the attraction.

Notice how each device is precisely aware of the distributed clock value of 01:02:03.456.
As the controlling device in this example, the V16X will use this clock value to schedule the BinloopX and RidePlayerX units to play their content with extreme precision.

Sync Configuration

To configure sync on any Alcorn McBride Product, the Script Configuration menu in WinScript Live can be used.