Hopp til hovedinnhold
SubtitleMatrix

SMI til LRC

Eller lim inn underteksttekst

Hva denne konverteringen endrer

5 ting slippes eller trenger en avgjørelse

  • Tider

    tekstblokkenes sluttider (resultatformatet registrerer bare når en tekstblokk starter)

  • Formatering

    all formatering (fet, kursiv, farge, kontur, skygge)

  • Plassering

    plassering på skjermen (hver tekstblokk går tilbake til standardposisjonen)

  • Presisjon

    tidspresisjon — resultatets klokke er grovere, så hvert tidsstempel rundes av til nærmeste 10 ms

  • Formatspesifikt innhold

    innhold som kildeformatet oppbevarer utenfor tekstblokkene (blokker utenom tekstblokkene, topptekst, innstillinger per tekstblokk, kommenterte hendelser) — målformatet har ingen plass til det

Denne listen kommer fra egenskapsmatrisen for disse to formatene, ikke fra den bestemte filen du lastet inn. En bestemt fil kan miste mer hvis den bruker egenskaper formatet tillater, men matrisen ikke modellerer.

Denne siden konverterer SMI til LRC: slipp inn en fil eller lim inn teksten, og du får LRC-versjonen tilbake med tekstblokkene fra SMI i behold.

Forskjellen mellom SMI og LRC er ikke kosmetisk: sluttidene forsvinner, fordi LRC bare lagrer når en linje starter — spilleren holder linjen oppe til neste linje begynner; farge, omriss, skygge og marger forsvinner, og fet og kursiv finnes ikke som tagger i LRC, så bare teksten står igjen; plasseringen forsvinner, og hver tekstblokk faller tilbake til standardplassen; den siste desimalen forsvinner, fordi klokken i LRC runder hvert tidsstempel til nærmeste 10 ms; LRC har ingen plass til innholdet SMI oppbevarer utenfor tekstblokkene.

Listen over filboksen er regnet ut fra hva SMI og LRC kan uttrykke, ikke fra filen din, så svaret er det samme før du laster opp noe.

Du kan kjøre én SMI-fil eller en hel sesong til LRC i samme kjøring: filene behandles én om gangen, kjøringen kan avbrytes underveis, og alt kommer ned som én ZIP.

Konverteringen fra SMI til LRC skjer i nettleseren din, så ingenting lastes opp.

Eksempler

En typisk SMI-fil konvertert til LRC

Inndata

