Naar de hoofdinhoud
SubtitleMatrix

Tijdstempels uit de tekst halen

Tekst en stijlVervangen met reguliere expressies
Of plak ondertiteltekst

Opties

Een reguliere expressie, vergeleken met de tekst van elk blok. Elke treffer wordt vervangen. De twee pagina’s in deze sectie delen het vak: de ene opent het leeg voor een patroon dat je al hebt, de andere begint met een patroon dat je beide kanten op kunt bewerken.

Waar elke treffer in verandert. Laat leeg om elke treffer te verwijderen. Anders dan bij de pagina voor letterlijk zoeken en vervangen is een dollarteken hier bijzonder: $1 staat voor de eerste groep tussen haakjes van de treffer, $& voor de hele treffer en $$ voor een letterlijk dollarteken.

De letters waarmee het patroon wordt gecompileerd. g en u staan standaard aan: u laat het patroon de tekst per teken lezen in plaats van per code-eenheid, wat \p{L} en verwanten hun betekenis geeft. Voeg i toe om hoofdletters te negeren, m voor regelaankers, s om een punt een regeleinde te laten treffen. Maak het vak leeg om zonder flags te compileren. Elke andere letter wordt geweigerd in plaats van genegeerd, want een patroon dat onder flags loopt die je niet hebt gevraagd, is een patroon dat stil iets anders betekent.

In welke beeldsnelheid de tijden worden geteld. Op de formaatpagina’s is dit wat MicroDVD nodig heeft, want het slaat tijden op als framenummers. Op de beeldsnelheidspagina’s is het de snelheid waartegen het bestand getimed is — de versie waarvoor de ondertitels gemaakt zijn — en het tweede vak op de pagina neemt de snelheid van de video die je gaat gebruiken. 23,976, 24, 25, 29,97, 30, 50, 59,94 en 60 zijn de gebruikelijke. Een verkeerde waarde verschuift de hele tijdlijn, en op de beeldsnelheidspagina’s verschuift ze die met een verhouding in plaats van met een vast bedrag.

Deze pagina haalt de tijdstempels weg die binnen de tekst van een blok staan — de `[00:00:01]` die een transcriptie, een export van automatische ondertiteling of een ruwe montage vaak aan het begin van elke regel draagt. Die stempels horen bij de woorden, niet bij de ondertitel: ze staan op het scherm, ze zijn wat een lezer ziet, en deze pagina neemt ze weg samen met de haak en de spatie erna. De bloktijden zelf, de tijden die de speler gebruikt, worden helemaal niet aangeraakt.

Het is met opzet geen pagina die alles tussen haken verwijdert. Geluidsaanwijzingen blijven staan — `[door slams]`, `[phone rings]`, `(music)` zijn informatie die een SDH-track hoort te dragen, en een transcriptie vol stempels is juist het soort bestand dat ze ook heeft. Getallen die alleen op tijden lijken blijven ook staan: `10:30` is een tijd van de dag zonder seconden, en `12:34:56:07` is een tijdcode op basis van frames met vier delen, geen klok. Alleen een stempel met uren, minuten en seconden gaat weg.

Het patroon in het vak beslist dat, en je kunt het aanpassen. Beide uiteinden kijken naar de tekens naast een kandidaat — is het teken ervoor of erna een cijfer of een dubbele punt, dan hoort de kandidaat bij iets langers en is niets ervan van ons. Die controle is geen versiering: zonder haar begint de motor vrolijk midden in `12:34:56:07` en komt de regel terug als `SMPTE 12:` plus wat er volgde, terwijl de pagina één verwijdering meldt. Gebruiken je bestanden een andere vorm — `MM:SS` zonder uren, of stempels tussen accolades — pas dan het patroon aan in plaats van eromheen te werken.

Niets wordt geüpload, elk bestand wordt in zijn eigen formaat teruggeschreven, en een map vol transcripties kan in één keer door de wachtrij. Was de hele tekst van een blok één stempel, dan blijft het blok staan met een lege tekst: een gat in de tijdlijn is een ander probleem dan een regel die er niet hoort te zijn, en de kwaliteitstools zijn de plek om ernaar te kijken.

Voorbeelden

Een transcriptie die het moment van elke regel draagt

Invoer

[00:00:01] We should go.
[00:00:05] The train leaves at 10:30.

Uitvoer

We should go.
The train leaves at 10:30.

Beide stempels gaan weg, met de haken en de spatie erna. De tweede regel is de regel om naar te kijken: 10:30 is een tijd van de dag met twee delen en geen seconden, dus hij blijft precies staan waar hij stond. Dat onderscheid is de hele reden dat deze pagina een patroon draait in plaats van alles tussen haken te verwijderen.

Stempels binnen een echt ondertitelbestand

Invoer

1
00:00:01,000 --> 00:00:04,000
[00:00:12] (phone rings)

2
00:00:05,000 --> 00:00:08,000
(00:01:02.500) So I said yes.

Uitvoer

