Sådan syncer du ekstern lyd til video uden klaptræ
Dual-system-lyd, altså en rigtig optager til lyden og kameraer til billedet, er standard overalt fra dokumentar til virksomhedsfilm. Slaten er det i stigende grad ikke. Her er de tre veje til pålidelig sync uden et klap, hvad hver af dem kræver af optagelsen, hvordan hver af dem fejler, og hvordan du verificerer resultatet, før nogen klipper på det.
Derfor forsvandt klaptræet (og det her afløste det)
Et klap gør to ting: det giver hver optageenhed én skarp, samtidig transient, og det navngiver taket. På små crews, én fotograf, en lydtaske, tre interviews inden frokost, slater ingen. Heldigvis kan klappets tekniske job gøres bedre af metadata og matematik. Tre mekanismer, i faldende orden af robusthed:
- Fil-timecode: hver fil bærer et matchende urstempel i sine metadata.
- LTC på et lydspor: uret rejser inde i en af kameraets lydkanaler.
- Bølgeform-matching: kameraets scratch-lyd matches matematisk mod optagerens lyd.
Et seriøst sync-workflow bruger dem i den rækkefølge: stol på timecode hvor den findes, dekod LTC hvor den gemmer sig, og fald tilbage på (eller finjustér med) bølgeform-analyse alle andre steder.
Vej 1: fil-timecode, BWF/iXML-metoden
Hvis kameraer og optager blev jammet til et fælles ur, ved hver fil allerede, hvornår den startede. Detaljerne varierer pr. format, og at vide hvor stemplet bor, hjælper dig med at fejlfinde mismatches:
- Lydruller er næsten altid Broadcast Wave (BWF). Starttiden bor i
bext-chunken som en time reference: antallet af samples siden midnat. Ved 48 kHz betyder et stempel på 1.728.000.000, at filen startede præcis 10:00:00. Ved siden af bærer en iXML-chunk som regel scene, take, tape-/lydrullenavn, frame rate, spornavne og den sample rate tidsstemplet forudsætter. En gennemgang felt for felt af begge chunks finder du i BWF- og iXML-metadata forklaret. - Kamerafiler bærer start-timecode i container-metadata: et
tmcd-spor i QuickTime/MP4, sidecar-XML på nogle professionelle kameraer, MXF-metadata på andre.
Matchingen er derefter aritmetik: et kameraklip der starter ved 14:32:07:18, overlapper en lydrulle der starter ved 14:31:50:00, så lydfilen placeres 17 sekunder og 18 frames inde i sin varighed, og overlappet bliver et synket par. Tre ting du skal respektere:
- Frame rate-konteksten. Det samme øjeblik på vægur-tid giver forskellige frame-numre ved 25 og 29.97 fps, og drop-frame-tælling ændrer omregningen igen. Et TC-match skal konvertere begge sider gennem deres deklarerede rater; naiv streng-sammenligning af
HH:MM:SS:FFfejler i stilhed. - Sample-tællingens sandhed mod frame-tællingens. BWF-time reference er sample-præcis; kamera-TC er frame-præcis. Optageren kender sin start til 1/48.000 s, kameraet kun til 1/25 s. Den resterende halve frame ligger på kameraets side.
- Overlap er testen, ikke lighed. Filer starter aldrig i samme øjeblik. Ethvert kameraklip hvis tidsinterval skærer en lydfils tidsinterval samme dag, er et kandidat-par; gentaget klokkeslæt på tværs af flere optagedage er grunden til, at filerne først skal sorteres i spande efter optagedato.
Her fejler den: enheder der aldrig blev jammet (eller re-jammet efter et batteriskift), én enhed sat til forkert frame rate eller DF/NDF-tilstand, kameraer hvis interne ur nulstiller sig i det skjulte, og døgnskiftet ved midnat. Timecode er desuden kun frame-præcis; regn med op til en halv frame i restforskydning selv ved et perfekt match.
Vej 2: LTC på et lydspor
Kameraer uden timecode-indgang, mirrorless-huse, actionkameraer, mange droner, kan stadig bære uret: fød LTC fra en sync-boks ind i én lydkanal, og dekod den i post. Billedfilens metadata-TC forbliver meningsløs, men lydkanalen indeholder en sample-præcis optagelse af master-uret. Vejen er robust nok til, at hele produktioner kører på den; dens fejltilstande (lavt niveau, AGC, lossy codecs, bleed) og selve dekodningen er dækket i dybden i vores guide til, hvordan LTC-timecode faktisk virker.
Når først den er dekodet, opfører et LTC-stemplet klip sig præcis som et fil-timecode-klip i vej 1, med den bonus at det dekodede stempel er forankret til en lyd-sample, ikke bare en frame-grænse.
Vej 3: bølgeform-matching
Ingen timecode nogen steder? Hvis kameraet optog bare noget lyd fra scenen, selv en ringe indbygget scratch-mikrofon, indeholder kamerasporet og optagersporet de samme akustiske begivenheder. Krydskorrelation finder den forskydning, hvor de to bølgeformer stemmer bedst overens: forestil dig, at du glider den ene optagelse hen over den anden og scorer overlappet ved hver mulig forskydning; den sande sync-forskydning giver en skarp, utvetydig top.
Praktiske forhold, der afgør om toppen er skarp eller grød:
- Scratch-mikrofonen betyder noget. Den må gerne være støjende og tynd, men den skal faktisk høre scenen. Et kamera 30 meter fra motivet optager mest sine egne omgivelser plus rumklang, og korrelationen bliver bred eller låser på et ekko.
- Tale og transienter er ideelle. Konsonanter, dørsmæk og fodtrin giver karakteristiske mønstre. Konstant bredbåndsstøj (trafik, vind, ventilation) korrelerer svagt over det hele.
- Repetitiv lyd er en fælde. Musikafspilning på sættet, en metronom, loopede meddelelser: alt periodisk giver flere næsten lige høje toppe, og en automatisk matcher kan selvsikkert vælge den forkerte. De klip skal have menneskeøjne.
- Ingen kameralyd, intet match. Droner og kameraer med lyden slået fra kan simpelthen ikke bølgeform-synces. De skal have vej 1, vej 2 eller manuel placering mod handlingen i billedet.
Gjort ordentligt er bølgeform-sync sample-præcis, altså strammere end timecode, og derfor bruger de stærkeste workflows timecode til at finde den grove parring og bølgeformen til at finjustere den endelige justering.
Multicam: samme problem, flere enheder
Med flere kameraer plus en optager bliver sync et grupperingsproblem: hvilke klip hører til samme øjeblik i virkeligheden? Timecode svarer direkte: overlappende tidsintervaller definerer gruppen. Uden timecode matches hvert kameras scratch-spor mod optagerens lyd, og optageren bliver navet, der transitivt justerer kameraer, som aldrig hørte hinanden tydeligt. Det din NLE vil have, er en multicam-gruppe (et multicam-klip i Premiere- eller Final Cut-termer): alle vinkler plus lydrullen, justeret på en fælles tidslinje, med vinkler navngivet konsekvent (A-cam, B-cam, drone), så klipperen kan klippe mellem dem med det samme. Hvordan grupper rejser inde i FCPXML og Premiere XML, står i guiden om editor-pakken, og hvordan du bygger gruppen i netop Resolve, står i multicam-sync i DaVinci Resolve. Premiere Pro-vejen, Merge Clips, Synchronize og multi-camera source sequences, er dækket i lydsync i Premiere Pro.
Drift: fejlen der kommer sent
At få starten af et klip i sync er halvdelen af opgaven; at blive i sync til slutningen er den anden halvdel. Der er to ure i spil i hver enhed, timecode-uret og lydens sample-ur, og på billig hardware er ingen af dem præcise.
Tal der er værd at kende:
- Et sample-ur der er 10 ppm ved siden af, driver 0,6 ms i minuttet: uhørligt på et 3-minutters take, en synlig læbesync-fejl (>40 ms) efter cirka en time.
- Et forbrugerkamera på 50–100 ppm driver 3–6 ms i minuttet: en times ceremoni optaget i ét take ender 180–360 ms ude af sync, selvom den startede perfekt.
- Det klassiske 48.000 vs. 48.048 Hz-mismatch (0,1 %, fra pulldown-workflows) driver 60 ms i minuttet: umiskendeligt inden for to minutter.
Diagnosen er ligetil: flugt klippets hoved, og tjek så halen. Er halen skæv med et konsistent beløb proportionalt med varigheden, er det ur-drift, og løsningen er en lillebitte hastighedsjustering (resampling af lyden med det målte forhold), ikke en re-sync. Springer forskydningen i stedet på et tidspunkt midt i klippet, så led efter tabte frames eller en fil-spanning-grænse, ikke drift.
Hvilken vej hvornår: en feltguide
| Situation | Bedste vej | Pas på |
|---|---|---|
| Jammede professionelle kameraer + BWF-lyd | Fil-timecode, bølgeform-finjustering | DF/NDF-mismatch, huller mellem re-jams |
| Mirrorless + sync-boks på lydkanal 1 | LTC-dekodning | AGC, lossy lyd-codecs, lavt niveau |
| Mirrorless + optager, ingen bokse | Bølgeform-matching | Fjern scratch-mikrofon, musik på sættet |
| Drone eller kamera uden lyd | Fil-TC hvis jammet; ellers manuelt | Der findes ingen fallback: planlæg på sættet |
| Timelange enkelt-takes | Enhver vej + drift-tjek | Hale-forskydning proportional med varigheden |
Verificér, før du leverer
Uanset hvad der lavede matchet, metadata eller matematik, er verifikationen den samme, og den er ikke valgfri på betalt arbejde:
- Stikprøv hoveder og haler. Afspil de første og sidste 10 sekunder af det længste klip i hver gruppe med begge spor hørbare. Fasning/flanging mellem scratch- og optagerlyd betyder, at du er inden for få millisekunder; et tydeligt ekko betyder, at du ikke er.
- Se på én plosiv. Find et ”p” eller ”b” i nærbillede. Læberne lukkede på konsonanten, lyden på slippet: øjet fanger en fejl på én frame hurtigere end øret.
- Vær mistroisk over for enstemmig stilhed. En sync-kørsel der melder nul problemer på en hel optagedag, fortjener mistanke. Rigtige dage indeholder et kamera, der aldrig blev jammet, eller et klip uden brugbar scratch-lyd; et værktøj (eller en assistent) bør fortælle dig, hvilke klip der blev matchet med hvilken metode, med hvilken sikkerhed, og hvilke der står tilbage umatchede. Det dokument er sync-rapporten, og den hører hjemme i editor-overleveringen.
Her passer Launchr Post ind
Launchr Post kører præcis dette hierarki på din maskine: det parrer efter fil-timecode først (BWF-time reference, iXML, kamera-metadata, alle konverteret gennem deres deklarerede frame rates), dekoder LTC hvor et kamera bærer den i et lydspor, finjusterer hvert match til sample-præcision mod bølgeformerne, grupperer multicam-vinkler og måler drift på lange takes. Resultatet er en synket, sorteret, transskriberet optagedag plus en sync-rapport pr. klip, der fortæller hvordan hvert match blev lavet, så verifikationstrinnet ovenfor tager minutter, ikke hele eftermiddagen.
Sync en rigtig optagedag
Smid kameraer, lydruller og dronefootage ind, og se pr. klip hvordan hver sync blev lavet, timecode, LTC eller bølgeform, før din klipper overhovedet åbner projektet.