Hopp til hovedinnhold
SubtitleMatrix

Slå to undertekster sammen til én

Tekst og stilSlå sammen to spor til én tospråklig fil
Eller lim inn underteksttekst
Eller lim inn teksten fra den andre filen

Innstillinger

To undertekster er sjelden enige tekstblokk for tekstblokk, og dette er valget som avgjør hva som skjer overalt der de er uenige. Overalt der en tekstblokk i den ene filen overlapper en tekstblokk i den andre, behandles de to som samme øyeblikk og bæres sammen, med overlappen som avgjør hvor lenge resultatet blir stående på skjermen. Resten er dette valget. Behold begge filene legger hver tekstblokk uten motpart til som sin egen linje, så ikke ett ord fra noen av inndataene mangler — og den andre filens tider bevares ikke, fordi en tekstblokk uten motpart fortsatt må ligge et sted på den første filens tidslinje. Behold den første filens tidslinje gjør det motsatte: den første filens tekstblokker beholder nøyaktig de startene og sluttene de kom med, ingenting nytt settes inn, og hver tekstblokk i den andre filen som ikke passer med noe, fjernes. Rapporten etter en kjøring navngir alltid hvor mange tekstblokker det var.

Når to tekstblokker først behandles som samme øyeblikk, må teksten deres dele skjermen. Ordnet som to linjer er hvordan tospråklige undertekster vanligvis kringkastes, og hvordan de fleste spillere forventer å se dem: den første filens linje ligger over den andre filens, og tekstblokken blir en tolinjes tekstblokk. Det krever at tekstblokken tillater et linjeskift, som er grunnen til at hvert format som lagrer en tekstblokk som én enkelt linje, er helt utelatt fra denne siden i stedet for å bli flatet ut her. Slått sammen til én linje setter begge språkene på en enkelt linje atskilt av det du skriver i feltet nedenfor, som er det du vil når leserne skal se oversettelsen først og originalen som et innskudd — en oversetters undertekst i stedet for en tospråklig kringkastingsundertekst.

Hvilken bildefrekvens tidene telles i. På formatsidene er det dette MicroDVD trenger, fordi det lagrer tid som bildenummer. På sidene for bildefrekvens er det frekvensen filen ble tidsstyrt mot — versjonen undertekstene ble laget for — og sidens andre boks tar frekvensen til videoen du skal bruke dem med. 23,976, 24, 25, 29,97, 30, 50, 59,94 og 60 er de vanlige. Tar du feil, forskyves hele tidslinjen, og på bildefrekvenssidene forskyves den med et forhold i stedet for et fast beløp.

Denne siden tar to undertekstfiler og gir deg én. Legg originalen i første boks og oversettelsen i andre, og hver tekstblokk i den ene filen som deler skjermtid med en blokk i den andre, blir én blokk som holder begge tekstene — originalen på første linje, oversettelsen på andre. Det er filen en tospråklig sending trenger: ett spor, én fil, én ting å laste, i stedet for to spor som en avspiller gjerne lar seeren slå av, eller som et DVD-oppsettingsverktøy vil nekte.

Sammenkoblingen skjer etter tid, ikke etter posisjon. To filer med samme antall blokker kunne vært matchet linje for linje, men antall blokker er nettopp det som skiller en original fra en oversettelse: en oversetter vil dele én lang engelsk linje i to kortere, eller slå to spørsmål sammen. Så en blokk kobles til en blokk når tidsområdene deres overlapper, og bare da. Blokker som ikke overlapper noe, er det interessante tilfellet, og det første valget avgjør hva som skjer med dem. Å beholde begge filene tar hver av dem med som sin egen blokk, så ikke ett ord fra noen av inndataene mangler — prisen er at resultatet ikke lenger er noens eksakte tidslinje, fordi en uparet blokk fortsatt må ligge et sted. Å beholde tidslinjen til den første filen gjør det motsatte: blokkene fra den første filen kommer ut med nøyaktig de startene og sluttene de kom inn med, ingenting settes inn mellom dem, og en blokk i den andre filen som ikke treffer noe, droppes, med antallet skrevet inn i rapporten etter kjøringen.

