Del undertekster ved sætninger
Eller indsæt underteksttekst
Indstillinger
Klipper, hvor en sætning slutter og den næste begynder, og også hvor tekstblokken skifter linje, fordi undertekstfiler ofte udelader punktummet. Et punktum, spørgsmålstegn eller udråbstegn, der starter en ny sætning, tæller, inklusive de fuldbredde 。!?; en fortsættelse med lille begyndelsesbogstav som »e.g. this«, en decimal som 3,5 og en almindelig forkortelse som »Mr.« eller »Dr.« tæller ikke. Hver sætning får derefter en andel af tekstblokkens tid i forhold til sin tekst.
Hvilken billedhastighed tiderne tælles i. På formatsiderne er det, hvad MicroDVD har brug for, fordi formatet gemmer tider som billednummer. På siderne om billedhastighed er det den hastighed, filen blev timet efter – den version, underteksterne blev lavet til – og sidens anden boks tager hastigheden for den video, du skal bruge dem med. 23,976, 24, 25, 29,97, 30, 50, 59,94 og 60 er de almindelige. Tager man fejl, forskydes hele tidslinjen, og på siderne om billedhastighed forskydes den med et forhold i stedet for et fast beløb.
Denne side deler hver tekstblok ved sætningsgrænser, så hver sætning får sin egen blok. Den bruger tre signaler: slutpunkterne . ! ? og deres fuldbredde former, linjeskift, og en liste over almindelige forkortelser, der ikke afslutter en sætning. Tiden fordeles efter, hvor meget tekst hver sætning har, så den længste sætning bliver på skærmen længst.
Det er den rigtige side, når en fil er blevet skrevet med flere sætninger i samme blok, eller når en transskription er blevet importeret uden at blive delt. At dele ved sætninger giver en roligere læsning og færre skift midt i en replik, men det er også en redaktionel ændring: en blok, der var tænkt som én replik, bliver nu til flere. Siden rører ikke ordene, kun blokgrænserne.
Sætningsdetektionen er en heuristik og ikke en parser. Et punktum efter en forkortelse som »Dr.« eller »e.g.« afslutter ikke en sætning, og et punktum efterfulgt af et lille bogstav eller et tal gør heller ikke. Et linjeskift tæller derimod som en sætningsgrænse, fordi undertekstforfattere ofte udelader det afsluttende punktum, når replikken fortsætter på næste linje. Det betyder, at siden kan give et resultat, du ikke forventede, i en fil med usædvanlig tegnsætning.
De nye grænser er beregnet og ikke kopieret fra filen, så fordelingen registreres som en timingændring. SRT, WebVTT, ASS, SSA, SBV, SAMI, MicroDVD, TTML, JSON og CSV læses som det, de faktisk er. En fil, hvor hver blok kun indeholder én sætning, kommer byte for byte tilbage. Alt kører lokalt i browseren, og en hel sæson kan behandles i én kø.
Eksempler
Tre sætninger i én tekstblok
Input
1
00:00:01,000 --> 00:00:04,000
He left. She stayed. We waited.
Resultat
1
00:00:01,000 --> 00:00:01,828
He left.
2
00:00:01,828 --> 00:00:02,966
She stayed.
3
00:00:02,966 --> 00:00:04,000
We waited.
De tre sekunder deles 828, 1138 og 1034 ms – i forhold til 8, 11 og 10 tegn. Læsehastighed er hele pointen med opdelingen, så den længste sætning, der beholder skærmen længst, er det tilsigtede resultat og ikke en tilfældighed.
Punktummer, der ikke afslutter en sætning
Input
1
00:00:01,000 --> 00:00:03,000
Mr. Smith left at 3.5 seconds.
2
00:00:05,000 --> 00:00:08,000
Dr. Jones arrived. The room was full.
Resultat
1
00:00:01,000 --> 00:00:03,000
Mr. Smith left at 3.5 seconds.
2
00:00:05,000 --> 00:00:06,500
Dr. Jones arrived.
3
00:00:06,500 --> 00:00:08,000
The room was full.
Den første blok indeholder tre punktummer, og ingen af dem afslutter en sætning, så den kommer hel tilbage. Den anden indeholder to rigtige sætningsslutninger og bliver til to blokke, mens »Dr.« igen lades i fred. Det par er hele forskellen mellem en heuristik og en simpel opdeling ved hvert punktum.
Én sætning per linje, helt uden punktummer
Input
1
00:00:01,000 --> 00:00:04,000
He said hello
then she answered quietly.
Resultat
1
00:00:01,000 --> 00:00:02,000
He said hello
2
00:00:02,000 --> 00:00:04,000
then she answered quietly.
Der er intet punktum mellem de to linjer, så selve linjeskiftet behandles som en sætningsgrænse. Filer skrevet på den måde er almindelige i transskriptionseksporter, og denne regel er det, der gør dem delelige, selv om tegnsætningen mangler.
Ofte stillede spørgsmål
Hvordan afgør siden, hvad der er en sætning?
Den leder efter . ! ? og de fuldbredde varianter, men kun når det følgende tegn ikke er et lille bogstav eller et tal, og når ordet før punktummet ikke er en kendt forkortelse som Dr, Mr, etc eller e.g. Et linjeskift tæller også som en grænse. Det er en heuristik og ikke en grammatisk parser, så usædvanlig tegnsætning kan give et andet resultat, end du forventer.
Hvorfor bliver »Dr.« ikke behandlet som afslutningen på en sætning?
Fordi det står på listen over forkortelser, der ikke afslutter en sætning. Uden den regel ville »Dr. Smith« blive delt midt i navnet, hvilket er en af de mest synlige fejl, en simpel sætningsopdeling laver. Listen dækker de almindelige engelske forkortelser; en forkortelse, der ikke står på listen, bliver behandlet som et sætningsslut.
Hvad sker der, hvis en tekstblok ikke indeholder nogen sætningsgrænse?
Så deles den ikke og kommer hel tilbage. Siden rører kun blokke, hvor der faktisk er noget at dele ved, og en blok uden punktum og uden linjeskift har ingen grænse at bruge. Det betyder også, at en fil, hvor hver blok allerede er én sætning, kommer byte for byte tilbage, hvilket er en hurtig kontrol, før du kører en hel sæson.
Bliver tiden fordelt ligeligt mellem sætningerne?
Nej, den fordeles efter antallet af tegn i hver sætning. En sætning på 11 tegn får mere tid end en på 8, fordi den tager længere tid at læse. Det er den samme regel som på de andre opdelingssider, og det er grunden til, at den længste sætning bliver på skærmen længst – det er ikke en fejl, men hele pointen med at opdele efter læsbarhed.
Kan jeg slå sætningsopdelingen fra?
Ja, og det svarer til at sige, at du ikke vil have noget delt. Siden har et enkelt til-fra-valg, og når det er slået fra, kommer filen byte for byte tilbage. Det er nyttigt, hvis du vil kontrollere, hvor mange blokke der ville blive påvirket, før du kører den rigtige opdeling på en hel sæson.