Hopp til hovedinnhold
SubtitleMatrix

SBV til LRC

Eller lim inn underteksttekst

Hva denne konverteringen endrer

2 ting slippes eller trenger en avgjørelse

  • Tider

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

  • Presisjon

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

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.

Her konverteres en SBV-fil til LRC i nettleseren: du slipper inn en fil — eller limer inn teksten — og får LRC-utdataen tilbake.

Det er en reell forskjell på SBV og LRC: sluttidene forsvinner, fordi LRC bare lagrer når en linje starter — spilleren holder linjen oppe til neste linje begynner; den siste desimalen forsvinner, fordi klokken i LRC runder hvert tidsstempel til nærmeste 10 ms.

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

En hel sesong med SBV-filer går gjennom LRC-konverteringen i én kjøring: hver fil behandles for seg, du kan avbryte underveis, og resultatene lastes ned som én ZIP.

Fordi SBV-til-LRC-konverteringen kjører lokalt i nettleseren, forlater filen din aldri maskinen.

Eksempler

En typisk SBV-fil konvertert til LRC

Inndata

0:00:01.000,0:00:03.500
The quick brown fox.

0:00:04.000,0:00:06.250
Jumps over the lazy dog.

0:00:07.000,0:00:09.000
Two lines here.
And a second one.

Resultat

[00:01.00]The quick brown fox.
[00:04.00]Jumps over the lazy dog.
[00:07.00]Two lines here.
[00:07.00]And a second one.

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

Samme SBV-til-LRC-konvertering med vanskelig inndata

Inndata

0:00:02.000,0:00:04.000
Carriage-return line endings.

	0:00:06.000,0:00:08.000
Indented timecode, no final newline.

Resultat

[00:02.00]Carriage-return line endings.
[00:06.00]Indented timecode, no final newline.

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

Ofte stilte spørsmål

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

Dette: sluttidene forsvinner, fordi LRC bare lagrer når en linje starter — spilleren holder linjen oppe til neste linje begynner; den siste desimalen forsvinner, fordi klokken i LRC runder hvert tidsstempel til nærmeste 10 ms. På kildesiden har SBV tekstblokker med start- og sluttid og innebygde tagger; 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 SBV til LRC?

En tid i SBV ser slik ut: `0:00:01.000,0:00:03.500` — start og slutt med komma imellom. 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 SBV en sluttid i LRC?

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

Hva skjer med formateringen fra SBV i LRC?

Verken SBV eller LRC har en stiltabell, men SBV kan ha innebygde tagger i teksten. LRC skriver rå tekst, så de innebygde taggene for fet, kursiv og farge blir bare vanlige tegn.

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

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

Kan jeg konvertere LRC tilbake til SBV, 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 SBV → LRC, fordi de to formatene beholder ulike ting.

Beholder LRC plasseringen som SBV beskriver?

Verken SBV eller LRC har en posisjonsmodell, så det er ingenting å miste: hver tekstblokk havner der spilleren setter den.

Relaterte verktøy