LRC naar TTML
Of plak ondertiteltekst
Opties
Wordt gebruikt wanneer de bron geen eindtijden heeft (platte tekst, LRC). De tijdlijn in de uitvoer wordt hier gegenereerd in plaats van omgerekend, dus dit getal is wat je krijgt.
Wat deze conversie verandert
1 ding vervalt of vraagt om een beslissing
- Timing
de eindtijden van blokken — de bron legt ze niet vast, dus die van de uitvoer worden gegenereerd in plaats van omgerekend
Deze lijst komt uit de capaciteitenmatrix voor deze twee formaten, niet uit het bestand dat je hebt geladen. Een specifiek bestand kan meer verliezen wanneer het kenmerken gebruikt die het formaat toestaat maar de matrix niet modelleert.
Deze pagina zet LRC om naar TTML, het timed-text-formaat van omroep en streaming. De uitvoer is een XML-document met een tt-element, een body en per ondertitel een p-element met begin- en eindattributen. Een XML-declaratie staat bovenaan.
LRC kent geen eindtijden, dus de TTML-uitvoer gebruikt de start van de volgende regel als einde. Regels die hetzelfde tijdstempel delen, worden één p-element met twee tekstregels en een br/-tag ertussen. De laatste regel krijgt de duur van deze pagina.
TTML kan veel meer dan LRC — stijlen, regio’s, metadata — maar deze omzetting maakt daar geen gebruik van: wat niet in het LRC-bestand stond, wordt niet verzonnen. De omzetting draait in je browser, zonder upload, en meerdere bestanden komen als één ZIP terug.
Voorbeelden
Een gewoon LRC-bestand, omgezet naar TTML
Invoer
[ti:Sample Song]
[ar:Some Artist]
[length:00:41.00]
[offset:+250]
[00:12.00]First line of the song.
[00:15.30]Second line.
[00:15.30]Second line, translated.
[00:18.00]
[00:21.50]Final line.Uitvoer
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling">
<body>
<p begin="00:00:12.000" end="00:00:15.300">First line of the song.</p>
<p begin="00:00:15.300" end="00:00:18.000">Second line.<br/>Second line, translated.</p>
<p begin="00:00:18.000" end="00:00:21.500"></p>
<p begin="00:00:21.500" end="00:00:23.500">Final line.</p> </body>
</tt>
In deze uitvoer gaat timing verloren: de eindattributen zijn uit de volgende regel afgeleid. De tekst en de groepering blijven gelijk.
Dezelfde omzetting op een weerbarstige invoer
Invoer
[ar:Some Artist]
[0:05.5]Leading zero omitted, one decimal.
[00:07]Second with no centiseconds.
[00:03.00]Out of order.
[00:07.00][00:09.00]Repeated chorus line.
[00:12.00]Uitvoer
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling">
<body>
<p begin="00:00:03.000" end="00:00:05.500">Out of order.</p>
<p begin="00:00:05.500" end="00:00:07.000">Leading zero omitted, one decimal.</p>
<p begin="00:00:07.000" end="00:00:09.000">Second with no centiseconds.<br/>Repeated chorus line.</p>
<p begin="00:00:09.000" end="00:00:12.000">Repeated chorus line.</p>
<p begin="00:00:12.000" end="00:00:14.000"></p> </body>
</tt>
Gemengde regeleinden, losse spaties en lege velden zijn bij echte bestanden heel gewoon. Vergelijk dit met het nette voorbeeld hierboven om te zien wat de parser vergeeft.
Veelgestelde vragen
Hoe krijgt een LRC-regel in de TTML-uitvoer een eindtijd?
Uit de start van de volgende regel — dezelfde regel die een songtekstspeler aanhoudt. Alleen de laatste regel heeft geen volgende en krijgt de duur die je hier instelt.
Hoe ziet de TTML-uitvoer eruit als LRC daar naartoe gaat?
Elke ondertitel is een p-element met begin en eind, binnen een body. Boven het document staat een XML-declaratie; cue-nummers bestaan in TTML niet.
Hoe komt een LRC-blok van twee regels in TTML terecht?
Als twee tekstregels met een br/-tag ertussen, de TTML-manier om een harde regelafbreking te schrijven. De regels blijven binnen hetzelfde p-element.
Blijft de volgorde van LRC-blokken in TTML gelijk?
Ja, de p-elementen worden op starttijd gesorteerd: vroegste eerst. Een bestand dat niet op volgorde stond, wordt hier rechtgezet; de tekst zelf verandert niet.
Kan ik TTML weer naar LRC omzetten?
Ja, met een eigen lijst: TTML naar LRC verliest timing, opmaak, positionering, precisie en formaateigen inhoud. Die lijst wijkt af van de lijst hierboven omdat TTML meer kan bewaren dan LRC.
Blijft de tekencodering van het LRC-bestand in TTML behouden?
Nee, de uitvoer is UTF-8 met Unix-regeleinden en zonder byteordemarkering, wat het LRC-bestand ook gebruikte. Een UTF-16-bestand of een Windows-codering wordt bij het inlezen gedecodeerd; de TTML-uitvoer is altijd dezelfde.