Create a RiffPlayer .sync file

The Easy Part


1. First, be certain to name the file exactly the same as the name for the mp3 riff (aka, if the riff is StarWarsANewHope_RiffTrax.mp3, name your sync file StarWarsANewHope_RiffTrax.sync). 

2. Next, open the file in your favorite text editor (the format is simple text for now), and open the README for the riff. 

3. The first line: the delay
This is the time difference between the DVD time and the Riff time. Your first guess estimate can be made from subtracting the dvd time from the riff time and entering the total seconds here. 

Your line should be something like:
riffdelay_init=93.000

No spaces, no capitals.. just like this. 

Do not fine tune at this stage.

4. The second line: the start
This is the number of seconds passed before the riff actually starts (aka, the number of seconds elapsed until Mike finishes saying "1, 2, 3, pause"). This is in DVD TIME, so you can play the riff + movie, watch the time, and enter the time when he is done saying pause. 
The line should be like:
riffstart=19.00

Again, just like this (no spaces, no capitals, etc), and don't fine tune yet.

 

 

The Hard Part: Some Math


5. The third line: the time multiplier

NOTE: This is the hard step.. it is unintuitive.

The line is 
time_offset=1.000950000

This is a time multiplier. It is needed because the mp3 clock and DVD clock do not run at the same rate (different demuxers.. not really calculated by time). It is always around one, and requires a high level of precision. The reasoning is as follows:

An average movie is 2 hours long.. which is roughly 7200 seconds. 
0.1 x 7200 = 720
0.01 x 7200 = 72
0.001 x 7200 = 7.2
0.0001 x 7200 = 0.72
0.00001 x 7200 = 0.072
0.000001 x 7200 = 0.0072

So for 0.1 second accuracy, and knowing that the drift is always going to be shorter than a minute over the film, the multiplier should always be like:
1.00XYZ00
or 
0.99ABC00
depending on which clock is faster. A trailing zero is important to ensure no rounding errors.

To figure out the multiplier, chapter skip/fast forward to a minute before the final Disembaudio line in the movie. Listen for his line and the line in the movie and try to note the time difference. 

To know if your number should be larger or smaller, here is the key:
If Disembaudio is LATE, make your number BIGGER.
Or, if Disembaudio is EARLY, make your number SMALLER

X will usually be 0 (A would be 9), and likely won't be more than 1 (which would require Disembaudio being more than 7 seconds early), or A an 8. Figure out Y (or B) to get as close as you can to syncing up. Save Z (or C) until fine tuning.

 

 

Fine tuning.

 


Go back and readjust riffdelay_init and riffstart.. they have to be at least second resolution at this point. To determine your resolution, start the riff and let it play until the first Disembaudio line. That will allow you to tweak your sync (and you can note the time when Mike jumps back in with the riff).

When fine tuning, remember: 

The LARGER riffdelay_init is, the EARLIER the riff will be.

The LARGER riffstart is, the LATER Mike will kick in.

Then do step 5 to figure out Z (C) and try to get that as close as you can. 

Repeat this entire step until you have the file properly synced to 0.1 second resolution at both the first Disembaudio sync line and his final sync line. 

7. With your sync file made, watch the entire movie without skipping around to see how it plays. Then give it a watch skipping around to see that the sync holds.

8. Optional: If the DVD uses a Title other than 1 or 2 (or has other Titles that are long format, and could be confused with the feature) you can specify which Title to use. Simply add this line to your .sync file (for example, in Birdemic, the feature Title is 4):
title_id=4 



The finished file should read similar to this:
riffdelay_init=126.051
riffstart=8.00
time_offset=1.001000000000
title_ID=4

Congratulations, you've made a sync file! We'd love it if you'd send it to us, and let us know about what DVD Edition it requires (if applicable).