1
00:00:01,000 --> 00:00:04,000
(phone rings)

2
00:00:05,000 --> 00:00:08,000
So I said yes.

Vierkante haken, ronde haakjes en milliseconden — één regel. De geluidsaanwijzing en de zin beginnen allebei aan de linkerrand, en de bloktijden boven elk blok blijven ongemoeid omdat ze de tijdlijn van het bestand zijn in plaats van tekst. Een stempel in een andere haakvorm of met milliseconden valt onder dezelfde regel, want de haak is een groep in het patroon.

Alles wat op een tijdstempel lijkt en het niet is

Invoer

1
00:00:01,000 --> 00:00:04,000
SMPTE 12:34:56:07 and a ratio of 1:2:3 here.

2
00:00:05,000 --> 00:00:08,000
Call me at 10:30.

Uitvoer

1
00:00:01,000 --> 00:00:04,000
SMPTE 12:34:56:07 and a ratio of 1:2:3 here.

2
00:00:05,000 --> 00:00:08,000
Call me at 10:30.

Het bestand komt byte voor byte terug, en dat is het punt. Een frame-tijdcode, een verhouding en een kloktijd zonder seconden blijven allemaal staan — en de frame-tijdcode is het scherpe geval, want een patroon zonder de controle ervoor begint drie tekens verder en eet `34:56:07`, waardoor een regel overblijft die `SMPTE 12:` leest en er bijna geloofwaardig uitziet.

Veelgestelde vragen

Veranderen de bloktijden wanneer de stempels worden verwijderd?

Nee. De regels die deze pagina bewerkt zijn de woorden op het scherm; de begin- en eindtijden die de speler leest, zitten in de structuur van het bestand en komen ongemoeid terug, samen met de bloknummers en de volgorde van de blokken. Moet de tijdlijn van een bestand verschuiven, dan zijn daar de tijdtools voor.

Waarom staat een tijd als 10:30 er nog?

Omdat hij twee delen heeft en geen seconden, en het patroon vraagt om uren, minuten en seconden in die volgorde. Een stempel die deze pagina verwijdert is een positie in een opname; 10:30 is een tijd van de dag die iemand hardop zei, en hem verwijderen zou veranderen wat het personage zei. Dragen je bestanden echt stempels met twee delen, haal dan de urengroep uit het patroon en zet de controle ervoor weer terug.

Verwijdert de pagina een frame-tijdcode als 12:34:56:07?

Nee, en dat is het geval waarvoor het patroon is geschreven. Beide uiteinden controleren het buurteken: is het teken voor of na een kandidaat een cijfer of een dubbele punt, dan hoort de kandidaat bij iets langers en blijft hij met rust. Zonder die controle zou de motor drie tekens verder beginnen en `34:56:07` verwijderen, waardoor de regel `SMPTE 12:` wordt — een geloofwaardig uitziende regel die informatie heeft verloren.

Waarom overleefden de geluidsaanwijzingen in mijn bestand?

Omdat het geen tijdstempels zijn. Een patroon dat `[00:01:23]` verwijdert, heeft geen reden om `[door slams]` aan te raken, en dat is met opzet: non-verbale informatie is precies waarvoor een SDH-track bestaat, en bestanden met gedrukte stempels zijn vaak dezelfde bestanden die haar dragen. Wil je tekst tussen haken als klasse kwijt, dan is er een aparte pagina die elk gepaard haakpaar verwijdert en het gat erachter dichtschuift.

Kan ik het patroon aanpassen?

Ja — het vak is bewerkbaar en het is een volledig vak voor reguliere expressies, dus alles van de algemene patroonpagina werkt hier. Twee dingen zijn het waard te behouden: de haakgroep die bij het stempel hoort en de spatie erna, en de controles aan beide uiteinden, want zonder die kan een langer getal in tweeën worden geknipt. Zijn je stempels `MM:SS` zonder uren, dan is de urengroep verwijderen de bewerking die je wilt.

Wat gebeurt er als een blok niets dan een tijdstempel was?

Het stempel gaat weg en de tekst van het blok wordt leeg, dus dat blok toont een paar seconden niets. Het blok zelf wordt niet verwijderd: een gat in de tijdlijn is een ander probleem dan een regel die niet gedrukt hoort te worden, en tekst verwijderen is het hele werk van deze pagina. Lege blokken zijn achteraf makkelijk te vinden met de kwaliteitstools, en dat is de juiste plek om te beslissen wat ze moeten worden.

De tijdstempels van een LRC-bestand zijn die van het formaat zelf — worden die verwijderd?

Nee. In een LRC-bestand is de `[mm:ss.xx]` aan het begin van een regel de timing van het bestand, en deze pagina bewerkt alleen de woorden van een regel, nooit de timing. Hetzelfde geldt voor de bloknummers en tijdcodes van een SRT of de blokinstellingen van een WebVTT-bestand. Een stempel wordt alleen verwijderd wanneer hij in de tekst zelf is gedrukt.

Gerelateerde hulpmiddelen