Konvertera JSON till LRC
Eller klistra in undertexttext
Vad den här konverteringen ändrar
5 saker tappas eller kräver ett beslut
- Tider
textblockens sluttider (utdataformatet registrerar bara när ett textblock börjar)
- Formatering
all formatering (fet, kursiv, färg, kontur, skugga)
- Positionering
positionering på skärmen (varje textblock återgår till standardpositionen)
- Karaoke
karaoketider (markering per stavelse)
- Precision
tidsprecision – utdatans klocka är grövre, så varje tidsstämpel avrundas till närmaste 10 ms
Den här listan kommer från kapacitetsmatrisen för de här två formaten, inte från den specifika fil du laddade. En viss fil kan förlora mer om den använder funktioner som formatet tillåter men matrisen inte modellerar.
Den här sidan konverterar en JSON-fil till LRC. JSON skriver tiden som ett heltal millisekunder, till exempel "start": 4126. LRC skriver en tidpunkt som [00:12.00], i minuter, sekunder och hundradelar. Ett JSON-textblock är ett objekt med start, end och text, samlade i en cues-lista. Ett LRC-textblock är en rad med en tidsstämpel i hakparentes följd av själva texten. LRC räknar i hundradels sekunder, alltså grövre än JSON; varje tid avrundas till närmaste 10 ms, och felet blir högst 5 ms.
Det som inte följer med: sluttiderna, formateringen, placeringen, karaoken och tidsprecisionen. Sluttiderna försvinner: LRC sparar bara när en rad börjar, och nästa rads start får bli den föregåendes slut. All formatering – fet, kursiv, färg, kontur och skugga – försvinner. Varje textblock återgår till standardpositionen. Karaoketiderna, som styr markeringen per stavelse, försvinner. Målformatets klocka är grövre: varje tid avrundas till närmaste 10 ms, och felet blir högst 5 ms. Rapporten ovanför filrutan listar förlusterna innan du väljer en fil, och räknar dem per fil när filen är inläst.
En fil eller en hel säsong: kön bearbetar filerna i tur och ordning, du kan avbryta mitt i och resultaten laddas ner tillsammans som en ZIP. Hela konverteringen sker i webbläsaren – filen lämnar aldrig datorn.
Exempel
En typisk JSON-fil konverterad till LRC
Indata
{
"version": 1,
"title": "Fixture: typical",
"fps": 25,
"styles": {
"Default": {
"name": "Default",
"fontFamily": "Arial",
"fontSize": 20,
"primaryColor": "#FFFFFF",
"bold": false,
"italic": false
}
},
"generator": "subtitlematrix fixtures",
"cues": [
{
"id": "1",
"start": 0,
"end": 2000,
"lines": [
"Hello world.",
"Second line."
],
"style": "Default",
"position": {
"x": 100,
"y": 200,
"align": "center"
}
},
{
"id": "2",
"start": 2500,
"end": 4000,
"lines": [
"Plain line.",
{
"text": "Styled line.",
"tags": [
{
"kind": "italic",
"start": 0,
"end": 6
}
]
}
]
},
{
"id": "3",
"start": 4500,
"end": 6000,
"lines": [
"Roger: I am here."
],
"speaker": "Roger"
}
]
}
Resultat
[ti:Fixture: typical]
[00:00.00]Hello world.
[00:00.00]Second line.
[00:02.50]Plain line.
[00:02.50]Styled line.
[00:04.50]Roger: I am here.
Förlorat i utdatafilen: sluttiderna, formateringen, placeringen, karaoken och tidsprecisionen. Jämför de två sidorna rad för rad.
Samma konvertering på en stökig fil
Indata
[
{ "start": 0, "end": 1000, "lines": ["First."] },
{ "start": 1000, "end": 2000, "text": "Second." },
"not an object",
{ "start": 2000, "end": 3000, "lines": ["Third."], "class": "top" }
]
Resultat
[00:00.00]First.
[00:01.00]Second.
[00:02.00]Third.
Så här ser skadade filer ut i verkligheten – blandade radbrytningar, lösa blanksteg och tomma fält. Jämför med det prydliga exemplet ovan för att se vad tolken förlåter.
Vanliga frågor
Hur skiljer sig tidskoderna i JSON och LRC?
JSON skriver tiden som ett heltal millisekunder, till exempel "start": 4126. LRC skriver en tidpunkt som [00:12.00], i minuter, sekunder och hundradelar. LRC räknar i hundradels sekunder, alltså grövre än JSON; varje tid avrundas till närmaste 10 ms, och felet blir högst 5 ms.
Vad förloras när en JSON-fil blir LRC?
När JSON blir LRC går sluttiderna, formateringen, placeringen, karaoken och tidsprecisionen förlorade. Sluttiderna försvinner: LRC sparar bara när en rad börjar, och nästa rads start får bli den föregåendes slut. All formatering – fet, kursiv, färg, kontur och skugga – försvinner. Varje textblock återgår till standardpositionen. Karaoketiderna, som styr markeringen per stavelse, försvinner. Målformatets klocka är grövre: varje tid avrundas till närmaste 10 ms, och felet blir högst 5 ms. Texten, ordningen och starttiderna följer med, avrundade.
Klarar LRC av formatering och placering som JSON har?
JSON bevarar hela modellen: stilar, placering, karaoke och strukturerade taggar. JSON sparar positionen som x, y och en justering. JSON sparar karaoketider som strukturerade taggar. LRC har ingen stildel; spelaren ritar raden med sin egen typografi. LRC har ingen placering i filen. LRC har ingen karaoke.
Vad händer med radbrytningar och antalet textblock när JSON konverteras till LRC?
JSON till LRC: Ett JSON-textblock är ett objekt med start, end och text, samlade i en cues-lista. JSON behåller hårda radbrytningar som en lista av rader. Flera rader med samma tidsstämpel bildar ett textblock med flera rader.
Laddas min JSON-fil upp när jag konverterar den till LRC?
Nej. Både inläsningen av JSON-filen och skrivningen av LRC-filen sker i webbläsaren; ingen del av texten, tiderna eller taggarna skickas i en förfrågan. Du kan lägga in en hel säsong, avbryta mitt i och ladda ner resultaten som en ZIP.