Naar de hoofdinhoud
SubtitleMatrix

CSV naar LRC

Of plak ondertiteltekst

Wat deze conversie verandert

2 dingen vervallen of vragen om een beslissing

  • Timing

    de eindtijden van blokken (het uitvoerformaat legt alleen vast wanneer een blok begint)

  • Nauwkeurigheid

    tijdprecisie — de klok van de uitvoer is grover, dus elke tijdstempel wordt afgerond op de dichtstbijzijnde 10 ms

Deze lijst komt uit de capaciteitenmatrix voor deze twee formaten, niet uit het bestand dat je hebt geladen. Een specifiek bestand kan meer verliezen wanneer het kenmerken gebruikt die het formaat toestaat maar de matrix niet modelleert.

Deze pagina zet CSV om naar LRC. Je sleept een bestand naar het vak of plakt de tekst erin, en je krijgt de LRC-versie terug. De conversie draait volledig in je browser: er wordt niets geüpload en je hebt geen account nodig.

Deze twee formaten bewaren niet hetzelfde, en het verschil is niet cosmetisch: timing en de fijnere tijdsaanduiding hebben in LRC geen plek. De lijst hierboven komt uit wat beide formaten kunnen uitdrukken, niet uit jouw bestand, dus het antwoord is hetzelfde vóór je iets laadt.

Eén bestand kan, een heel seizoen ook: de wachtrij werkt ze in volgorde af en levert één ZIP op.

Voorbeelden

Een typisch CSV-bestand, omgezet naar LRC

Invoer

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."

Uitvoer

[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.

In deze uitvoer gaan timing en de fijnere tijdsaanduiding verloren. Al het andere komt rij voor rij overeen.

Dezelfde conversie op een rommelige invoer

Invoer

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.

Uitvoer

[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.

Zo zien echte tabellen er vaak uit: een kopregel met andere namen, een tijdcode zonder aanhalingstekens, een lege cel. Vergelijk het met het nette voorbeeld hierboven om te zien wat de parser vergeeft.

Veelgestelde vragen

Wat gebeurt er met de eindtijd van elk CSV-blok in LRC?

LRC legt alleen vast wanneer een regel begint en niets anders — een songtekstspeler houdt een regel in beeld tot de volgende begint, dus een eindtijd zou overbodig zijn. Elk einde vervalt en elke CSV-start blijft ongewijzigd.

Waarom zijn de tijdstempels van CSV naar LRC verschoven?

LRC bewaart tijd als [00:04.12] waar CSV 00:00:04.126 schrijft — een honderdste tegen een duizendste van een seconde — dus elke tijdcode wordt op de dichtstbijzijnde 10 ms afgerond: uit 00:00:04,126 wordt 4,13 seconden. Niets wordt uitgerekt of herordend en geen blok verschuift meer dan 5 ms, maar als je deze ondertitels tegen een ander bestand uitlijnt, is dit de enige plek waar de conversie niet meer exact is.

Hoe ziet de uitvoer eruit als CSV LRC wordt?

Als LRC: geen bloknummers, maar elke regel met een eigen tijdstempel tussen vierkante haken. Elk CSV-blok wordt één LRC-blok, in dezelfde volgorde en met dezelfde tekst.

Hoe komt een CSV-blok van twee regels in LRC terecht?

Als twee regels met tijdstempel die dezelfde tijd dragen, want zo zegt LRC dat ze bij elkaar horen. Het paar blijft bij elkaar: de twee CSV-regels horen in de LRC-uitvoer nog steeds bij één ondertitel, en een speler toont ze samen.

Behouden CSV-blokken hun volgorde in de LRC-uitvoer?

Ja, en ze worden onderweg op starttijd gesorteerd: vroegste eerst, zoals elk formaat hier ze verwacht en zoals spelers ze lezen. Stond jouw CSV niet in volgorde, dan zet de LRC-uitvoer de blokken weer netjes achter elkaar. Dat is een structurele ingreep, geen inhoudelijke, en ze is bewust.

Kan ik de LRC terug naar CSV omzetten?

Ja, en die richting heeft een eigen lijst: LRC naar CSV verliest timing. Die lijst verschilt van de lijst hierboven, omdat beide formaten andere dingen bewaren.

Blijft de tekencodering van het CSV-bestand behouden in de LRC-uitvoer?

Nee. De uitvoer is UTF-8 met Unix-regeleinden en zonder BOM, wat het CSV-bestand ook gebruikte. Een bestand in UTF-16 of in een Windows-codering met één byte wordt bij het inlezen gedecodeerd (het resultaatpaneel zegt het als dat gebeurt); wat eruit komt is altijd dezelfde UTF-8-LRC.

Gerelateerde hulpmiddelen