Sound Starts in Sync but Drifts Away. Correct the Recording Clock—or Rebuild the Alignment?
Sound Starts in Sync but Drifts Away. Correct the Recording Clock—or Rebuild the Alignment?
Do not keep trimming a speaker’s pauses to pull drifting audio back toward the picture. First establish whether the two recordings cover the same event, then measure how their timing differs.
A consistent rate difference across one continuous interval may justify a measured duration correction. An abrupt jump calls for a search for an interruption, edit, or missing coverage. Those are different problems. A single stretch can make a damaged recording’s first and last events align while putting its middle in the wrong place.
For a film-pitch sample, the point is to let the recipient judge the recorded performance. A correction should preserve that event, not quietly replace it with a more convenient sequence of words and pauses.
Establish what belongs together
Start from copies of the original picture and sound, retaining their source names and any available recording or edit notes. Identify the take and the period each file actually covers. Two files called “Interview Final” are not evidence that they contain the same uninterrupted answer.
Find an event that exists in both sources. A clear physical action with a corresponding sound, or a distinct spoken moment supported by the reference recording, can provide an anchor. Then find more. A similar waveform shape, a repeated word, or matching total duration is not enough to establish correspondence on its own.
Choose the timing reference deliberately. If the approved picture sequence is the reference, document that choice; do not assume it is an untouched camera recording. Find out whether it contains cuts, a changed playback interpretation, or a prior speed adjustment. An unexplained transformation is something to investigate before adding another transformation that compensates for it.
Audacity’s recording FAQ notes that separate audio devices without a shared master clock can drift because their clock speeds differ.[^1] That establishes a possible cause, not a diagnosis of your recording. The same visible mismatch could still arise from the wrong take, a missing interval, or an edit you have not accounted for.
There are therefore two questions to settle before choosing an effect: Are these corresponding events? Which timeline are we trying to preserve?
Measure the error’s shape
After aligning a first anchor, record the mismatch at several later anchors. Keep the actual positions in both sources as well as the calculated difference. Use a consistent sign: positive error means the sound event occurs late relative to the reference; negative means it occurs early.
Look for a pattern rather than one satisfactory frame.
A roughly constant displacement suggests that position may be the immediate issue. A difference that grows consistently with elapsed time is compatible with a uniform rate difference. An abrupt change between otherwise consistent stretches suggests a boundary that deserves investigation. These are diagnostic hypotheses, not automatic classifications.
Measurement quality matters. A soft consonant does not have the unambiguous edge of a constructed numerical marker. A visible action can span several frames. Recording a timestamp to three decimal places does not mean you located the event to one millisecond. Keep that uncertainty in mind before interpreting tiny differences between anchors as a changing clock.
A smooth curve in the measured errors needs attention too. It is not described by the single constant-rate model used below, and it does not automatically establish a clean interruption. Check the correspondence of the anchors and the source history before choosing a more complicated correction. Dividing the recording into many short pieces can make selected points agree without explaining the behavior between them. If the measurements do not support either of the two routes, leaving the diagnosis open is more accurate than forcing a choice.
Keep positions in one declared unit. A frame count, a timecode field, and elapsed seconds cannot be divided interchangeably. Record the confirmed interpretation used to convert each measurement, and retain the original reading beside the converted value so another editor can check it.
Reserve at least one recognizable event that will not be used to calculate the correction. You will use it afterward to check the proposed relationship. Fitting two points makes those points agree by construction; checking them again is not an independent test of the middle.
For an actual recording, collect checks across the interval, not only around the section that happened to look worst. If the pattern changes, investigate that change before averaging it away.
A continuous case, with the arithmetic visible
The following timestamps are original synthetic data, not measurements from recorded picture or sound. They deliberately model one source running 0.1% longer between corresponding events, plus a different starting position. The rate is chosen for clear arithmetic; it is not a typical-device claim or a recommended correction percentage.
| Corresponding event | Reference position, seconds | Sound-source position, seconds | Error after moving event A into place |
|---|---|---|---|
| A | 10.000 | 12.000 | 0 ms |
| B | 70.000 | 72.060 | +60 ms |
| C | 100.000 | 102.090 | +90 ms |
| D | 130.000 | 132.120 | +120 ms |
| E | 190.000 | 192.180 | +180 ms |
Moving the source two seconds earlier aligns A. It does not remove the growing error. A position adjustment and a duration adjustment do different work.
Use A and E to calculate the relationship, leaving B, C, and D out of the fit. Measure the intervals between the corresponding events, not the files’ lengths:
Reference interval: 190.000 − 10.000 = 180.000 seconds
Source interval: 192.180 − 12.000 = 180.180 seconds
Duration multiplier = reference interval / source interval
= 180.000 / 180.180
= 1000 / 1001
≈ 0.999000999
The source interval needs to become slightly shorter. A multiplier smaller than one is consistent with that observation. If your calculation says it should become longer, check the numerator, denominator, and sign before processing anything.
To express the complete alignment, including position:
Corrected reference position
= 10.000 + (source position − 12.000) × (1000 / 1001)
For event C, the source lies 90.090 seconds after A. Multiplying that interval by 1000/1001 gives 90.000 seconds. Adding A’s reference position places C at 100.000 seconds, where it belongs in this synthetic example.
The same calculation puts B at 70.000 and D at 130.000. The companion check script verifies all three with exact rational arithmetic.[^4] It proves that this stated model fits these constructed data. It does not prove that an actual recorder has a uniform clock error or that processing its audio would sound acceptable.
Keep that distinction intact. The calculation supplies a hypothesis that real source-linked measurements and listening must test.
Translate the ratio into the right control
A duration multiplier is not a tempo percentage. Entering the right number into the wrong kind of field can send the correction in the wrong direction.
For the continuous example:
Duration percentage change
= (180.000 / 180.180 − 1) × 100
≈ −0.0999001%
Tempo or playback-speed percentage change
= (180.180 / 180.000 − 1) × 100
= +0.1%
The source becomes shorter by playing through the interval faster. That is why the signs differ and why the two percentages are not exactly the same magnitude. The speed multiplier is 1.001; the duration multiplier is its reciprocal.
Audacity’s web development manual describes Change Tempo as changing duration without the corresponding pitch change. Its linked controls include a read-only current length and an editable target length.[^2] When using a corresponding installed version, inspect those controls rather than assuming that a field labeled “change” takes the duration formula above.
For a selection covering exactly source A to source E, the current interval would be 180.180 seconds and the intended new interval 180.000 seconds. Those are the numbers to compare in a length-based operation. They are not instructions to make the entire file 180 seconds long.
If you process a longer continuous clip, use the measured ratio to determine that clip’s target duration, then reposition the matching anchor afterward. Do not carry the original two-second position adjustment through processing without checking it: an operation measured from another origin can move the anchor itself. Keep any material outside the verified interval under review rather than assuming the fitted model extends indefinitely.
There is a further choice that a timing table cannot make for you. Change Tempo and Change Speed and Pitch are not equivalent audio operations. Audacity documents the latter as changing duration and frequency together; increasing speed raises frequencies.[^3] If the diagnosed problem includes a playback-speed interpretation that also displaced pitch, preserving the current pitch may preserve part of that error. If pitch is already the intended reference, a linked speed-and-pitch change creates a different result.
Choose the operation that corresponds to the source problem. Do not select “preserve pitch” simply because it sounds like a guarantee of preserving the recording.
These control descriptions are documentation-based, not a report of an executed Audacity correction. Confirm the installed release, the active clip transformations, and the operation’s displayed target length before applying it to a working copy. Keep the original available for comparison.
The endpoints can agree while the middle fails
Now alter the synthetic source. Keep the same uniform rate difference, but remove the source material corresponding to reference time 90.000 through 92.000 seconds. That removes 2.002 seconds from the source’s longer timebase.
No missing speech has been invented for this example. The data simply stipulate that this period is absent from the sound source. Events after the deletion arrive earlier than they would in the continuous recording:
| Event | Reference position, seconds | Interrupted source position, seconds |
|---|---|---|
| A | 10.000 | 12.000 |
| B | 70.000 | 72.060 |
| C | 100.000 | 100.088 |
| D | 130.000 | 130.118 |
| E | 190.000 | 190.178 |
Fit A and E again without acknowledging the deletion. The source interval now measures 178.178 seconds; the reference interval remains 180.000 seconds. A global fit would lengthen the source using a multiplier of approximately 1.010225729.
The endpoints would align. Here is what that supposedly successful correction does elsewhere:
| Event | Error after the wrong global correction |
|---|---|
| A | 0 ms |
| B | About +674 ms |
| C | About −1,011 ms |
| D | About −674 ms |
| E | 0 ms |
The middle event C is now just over a second early. Both endpoint checks still pass. These values were calculated and checked from the synthetic timestamps, not observed in a rendered video.[^4]
The global correction has spread the effect of missing material across surviving material. It cannot recover the missing event because a duration change does not contain the information that was removed.
Nor would moving individual words until the mouth shapes look plausible establish a faithful restoration. That would create a new timing arrangement whose relationship to the source needs its own justification. For a sample presented as a continuous recorded performance, the difference matters.
The failure is not that the arithmetic was inaccurate. The arithmetic accurately fitted the wrong model.
Reconstruct intervals only when their boundaries are supported
In this constructed case, the deletion is known. In real work, a sudden error change would first send you back to the source files and edit history. Was there a stopped recorder, a removed section, a repeated section, or a change in the picture? Do not decide that every jump is missing sound merely because that explanation fits a convenient repair.
The synthetic surviving regions each retain the same rate relationship. Fitting A to B before the gap gives the duration multiplier 1000/1001. Fitting D to E after the gap gives that multiplier too, but requires a different position adjustment.
Use C as a check that was not used to fit the later region. The later-region mapping places C at its stipulated reference time of 100.000 seconds. This supports the arithmetic of the two-region model; it still says nothing about audio quality.
At the join in the interrupted source, both surviving boundaries occupy source position 92.080 seconds. The end of the earlier region maps to reference time 90.000. The start of the later region maps to reference time 92.000. Correct positioning therefore exposes a two-second gap in the reference timeline. It does not eliminate it.[^4]
That gap is useful evidence. It tells the editor what has not been recovered.
Search for an authorized source that actually covers the missing period, and establish that its content belongs to the same event before using it. If no such recording is available, do not silently fill the interval with other speech and call it synchronized production sound. A new recording or another take would be a different editorial operation, not clock correction.
The sample may need to retain and explain the limitation, or be recut transparently so it no longer presents an unsupported continuous passage. That decision belongs with the film’s editorial and representation requirements. Silence inserted to hold a place in the timeline is not recovered silence from the original event.
For an actual reconstruction, preserve a small source map: which file supplies each surviving interval, which events locate it, what transformation was applied, and where coverage is absent. A later editor should be able to distinguish a timing correction from a content substitution without reverse-engineering the timeline.
Do not extrapolate a fitted interval across a boundary merely because the resulting track looks tidy. The boundary is the reason the global model failed.
Check the sound, not just the positions
A timing fit can be numerically right while the processed audio is unusable. The Audacity manual describes limitations including possible audible distortion and, for its default fast Change Tempo algorithm, possible loss or incomplete stretching at selection boundaries. A quality option is not a substitute for inspecting the result.[^2]
For the continuous route, revisit the held-out events and listen through the intervening speech. Check the beginning and end of the processed region as well as its middle. Listen for changed attacks, awkward consonants, echoes, unnatural sustained sounds, or new discontinuities. Compare against the untouched recording; do not rely on memory of how it sounded before repeated processing.
For the interval route, add a specific boundary check. Is material duplicated or omitted around the join? Does each region still contain the source event used to locate it? Does a crossfade obscure a missing event rather than simply smooth an intended transition? A visually clean join is not evidence that the recorded sequence has been preserved.
Use the actual picture reference when assessing synchronization. A waveform display is a measurement aid, not the performance the recipient will see. Equally, a short preview that includes only the fitting anchors leaves the central failure in the interrupted example completely untested.
Then check the exported sample, not only the editing session. Reopen the exact file intended for the pitch and revisit the same anchors and boundaries. Record which version was checked. If the export or source interpretation changes afterward, that earlier check no longer describes the file being sent.
There is no universal percentage or tolerance supplied here. The constructed example is exact because its numbers were generated from a known model. A real decision must account for uncertain anchors, the material’s actual sound, and the intended use. When correspondence remains unclear, preserve that uncertainty rather than reporting a successful correction based only on duration.
Leave a correction someone else can understand
For the continuous numerical example, an honest handoff entry would say:
Synthetic timing model only. Reference events A and E define a 180.000-second interval corresponding to 180.180 source seconds. Proposed duration multiplier: 1000/1001. B, C, and D align under the calculated mapping without being used in the fit. No picture-and-sound recording, native processing, or listening comparison has been executed.
For the interrupted numerical example:
The single global fit is rejected: it aligns A and E but misplaces C by approximately −1,011 ms. Separate pre-gap and post-gap mappings preserve the stipulated surviving events and expose missing reference coverage from 90.000 to 92.000 seconds. The missing sound has not been recovered.
An actual production note should replace those synthetic statements with the real source names, measurements, editor version, transformation, unused-anchor checks, listening findings, and any unresolved coverage. Do not replace the absence of a test with a confident adjective.
For continuous drift, the successful route preserves the source event through a justified timing correction and an acceptable audio result. For an interruption, success may begin by showing exactly where continuity cannot yet be claimed. The last word lining up is only one observation; it is not the verdict.
Sources
[^1]: Audacity Development Manual, FAQ: Recording—How To’s, “Can I record from two microphones (or two audio interfaces) at the same time?”, final clock-speed paragraph. Inspected September 19, 2026. Supports the possibility of independent-clock drift, not diagnosis of a particular recording.
[^2]: Audacity Development Manual, Change Tempo, introductory description, “Percent Change,” “Length,” and “Limitations.” Inspected September 19, 2026. Development documentation, not an installed-version test or a guarantee of transparent processing.
[^3]: Audacity Development Manual, Change Speed and Pitch, introductory description, “Speed Multiplier,” “Percent Change,” and “Selection Length.” Inspected September 19, 2026. Used to distinguish linked speed/pitch change from pitch-preserving duration processing.
[^4]: Original teaching data: synthetic anchor positions and stated faults, runnable exact-arithmetic check, and recorded numerical results. Created and checked September 19, 2026. These are numerical illustrations, not captured media, acoustic measurements, or native-app results.
Frequently asked questions
How do I decide whether drifting audio needs a duration correction or a search for an interruption?
Measure mismatch at several later anchors after aligning one. Roughly constant displacement may be a position issue. Error growing consistently with elapsed time is compatible with a uniform rate difference. An abrupt change between otherwise consistent stretches suggests a boundary to investigate. These are diagnostic hypotheses, not automatic classifications.
Why can aligning the first and last events still leave the middle wrong?
A single global stretch can make endpoints agree while misplacing intervening material. In the article's interrupted synthetic example, fitting A and E alone aligns them but leaves the middle event about 1,011 ms early and spreads the effect of missing material across surviving audio. That fit is numerically accurate but fits the wrong model.
What is the difference between a duration multiplier and a tempo percentage?
The duration multiplier is reference interval divided by source interval; in the example 180.000/180.180 = 1000/1001 ≈ 0.999000999. The duration percentage change is about −0.0999001%, while the tempo or playback-speed percentage change is +0.1%, because the source must become shorter by playing faster. The speed multiplier 1.001 is the reciprocal of the duration multiplier. Entering the right number in the wrong kind of field can send the correction the wrong direction.
What should I listen for and check after applying a timing correction?
Revisit held-out anchors, listen through intervening speech, and check the processed region's beginning, middle, and end against the untouched recording. Listen for changed attacks, awkward consonants, echoes, unnatural sustained sounds, or new discontinuities. For an interval reconstruction, check whether material is duplicated or omitted around a join and whether a crossfade hides a missing event. Then check the exported file, not only the editing session.
What if an interval is genuinely missing from the sound source?
Search for an authorized source that actually covers the missing period and establish that its content belongs to the same event. If no such recording exists, do not silently fill the interval with other speech and call it synchronized production sound. The sample may need to retain and explain the limitation or be recut transparently. Keep a source map of surviving intervals, locating events, transformations, and absent coverage.