Det andre valget handler om hvordan de to tekstene deler skjermen. To linjer er slik tospråklige undertekster vanligvis sendes og slik de fleste avspillere forventer å se dem: den første filens linje over den andres. Én linje kjører dem sammen med det du skriver som skilletegn — en skråstrek med mellomrom, en tankestrek med mellomrom, en loddrett strek, eller ingenting i det hele tatt, som er konvensjonen for et par som kinesisk og japansk. To linjer krever at formatet tillater et linjeskift inne i en blokk, og formatene som lagrer en blokk som én linje, er utelatt fra denne siden i stedet for stille å bli flatet ut på den.

Hvert format her leses på samme måte: SRT, WebVTT, ASS, SSA, SBV, SAMI, TTML, JSON og CSV. MicroDVD gjør det ikke, fordi blokken der er én linje med bilderuter; LRC gjør det ikke, fordi det ikke lagrer noen sluttid, og sammenkoblingen er ikke annet enn sluttider; ren tekst gjør det ikke, fordi den har ingen av delene. Er de to filene i forskjellige formater, går det fint — hver boks leses som det den inneholder. Ingenting lastes opp: begge filene leses, slås sammen og skrives ut igjen inne i denne nettleserfanen, som er grunnen til at denne siden i det hele tatt finnes for noen som arbeider med materiale som ikke kan forlate maskinen. Begge boksene tar imot mer enn én fil, og den første filen i den ene boksen pares med den første i den andre, så en hel sesong kan gå gjennom i én kjøring.

Eksempler

To filer som stemmer, slått sammen som to linjer

Inndata

First file:
1
00:00:01,000 --> 00:00:03,000
Good morning.

2
00:00:05,000 --> 00:00:07,000
How are you?


Second file:
1
00:00:01,000 --> 00:00:03,000
早上好。

2
00:00:05,000 --> 00:00:07,000
你好吗?

Resultat

1
00:00:01,000 --> 00:00:03,000
Good morning.
早上好。

2
00:00:05,000 --> 00:00:07,000
How are you?
你好吗?

Begge blokkene pares fordi tidene overlapper nøyaktig, og hvert par kommer ut som en blokk med to linjer med den første filens linje øverst. Ingenting går tapt og ingenting flyttes, så rapporten etter kjøringen sier det. Blokknumrene er den første filens egne, som er det du får når hver blokk i utdataene kom fra den filen — en uparet blokk fra den andre filen er det som endrer det, slik det tredje eksempelet viser.

De samme to filene, slått sammen på én linje

Inndata

First file:
1
00:00:01,000 --> 00:00:03,000
Good morning.

2
00:00:05,000 --> 00:00:07,000
How are you?


Second file:
1
00:00:01,000 --> 00:00:03,000
早上好。

2
00:00:05,000 --> 00:00:07,000
你好吗?

Resultat

1
00:00:01,000 --> 00:00:03,000
Good morning. / 早上好。

2
00:00:05,000 --> 00:00:07,000
How are you? / 你好吗?

Samme paring, samme tider, ordnet på én linje med en skråstrek og mellomrom mellom språkene. Linjen er lengre enn i noen av inndataene, så på en side som setter en grense for tegn per linje, kan denne filen nå bli rapportert som over grensen — det er en reell følge av oppsettet, ikke en avrundingsfeil. Å la skilletegnet stå tomt er det andre reelle valget: de to tekstene går da rett inn i hverandre, som er slik kinesisk og japansk vanligvis settes sammen.

En blokk i den andre filen som ikke treffer noe

Inndata

First file:
1
00:00:01,000 --> 00:00:03,000
Good morning.

2
00:00:05,000 --> 00:00:07,000
How are you?


Second file:
1
00:00:01,000 --> 00:00:03,000
早上好。

2
00:00:03,000 --> 00:00:04,500
(敲门声)

Resultat

1
00:00:01,000 --> 00:00:03,000
Good morning.
早上好。

2
00:00:03,000 --> 00:00:04,500
(敲门声)

3
00:00:05,000 --> 00:00:07,000
How are you?

