CSV 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.
Denne siden konverterer CSV til LRC: slipp inn en fil eller lim inn teksten, og du får LRC-versjonen tilbake med tekstblokkene fra CSV i behold.
Konverteringen fra CSV til LRC mister noe, og det er verd å vite hva: 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 CSV og LRC kan uttrykke, ikke fra filen din, så svaret er det samme før du laster opp noe.
En enkelt CSV-fil går like fint som hundre, så du kan sende hele sesongen gjennom LRC-konverteringen og laste ned alt som én ZIP.
Arbeidet med CSV til LRC skjer i nettleseren din — ingen server ser filen.
Eksempler
En typisk CSV-fil konvertert til LRC
Inndata
start,end,text
00:00:01.000,00:00:03.500,The quick brown fox.
00:00:04.000,00:00:06.250,"Jumps over, the lazy dog."
00:00:07.000,00: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 CSV-til-LRC-konvertering med vanskelig inndata
Inndata
id,start,end,note,text
1,00:00:01,000,00:00:04,000,cue one,"Hello there, friend."
2,00:00:05.000,00:00:07.000,cue two,Second line.
bad,notatime,00:00:09.000,cue three,Unreadable start.
4,00:00:10.000,00:00:09.000,cue four,End before start.
5,00:00:12.000,00:00:14.000,cue five,Unquoted comma in text, right here.
Resultat
[00:01.00]Hello there, friend.
[00:05.00]Second line.
[00:10.00]End before start.
[00:12.00]Unquoted comma in text, right here.
Slik ser skader på ekte filer ut — blandede linjeskift, løse mellomrom, tomme felt. Sammenlign med det ryddelige eksempelet over for å se hva CSV-parseren tilgir.
Ofte stilte spørsmål
Hva går tapt når CSV 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 CSV rader med start, slutt og tekst i millisekunder; 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 CSV til LRC?
En tid i CSV ser slik ut: `00:00:01.000` i en `start`- eller `end`-kolonne. 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 CSV en sluttid i LRC?
LRC har ingen sluttid: en spiller holder linjen oppe til neste linje begynner. Derfor skrives CSV-tekstblokken som en starttid med hundredels presisjon, og sluttiden kastes — den er en opplysning CSV har som LRC ikke kan lagre.
Hva skjer med formateringen fra CSV i LRC?
Verken CSV eller LRC har en stiltabell, men CSV 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 CSV?
LRC har metadata-tagger som `[ti:]` og `[ar:]`, deretter én tidsstemplet linje per sanglinje. Konverteringen fra CSV fyller den formen: hver tekstblokk blir én LRC-blokk, i samme rekkefølge, med CSV-ens tekst delt i de samme linjene.
Kan jeg konvertere LRC tilbake til CSV, 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 CSV → LRC, fordi de to formatene beholder ulike ting.
Beholder LRC plasseringen som CSV beskriver?
Verken CSV eller LRC har en posisjonsmodell, så det er ingenting å miste: hver tekstblokk havner der spilleren setter den.