Muunna LRC muotoon JSON
Tai liitä tekstityksen teksti
Asetukset
Käytetään, kun lähteessä ei ole loppuaikoja (pelkkä teksti, LRC). Tuotoksen aikajana luodaan tässä eikä muunneta, joten saat juuri tämän luvun.
Mitä tämä muunnos muuttaa
1 asia pudotetaan tai vaatii päätöksen
- Ajoitus
alaotsikoiden loppuajat — lähde ei tallenna niitä, joten tuotoksen loppuajat luodaan eikä muunneta
Tämä luettelo tulee näiden kahden muodon kyvykkyysmatriisista, ei lataamastasi tiedostosta. Tietty tiedosto voi menettää enemmän, jos se käyttää ominaisuuksia, jotka muoto sallii mutta matriisi ei mallinna.
Sivulla LRC muuttuu JSONiksi. Kun LRC muunnetaan JSONiksi, lähtöformaatti tallentaa yhden alaotsikon muotoon yksi aikaleimattu tekstirivi, ja aika kirjoitetaan muodossa [00:12.00]. Kohdeformaatti JSON tallentaa saman asian muotoon cues-taulukon alkio, jossa on start-, end- ja lines-kentät, ja aika kirjoitetaan muodossa {"start": 1000, "end": 3500}, kun lähde on LRC. Molemmilla puolilla ovat samat sanat, mutta LRC ja JSON merkitsevät ne eri tavalla.
Tässä suunnassa LRC-tiedostosta putoaa alaotsikoiden loppuajat, jotka joudutaan laskemaan, kun se muunnetaan JSONiksi. Kun LRC muunnetaan JSONiksi, alkukohdat ovat oikeita, mutta loppuajat lasketaan seuraavasta rivistä ja viimeinen saa oletuskeston. Luettelo on näkyvissä ennen kuin valitset LRC-tiedoston, ja se tarkentuu JSON-muunnoksen lukemisen jälkeen.
Eräajossa LRC-tiedostot jonottuvat ja valmistuvat yksi kerrallaan; keskeytys toimii kesken JSON-muunnoksen ja tulokset pakataan yhdeksi ZIP-tiedostoksi. Mitään ei lähetetä palvelimelle: koko LRC-muunnos JSONiksi tapahtuu omalla koneellasi.
Esimerkit
LRC-tiedosto ja sen tulos JSONissa
Syöte
[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.Tuotos
{
"version": 1,
"title": "Sample Song",
"cues": [
{
"start": 12000,
"end": 15300,
"lines": [
"First line of the song."
]
},
{
"start": 15300,
"end": 18000,
"lines": [
"Second line.",
"Second line, translated."
]
},
{
"start": 18000,
"end": 21500,
"lines": [
""
]
},
{
"start": 21500,
"end": 23500,
"lines": [
"Final line."
]
}
]
}
Tästä LRC → JSON -tulosteesta puuttuvat loppuajat. Kaikki muu vastaa rivi riviltä.
Sama LRC → JSON -muunnos rikkinäisellä lähdetiedostolla
Syöte
[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]Tuotos
{
"version": 1,
"cues": [
{
"start": 3000,
"end": 5500,
"lines": [
"Out of order."
]
},
{
"start": 5500,
"end": 7000,
"lines": [
"Leading zero omitted, one decimal."
]
},
{
"start": 7000,
"end": 9000,
"lines": [
"Second with no centiseconds.",
"Repeated chorus line."
]
},
{
"start": 9000,
"end": 12000,
"lines": [
"Repeated chorus line."
]
},
{
"start": 12000,
"end": 14000,
"lines": [
""
]
}
]
}
LRC- ja JSON-tiedostot ovat usein sekaisin: ylimääräisiä rivejä, tyhjiä kenttiä ja aikoja, joita ei voi lukea. LRC-jäsennin ei kaadu vaan korjaa minkä voi ja kertoo loput raportissa, jonka JSON saa mukanaan.
Usein kysytyt kysymykset
Miten aika siirtyy LRC:stä JSONiin?
LRC kirjoittaa ajan muodossa [00:12.00]: minuutit, sekunnit ja sadasosat hakasulkeissa, vain alkukohta. JSON käyttää muotoa {"start": 1000, "end": 3500}, eli kokonaislukuina millisekunteina. LRC:ssä on vain alkukohta, joten JSON joutuu laskemaan jokaisen loppuajan seuraavan rivin alusta ja antamaan viimeiselle oletuskeston.
Mitä LRC:stä menetetään, kun siitä tehdään JSON?
Kun LRC muunnetaan JSONiksi, menetettävää on alaotsikoiden loppuajat, jotka joudutaan laskemaan. Kun LRC muunnetaan JSONiksi, alkukohdat ovat oikeita, mutta loppuajat lasketaan seuraavasta rivistä ja viimeinen saa oletuskeston. Alaotsikoiden teksti ja keskinäinen järjestys säilyvät.
Entä lihavointi, kursivointi ja väri – säilyvätkö ne LRC:stä JSONiin?
Lähdeformaatti LRC ei tunne rivinsisäisiä tageja, joten JSON ei saa siirrettyä minkäänlaista rivinsisäistä muotoilua: LRC-tiedoston teksti on pelkkää tekstiä.
Miten LRC-tiedoston moniriviset alaotsikot käyttäytyvät JSONissa?
Monirivisen alaotsikon rivit erotetaan LRC:ssä antamalla jokaiselle riville oman aikaleiman, ja JSON merkitsee ne lines-taulukon erillisinä alkioina. JSON:ssa rivit ovat lines-taulukon alkioita, joten rakenne säilyy täsmälleen. LRC:ssä jokainen rivi on oma aikaleimattu rivinsä, joten alaotsikon rajaa ei ole.
Mistä JSON saa alaotsikoiden loppuajat, kun lähde on LRC?
LRC tallentaa vain alkukohdan sadasosan tarkkuudella. JSON laskee jokaisen alaotsikon loppuajan seuraavan rivin alusta ja antaa viimeiselle riville oletuskeston, joten loppuajat ovat arvioita eivätkä peräisin tiedostosta.
Toimiiko paluumuunnos JSONista LRC:hen samalla tavalla?
Kyllä, mutta paluusuunnassa menetettävää on: alaotsikoiden loppuajat, dokumenttitason tyylit: fontit, koot, värit, ääriviivat ja varjot, sijoittelu ruudulla, karaoken ajoitus ja aikojen tarkkuus. Kun JSON muunnetaan LRC:ksi, loppuaika johdetaan seuraavan rivin alusta ja viimeinen rivi saa oletuskeston. Edestakainen matka LRC:stä JSONiin ja takaisin ei palauta sitä, mitä ensimmäinen muunnos pudotti.
Voinko muuntaa koko kauden LRC:stä JSONiin yhdellä ajolla?
Kyllä. Jono käsittelee LRC-tiedostot yksi kerrallaan, ajon voi keskeyttää milloin tahansa ja tulokset tulevat yhtenä ZIP-tiedostona. Jokainen JSON-tiedosto kirjoitetaan selaimessa, joten mitään ei lähetetä palvelimelle; yksittäinen tekstitystiedosto saa olla enintään 64 Mt.