{"course":{"slug":"motion-and-audio","title":"Motion, Sound and Music","url":"https://addaly.com/learn/motion-and-audio","level":"intermediate","track":"create"},"lesson":{"slug":"double-system-and-sync","title":"Two devices, one event","url":"https://addaly.com/learn/motion-and-audio/double-system-and-sync","position":54,"of":72,"minutes":10,"answer":"Offset is a constant to be slid and drift is a rate error to be stretched.","keyIdea":"Offset is a constant to be slid and drift is a rate error to be stretched, and the commonest reported drift is not a clock problem at all but a 1000/1001 frame-rate mismatch worth 3.6 seconds an hour, while timecode fixes the offset and does nothing about the drift."},"body":{"format":"markdown","text":"## Two recorders, one event\n\nRecording sound into the camera is convenient and usually worse: camera preamps are mediocre, the camera is in the wrong place for a microphone, and the microphone has to be wherever the camera is. So most filmed work records sound separately (**double system**) and the two recordings have to be brought back together.\n\nThe joining has two distinct problems, and people conflate them. **Offset** is a constant difference: the recorder started three seconds before the camera. **Drift** is a difference that grows: the two devices are not running at exactly the same rate.\n\nAn offset is fixed once. Drift has to be fixed by changing the length of one of the recordings.\n\n## The clap, and why it still works\n\nA sharp transient visible on the picture and clearly marked in the waveform gives you a single unambiguous alignment point. A clapperboard does it formally; two hands do it perfectly well.\n\nTwo details that make it work:\n\n- **In frame and in focus.** You need to see the exact frame where the hands meet.\n- **Close to the microphone, and mark the end too** on a long take. Two claps, one at each end, let you measure drift directly: if the head claps align and the tail claps are 12 frames apart after an eight-minute take, you have measured your drift.\n\n## Where drift comes from\n\nEvery digital device has a clock crystal, and no crystal is exact. A recorder nominally at 48kHz might run at 48,002Hz. That is 42 parts per million: about 0.15 seconds over an hour.\n\nThat much is usually tolerable for speech. The failures that matter are larger and have specific causes:\n\n**A frame-rate mismatch of 0.1 per cent.** A camera at 29.97fps with audio timed for 30, or 23.976 against 24. The ratio is 1000/1001, which is 3.6 seconds per hour: grossly out of sync within minutes. This is by far the most common \"my audio drifts\" report, and it is not a clock problem at all; it is a project setting.\n\n**Variable frame rate recording.** Phones and screen-recording software frequently record with a variable frame rate, storing frames as they arrive rather than at fixed intervals. An editor that assumes a constant rate will drift progressively. The fix is to conform to a constant rate on the way in:\n\n```bash\nffmpeg -i phone.mp4 -vsync cfr -r 30 -c:v libx264 -crf 18 -c:a aac fixed.mp4\n```\n\n**Genuine clock drift** between two independent devices, which is the small residue after the other two are excluded.\n\n## Timecode, and what it does and does not solve\n\nProfessional recorders and cameras can record **timecode**: a clock value embedded per frame or striped as an audio signal. If both devices are set to the same time-of-day timecode, the editor can align every clip automatically with no claps at all. On a multi-camera shoot with hours of material, this saves days.\n\nThe important distinction: **timecode gives you the offset; it does not stop drift.** Two devices sharing a timecode value still have independent clocks. Devices that stay locked either jam-sync periodically from a master, or are genlocked to a shared clock signal. A recorder jammed at the start of the day and left alone will drift by the afternoon, which is why the convention is to re-jam every few hours.\n\nTimecode-generating boxes are relatively expensive and are the usual dividing line between a hobby setup and a professional one.\n\n## Free automatic sync\n\nYou do not need timecode for a small shoot. Waveform-matching is free and works well when the camera also recorded scratch audio from its own microphone, which it should, precisely for this.\n\nThe technique cross-correlates the camera's low-quality track with the recorder's good one, finds the offset with the highest correlation, and slides the clips together.\n\n- **DaVinci Resolve**'s free edition has audio waveform sync built in, including multicam.\n- **Kdenlive** and **Shotcut** both offer clip alignment.\n- **Blender**'s video sequencer has a waveform-based sync.\n- On the command line, `audio-offset-finder` and similar open-source tools print the offset in seconds for scripting across a folder.\n\nTwo requirements: the camera must have recorded *some* audio, and the two must overlap in content. Sync fails when the camera microphone heard something entirely different, as with a distant subject and a radio microphone in a noisy room.\n\n## Fixing drift after the fact\n\nOnce you have measured it (head and tail claps, or the first and last obvious transient) correct the rate rather than cutting the audio up.\n\n```bash\n# stretch audio by 0.1% to match a 29.97 vs 30 mismatch\nffmpeg -i audio.wav -af \"atempo=0.999\" -ar 48000 fixed.wav\n\n# or resample, which also shifts pitch very slightly\nffmpeg -i audio.wav -af \"asetrate=48000*0.999,aresample=48000\" fixed.wav\n```\n\n`atempo` changes duration without pitch, and at 0.1 per cent the artefacts are undetectable. `asetrate` is a straight speed change with a pitch shift of about 1.7 cents, also undetectable at this magnitude and preferred by some because it is a pure rate change with no time-stretching algorithm involved.\n\n## Practices that save the day\n\n- **Always record scratch audio on the camera**, even when you have a separate recorder. It is your sync reference and your backup.\n- **Clap at the head and the tail** of anything over two minutes.\n- **Announce the take out loud**: scene, take, and anything unusual. Audio slates cost nothing and are searchable by ear when file names have gone wrong.\n- **Check sync at the end of the take, not the start.** Aligning the first clap proves nothing about minute nine.\n- **Set the project frame rate first**, and conform anything that does not match on ingest.\n\n## The limitation\n\nNothing here recovers a recording that stopped. Separate devices fail separately: a card fills, a battery dies, somebody knocks record on a recorder that was already running and turns it off. The camera's scratch track is the only thing that saves the take, which is the real reason to insist on it.\n\nAnd automatic sync is a correlation, not an understanding. On repetitive content (a metronome, a looped announcement, a rhythmic machine) it can lock onto the wrong cycle with total confidence and be exactly one bar out. Spot-check by ear on a consonant, at the end of the clip, before trusting a batch of automatic syncs."},"check":{"question":"Audio synced perfectly at the head of an eight-minute take is about half a second late by the end. The recorder and camera were both set to 48kHz and the project is 23.976fps. What should you check first?","options":[{"text":"The recorder's clock crystal, which at a typical tolerance of a few dozen parts per million would produce exactly this magnitude of error over eight minutes.","correct":false,"tempting":"Ordinary crystal tolerance gives fractions of a second per hour, an order of magnitude too small for half a second in eight minutes."},{"text":"The camera's audio sample rate, since a camera recording scratch audio at 44.1kHz while the project assumes 48kHz would produce a progressive offset as the timeline stretches the file.","correct":false,"tempting":"A sample-rate mismatch on a scratch track is a real hazard, but it affects only the reference track, not the separately recorded audio being synced."},{"text":"Whether the audio was timed for 24fps and the picture is 23.976, a ratio of 1000/1001 worth about half a second in eight minutes.","correct":true},{"text":"Whether the camera recorded with a variable frame rate, which is the usual cause of progressive drift on consumer devices and which would need conforming to a constant rate before the clips can be aligned at all.","correct":false,"tempting":"A genuine and common cause, but it is characteristic of phones and screen recorders rather than a camera already set to a named cinema frame rate."}]},"prev":{"slug":"latency-and-monitoring","title":"Latency, and why a speaker starts stumbling","url":"https://addaly.com/learn/motion-and-audio/latency-and-monitoring"},"next":{"slug":"eq-in-three-moves","title":"Three EQ moves that cover most voices","url":"https://addaly.com/learn/motion-and-audio/eq-in-three-moves"},"authorship":"Founder and series editor: Dr Mustafa Mun. Written by AI models to a written standard. Exam keys checked blind by a second model: 3,665 of 3,666 agreed. Academic review invited.","review":{"status":"Draft, open for academic review"},"cite":"Addaly (2026) 'Two devices, one event', in Motion, Sound and Music. Edited by M. Mun. Addaly. Available at: https://addaly.com/learn/motion-and-audio/double-system-and-sync (Accessed: 13 October 2026).","licence":{"name":"CC BY-NC-SA 4.0","url":"https://creativecommons.org/licenses/by-nc-sa/4.0/"},"reader":{"schema":1,"title":"Two devices, one event","courseTitle":"Motion, Sound and Music","module":{"index":6,"slug":"capturing-sound","title":"Capturing sound"},"answer":null,"keyIdea":"Offset is a constant to be slid and drift is a rate error to be stretched, and the commonest reported drift is not a clock problem at all but a 1000/1001 frame-rate mismatch worth 3.6 seconds an hour, while timecode fixes the offset and does nothing about the drift.","hero":{"kind":"plate","image":null,"alt":null,"caption":null},"blocks":[{"t":"h2","id":"two-recorders-one-event","runs":[{"text":"Two recorders, one event"}]},{"t":"p","runs":[{"text":"Recording sound into the camera is convenient and usually worse: camera preamps are mediocre, the camera is in the wrong place for a microphone, and the microphone has to be wherever the camera is. So most filmed work records sound separately ("},{"text":"double system","b":true},{"text":") and the two recordings have to be brought back together."}]},{"t":"p","runs":[{"text":"The joining has two distinct problems, and people conflate them. "},{"text":"Offset","b":true},{"text":" is a constant difference: the recorder started three seconds before the camera. "},{"text":"Drift","b":true},{"text":" is a difference that grows: the two devices are not running at exactly the same rate."}]},{"t":"p","runs":[{"text":"An offset is fixed once. Drift has to be fixed by changing the length of one of the recordings."}]},{"t":"h2","id":"the-clap-and-why-it-still-works","runs":[{"text":"The clap, and why it still works"}]},{"t":"p","runs":[{"text":"A sharp transient visible on the picture and clearly marked in the waveform gives you a single unambiguous alignment point. A clapperboard does it formally; two hands do it perfectly well."}]},{"t":"p","runs":[{"text":"Two details that make it work:"}]},{"t":"ul","items":[[{"text":"In frame and in focus.","b":true},{"text":" You need to see the exact frame where the hands meet."}],[{"text":"Close to the microphone, and mark the end too","b":true},{"text":" on a long take. Two claps, one at each end, let you measure drift directly: if the head claps align and the tail claps are 12 frames apart after an eight-minute take, you have measured your drift."}]]},{"t":"h2","id":"where-drift-comes-from","runs":[{"text":"Where drift comes from"}]},{"t":"p","runs":[{"text":"Every digital device has a clock crystal, and no crystal is exact. A recorder nominally at 48kHz might run at 48,002Hz. That is 42 parts per million: about 0.15 seconds over an hour."}]},{"t":"p","runs":[{"text":"That much is usually tolerable for speech. The failures that matter are larger and have specific causes:"}]},{"t":"p","runs":[{"text":"A frame-rate mismatch of 0.1 per cent.","b":true},{"text":" A camera at 29.97fps with audio timed for 30, or 23.976 against 24. The ratio is 1000/1001, which is 3.6 seconds per hour: grossly out of sync within minutes. This is by far the most common “my audio drifts” report, and it is not a clock problem at all; it is a project setting."}]},{"t":"p","runs":[{"text":"Variable frame rate recording.","b":true},{"text":" Phones and screen-recording software frequently record with a variable frame rate, storing frames as they arrive rather than at fixed intervals. An editor that assumes a constant rate will drift progressively. The fix is to conform to a constant rate on the way in:"}]},{"t":"code","lang":"bash","label":"Bash","text":"ffmpeg -i phone.mp4 -vsync cfr -r 30 -c:v libx264 -crf 18 -c:a aac fixed.mp4"},{"t":"p","runs":[{"text":"Genuine clock drift","b":true},{"text":" between two independent devices, which is the small residue after the other two are excluded."}]},{"t":"h2","id":"timecode-and-what-it-does-and-does-not-solve","runs":[{"text":"Timecode, and what it does and does not solve"}]},{"t":"p","runs":[{"text":"Professional recorders and cameras can record "},{"text":"timecode","b":true},{"text":": a clock value embedded per frame or striped as an audio signal. If both devices are set to the same time-of-day timecode, the editor can align every clip automatically with no claps at all. On a multi-camera shoot with hours of material, this saves days."}]},{"t":"p","runs":[{"text":"The important distinction: "},{"text":"timecode gives you the offset; it does not stop drift.","b":true},{"text":" Two devices sharing a timecode value still have independent clocks. Devices that stay locked either jam-sync periodically from a master, or are genlocked to a shared clock signal. A recorder jammed at the start of the day and left alone will drift by the afternoon, which is why the convention is to re-jam every few hours."}]},{"t":"p","runs":[{"text":"Timecode-generating boxes are relatively expensive and are the usual dividing line between a hobby setup and a professional one."}]},{"t":"h2","id":"free-automatic-sync","runs":[{"text":"Free automatic sync"}]},{"t":"p","runs":[{"text":"You do not need timecode for a small shoot. Waveform-matching is free and works well when the camera also recorded scratch audio from its own microphone, which it should, precisely for this."}]},{"t":"p","runs":[{"text":"The technique cross-correlates the camera’s low-quality track with the recorder’s good one, finds the offset with the highest correlation, and slides the clips together."}]},{"t":"ul","items":[[{"text":"DaVinci Resolve","b":true},{"text":"’s free edition has audio waveform sync built in, including multicam."}],[{"text":"Kdenlive","b":true},{"text":" and "},{"text":"Shotcut","b":true},{"text":" both offer clip alignment."}],[{"text":"Blender","b":true},{"text":"’s video sequencer has a waveform-based sync."}],[{"text":"On the command line, "},{"text":"audio-offset-finder","code":true},{"text":" and similar open-source tools print the offset in seconds for scripting across a folder."}]]},{"t":"p","runs":[{"text":"Two requirements: the camera must have recorded "},{"text":"some","i":true},{"text":" audio, and the two must overlap in content. Sync fails when the camera microphone heard something entirely different, as with a distant subject and a radio microphone in a noisy room."}]},{"t":"h2","id":"fixing-drift-after-the-fact","runs":[{"text":"Fixing drift after the fact"}]},{"t":"p","runs":[{"text":"Once you have measured it (head and tail claps, or the first and last obvious transient) correct the rate rather than cutting the audio up."}]},{"t":"code","lang":"bash","label":"Bash","text":"# stretch audio by 0.1% to match a 29.97 vs 30 mismatch\nffmpeg -i audio.wav -af \"atempo=0.999\" -ar 48000 fixed.wav\n\n# or resample, which also shifts pitch very slightly\nffmpeg -i audio.wav -af \"asetrate=48000*0.999,aresample=48000\" fixed.wav"},{"t":"p","runs":[{"text":"atempo","code":true},{"text":" changes duration without pitch, and at 0.1 per cent the artefacts are undetectable. "},{"text":"asetrate","code":true},{"text":" is a straight speed change with a pitch shift of about 1.7 cents, also undetectable at this magnitude and preferred by some because it is a pure rate change with no time-stretching algorithm involved."}]},{"t":"h2","id":"practices-that-save-the-day","runs":[{"text":"Practices that save the day"}]},{"t":"ul","items":[[{"text":"Always record scratch audio on the camera","b":true},{"text":", even when you have a separate recorder. It is your sync reference and your backup."}],[{"text":"Clap at the head and the tail","b":true},{"text":" of anything over two minutes."}],[{"text":"Announce the take out loud","b":true},{"text":": scene, take, and anything unusual. Audio slates cost nothing and are searchable by ear when file names have gone wrong."}],[{"text":"Check sync at the end of the take, not the start.","b":true},{"text":" Aligning the first clap proves nothing about minute nine."}],[{"text":"Set the project frame rate first","b":true},{"text":", and conform anything that does not match on ingest."}]]},{"t":"h2","id":"the-limitation","runs":[{"text":"The limitation"}],"role":"limit"},{"t":"p","runs":[{"text":"Nothing here recovers a recording that stopped. Separate devices fail separately: a card fills, a battery dies, somebody knocks record on a recorder that was already running and turns it off. The camera’s scratch track is the only thing that saves the take, which is the real reason to insist on it."}]},{"t":"p","runs":[{"text":"And automatic sync is a correlation, not an understanding. On repetitive content (a metronome, a looped announcement, a rhythmic machine) it can lock onto the wrong cycle with total confidence and be exactly one bar out. Spot-check by ear on a consonant, at the end of the clip, before trusting a batch of automatic syncs."}]}],"check":{"question":[{"text":"Audio synced perfectly at the head of an eight-minute take is about half a second late by the end. The recorder and camera were both set to 48kHz and the project is 23.976fps. What should you check first?"}],"options":[{"text":[{"text":"The recorder’s clock crystal, which at a typical tolerance of a few dozen parts per million would produce exactly this magnitude of error over eight minutes."}],"correct":false,"tempting":[{"text":"Ordinary crystal tolerance gives fractions of a second per hour, an order of magnitude too small for half a second in eight minutes."}]},{"text":[{"text":"The camera’s audio sample rate, since a camera recording scratch audio at 44.1kHz while the project assumes 48kHz would produce a progressive offset as the timeline stretches the file."}],"correct":false,"tempting":[{"text":"A sample-rate mismatch on a scratch track is a real hazard, but it affects only the reference track, not the separately recorded audio being synced."}]},{"text":[{"text":"Whether the audio was timed for 24fps and the picture is 23.976, a ratio of 1000/1001 worth about half a second in eight minutes."}],"correct":true,"tempting":null},{"text":[{"text":"Whether the camera recorded with a variable frame rate, which is the usual cause of progressive drift on consumer devices and which would need conforming to a constant rate before the clips can be aligned at all."}],"correct":false,"tempting":[{"text":"A genuine and common cause, but it is characteristic of phones and screen recorders rather than a camera already set to a named cinema frame rate."}]}],"order":[3,0,1,2],"why":null},"prev":{"slug":"latency-and-monitoring","title":"Latency, and why a speaker starts stumbling","minutes":9},"next":{"slug":"eq-in-three-moves","title":"Three EQ moves that cover most voices","minutes":10}}}