<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial; }
.ENCC { Name: English; lang: en-US; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P Class=ENCC>Hello there.
<SYNC Start=3000>
<P Class=ENCC>&nbsp;
<SYNC Start=3500>
<P Class=ENCC>How are you?<br>Fine, thanks.
<SYNC Start=6000>
<P Class=ENCC>&nbsp;
</BODY>
</SAMI>

Resultat

[00:01.00]Hello there.
[00:03.50]How are you?
[00:03.50]Fine, thanks.

Dette går tapt i utdataen: sluttidene, formatering, plassering, tidspresisjon og metadata. Starttidene beholdes med hundredels presisjon; sluttidene utledes fra neste linje.

Samme SMI-til-LRC-konvertering med vanskelig inndata

Inndata

<SAMI>
<HEAD>
<TITLE>Episode 1</TITLE>
<STYLE TYPE="text/css">
<!--
.ENCC { Name: English; }
-->
</STYLE>
</HEAD>
<BODY>
<sync start="00:00:02,500">
<P Class=ENCC>Line one<br>Line two
<sync start=9000>
<P Class=ENCC>Tom &amp; Jerry
<SYNC Start=12000>
<P Class=ENCC>&nbsp;
</BODY>
</SAMI>

Resultat

[00:02.50]Line one
[00:02.50]Line two
[00:09.00]Tom &amp; Jerry

Slik ser skader på ekte filer ut — blandede linjeskift, løse mellomrom, tomme felt. Sammenlign med det ryddelige eksempelet over for å se hva SMI-parseren tilgir.

Ofte stilte spørsmål

Hva går tapt når SMI blir LRC?

Dette: sluttidene forsvinner, fordi LRC bare lagrer når en linje starter — spilleren holder linjen oppe til neste linje begynner; farge, omriss, skygge og marger forsvinner, og fet og kursiv finnes ikke som tagger i LRC, så bare teksten står igjen; plasseringen forsvinner, og hver tekstblokk faller tilbake til standardplassen; den siste desimalen forsvinner, fordi klokken i LRC runder hvert tidsstempel til nærmeste 10 ms; LRC har ingen plass til innholdet SMI oppbevarer utenfor tekstblokkene. På kildesiden har SMI tekstblokker med start- og sluttid og grunnleggende formatering; på målsiden har LRC bare starttider med hundredels presisjon, og derfor kommer de nevnte tingene ikke med. Teksten og rekkefølgen kommer over.

Hvordan skrives tidsstemplene om fra SMI til LRC?

En tid i SMI ser slik ut: `<SYNC Start=4126>` — millisekunder. I LRC skrives den som `[00:04.12]` — hundredeler, og bare starttiden. LRC lagrer bare starttiden, så det finnes ingen sluttid i filen; spilleren holder linjen oppe til neste linje begynner. Rekkefølgen er den samme, og ingen tekstblokk flyttes mer enn avrundingen tilsier.

Hvordan får en tekstblokk fra SMI en sluttid i LRC?

LRC har ingen sluttid: en spiller holder linjen oppe til neste linje begynner. Derfor skrives SMI-tekstblokken som en starttid med hundredels presisjon, og sluttiden kastes — den er en opplysning SMI har som LRC ikke kan lagre.

Hva skjer med formateringen fra SMI i LRC?

Det som går tapt, er det SMI kan uttrykke ut over de innebygde taggene — `<STYLE>`-blokken og CSS-klassene. Selve taggene for fet, kursiv og farge faller også bort, fordi LRC skriver rå tekst.

Hvordan ser en LRC-fil ut når den er laget fra SMI?

LRC har metadata-tagger som `[ti:]` og `[ar:]`, deretter én tidsstemplet linje per sanglinje. Konverteringen fra SMI fyller den formen: hver tekstblokk blir én LRC-blokk, i samme rekkefølge, med SMI-ens tekst delt i de samme linjene.

Kan jeg konvertere LRC tilbake til SMI, og hva går tapt da?

Ja, og den veien har sin egen tap-liste: sluttidene blir genererte, fordi LRC ikke lagrer dem — de utledes fra neste linjes starttid. Det er ikke den samme listen som SMI → LRC, fordi de to formatene beholder ulike ting.

Beholder LRC plasseringen som SMI beskriver?

Nei. SMI kan plassere en tekstblokk på skjermen, men LRC har ingen posisjonsmodell, så hver tekstblokk faller tilbake til spillerens standardplass; posisjonen står i tap-listen.

Hva gjør LRC med en tekstblokk fra SMI som har flere linjer?

Den beholder linjene. SMI og LRC uttrykker begge flere linjer per tekstblokk, og konverteringen skriver linjeskiftet som flere tidsstemplede linjer med samme starttid i stedet for å slå sammen teksten.

Hva skjer med kommentarer og metadata i SMI når filen blir LRC?

SMI kan ha `<STYLE>`-blokken og kommentarer utenfor tekstblokkene. LRC har metadata-taggene i hodet: tittel, artist, lengde og offset; derfor registreres dette som tap, og det er tekstblokkene som kommer med videre.

Blir tidsstemplene nøyaktige i konverteringen fra SMI til LRC?

SMI har 1 ms oppløsning og LRC 10 ms, så hvert tidsstempel rundes til nærmeste 10 ms; en tekstblokk flyttes aldri mer enn 5 ms.

Relaterte verktøy