LRC naar SMI
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 SMI, het SAMI-formaat van Windows Media. SAMI werkt met SYNC-momenten: elk blok begint met een tijd in milliseconden en de tekst staat in een P-element. Omdat een nieuw SYNC-moment het vorige vervangt, schrijft de omzetting na elk blok ook een leeg P-element.
LRC levert alleen starttijden. De SMI-uitvoer vult het einde aan met de start van de volgende regel en gebruikt voor de laatste regel de duur van deze pagina. Regels met hetzelfde tijdstempel worden één blok met twee tekstregels, gescheiden door een br-tag.
De kop van het LRC-bestand heeft in SMI geen plek; titel, artiest en offset verdwijnen en staan in het verliesoverzicht. De omzetting draait in je browser, zonder upload; meerdere bestanden komen als één ZIP terug.
Voorbeelden
Een gewoon LRC-bestand, omgezet naar SMI
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
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=12000>
<P>First line of the song.
<SYNC Start=15300>
<P>
<SYNC Start=15300>
<P>Second line.<br>Second line, translated.
<SYNC Start=18000>
<P>
<SYNC Start=18000>
<P>
<SYNC Start=21500>
<P>
<SYNC Start=21500>
<P>Final line.
<SYNC Start=23500>
<P>
</BODY>
</SAMI>
In deze uitvoer gaat timing verloren: de SYNC-momenten zijn uit de tijdstempels en de volgende regel opgebouwd. De tekst blijft 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
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=3000>
<P>Out of order.
<SYNC Start=5500>
<P>
<SYNC Start=5500>
<P>Leading zero omitted, one decimal.
<SYNC Start=7000>
<P>
<SYNC Start=7000>
<P>Second with no centiseconds.<br>Repeated chorus line.
<SYNC Start=9000>
<P>
<SYNC Start=9000>
<P>Repeated chorus line.
<SYNC Start=12000>
<P>
<SYNC Start=12000>
<P>
<SYNC Start=14000>
<P>
</BODY>
</SAMI>
Gemengde regeleinden, losse spaties en lege velden komen in echte bestanden voor. Vergelijk dit met het nette voorbeeld hierboven om te zien wat de parser vergeeft.
Veelgestelde vragen
Hoe krijgt een LRC-regel in de SMI-uitvoer een eindtijd?
Uit de start van de volgende regel; zo werkt ook de highlight in een songtekstspeler. Alleen de laatste regel heeft geen volgende en krijgt de duur die je op deze pagina instelt.
Hoe ziet de SMI-uitvoer eruit als LRC daar naartoe gaat?
Elk blok is een SYNC Start=…-tag met de tekst in een P eronder. Direct daarna volgt een P met , zodat het scherm weer leeg is voordat het volgende blok begint.
Hoe komt een LRC-blok van twee regels in SMI terecht?
Als twee tekstregels met een br-tag ertussen — de manier waarop SAMI een harde regelafbreking schrijft. De regels blijven in hetzelfde SYNC-blok staan.
Blijft de volgorde van LRC-blokken in SMI gelijk?
Ja, de blokken worden op starttijd gesorteerd: vroegste eerst. Stond het LRC-bestand niet in volgorde, dan zet de SMI-uitvoer het recht; de tekst verandert daarbij niet.
Kan ik SMI weer naar LRC omzetten?
Ja, met een eigen verlieslijst: SMI naar LRC verliest timing, opmaak, positionering, precisie en formaateigen inhoud. Die lijst wijkt af van de lijst hierboven omdat de formaten andere constructies hebben.
Blijft de tekencodering van het LRC-bestand in SMI 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 SMI-uitvoer is altijd hetzelfde.