Den andre kinesiske blokken starter på nøyaktig det øyeblikket den første engelske blokken slutter, og å starte når den forrige slutter, er ikke samme øyeblikk — det er to undertekster, ikke én. Så den føres over som sin egen blokk, på sin egen tid, midt i filen. Fordi en blokk som ikke kom fra den første filen, nå finnes i utdataene, nummereres hele filen om fra 1, og den første filens egen nummerering beholdes ikke.

Ofte stilte spørsmål

De to filene har forskjellig antall tekstblokker. Hvilken vinner?

Ingen av dem, og det er poenget med å matche etter tid. En blokk fra den ene filen pares med en blokk fra den andre når tidsområdene overlapper, uansett hvilke numre de har, så en oversettelse som deler én lang linje i to kortere, fortsatt kommer ut festet til linjen den hører til. Den første av de to delte blokkene er den som pares; den andre overlapper ingenting og føres enten over som sin egen blokk eller droppes, avhengig av det første valget. Rapporten etter kjøringen forteller hvilket av dem som skjedde, og hvor mange blokker det gjaldt.

Endrer sammenslåingen av en oversettelse tidene i originalen min?

Ikke hvis du beholder tidslinjen til den første filen. Med den innstillingen kommer hver blokk i den første filen ut med nøyaktig den starten og slutten den kom inn med, og ingenting settes inn mellom dem, så filen du allerede har tidfestet og kontrollert, er fortsatt filen du har. Kostnaden ligger på den andre siden: en blokk i den andre filen som ikke overlapper noe, har ingen plass på den tidslinjen og droppes, med antallet i rapporten. Beholder du begge filene i stedet, droppes ingen tekst, men parede blokker går fra den tidligere starten til den senere slutten, som kan utvide en blokk med noen hundre millisekunder og skyve den inn i den neste.

Kan jeg bruke denne til å legge til undertekster på et nytt språk, eller bare til å slå sammen to filer?

Begge boksene tar imot hvilket som helst format dette nettstedet leser, så en undertekstfil pluss en transkripsjonsfil som er konvertert til SRT, virker like godt som to undertekstfiler. Det siden trenger fra den andre inndataen, er en tidslinje: paringsregelen er ikke annet enn overlappende tidsområder. En fil uten tider i det hele tatt kan ikke slås sammen, som er hvorfor ren tekst ikke tas imot her — en tekstfil ville først trenge en oppdiktet tidslinje, og en oppdiktet tidslinje er en avgjørelse du bør ta bevisst framfor å få et verktøy til å ta den for deg.

Må jeg laste opp begge filene til en server?

Nei, og det finnes ingen server å laste dem opp til. Begge filene leses i denne nettleserfanen, slås sammen i minnet og skrives ut igjen her; lukker du fanen, er alt borte, og ingenting ble noen gang sendt noe sted. Dette betyr mest nettopp for materialet som blir tekstet: uklippte versjoner, interne opplæringsvideoer, juridiske og medisinske opptak, alt som ligger under embargo. Det vanlige alternativet er et nettsted som ber deg laste opp filen først, som for disse brukerne ikke er et alternativ i det hele tatt.

Hva om de to filene er i forskjellige undertekstformater?

Det går, og det er vanlig: en WebVTT-fil fra et webinar og en SRT fra en oversetter. Hver boks leses som det den inneholder, og utdataene skrives i formatet til den første filen, som er hvorfor de to boksene er merket. Følgen du bør kjenne til, er stiling — er den første filen ASS med stilede blokker og den andre enkel SRT, blir den sammenslåtte filen ASS, og den andre filens tekst kommer inn i den med den første filens stiling i stedet for sin egen, med antallet berørte blokker i rapporten.

Hvilket språk havner på den øverste linjen?

Det du legger i den første boksen, så tolinjeoppsettet er under din kontroll og ikke alfabetisk eller automatisk. Det betyr mer enn det høres ut som i en tospråklig sending: konvensjonen er vanligvis originalen øverst og oversettelsen under, men en språklæringsundertekst setter ofte språket som læres, øverst, så øyet lander på det først. Bytter du de to filene mellom boksene, bytter linjene plass.

Relaterte verktøy