Naar de hoofdinhoud
SubtitleMatrix

SSA naar LRC

FormaatconversieSubStation Alpha (SSA)
Of plak ondertiteltekst

Wat deze conversie verandert

5 dingen vervallen of vragen om een beslissing

  • Timing

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

  • Opmaak

    alle opmaak (vet, cursief, kleur, contour, schaduw)

  • Positionering

    positionering op het scherm (elk blok keert terug naar de standaardpositie)

  • Karaoke

    karaoke-timing (markering per lettergreep)

  • Formaatspecifieke inhoud

    inhoud die het bronformaat buiten zijn blokken bewaart (blokken die geen ondertitel zijn, koptekst, instellingen per blok, uitgecommentarieerde gebeurtenissen) — het doelformaat heeft er geen plek voor

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 SSA om naar LRC. Sleep een bestand naar binnen — of plak de tekst — en je krijgt de LRC-versie terug. De conversie draait volledig in je browser, dus er wordt niets geüpload en je hebt geen account nodig.

De twee formaten bewaren niet dezelfde dingen, en het verschil is niet cosmetisch: timing, stijl, positie, karaoke en formaateigen constructies hebben in LRC geen plek. De lijst hierboven komt uit wat beide formaten kunnen uitdrukken, niet uit jouw bestand; het antwoord is dus hetzelfde voordat je iets laadt.

Eén bestand kan, een heel seizoen ook: de wachtrij werkt ze op volgorde af en de resultaten komen samen als één ZIP binnen.

Voorbeelden

Een typisch SSA-bestand, omgezet naar LRC

Invoer

[Script Info]
Title: Example SSA
ScriptType: v4.00
Collisions: Normal

[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1

[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: Marked=0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello there.
Dialogue: Marked=0,0:00:05.00,0:00:08.00,Default,,0,0,0,,{\i1}Italic{\i0} line.
Dialogue: Marked=0,0:00:09.00,0:00:12.00,Default,,0,0,0,,Two\Nlines

Uitvoer

[ti:Example SSA]
[00:01.00]Hello there.
[00:05.00]Italic line.
[00:09.00]Two
[00:09.00]lines

Verloren in deze uitvoer: timing, stijl, positie, karaoke en formaateigen constructies. Alles wat overblijft klopt regel voor regel.

Dezelfde omzetting op een weerbarstige invoer

Invoer

[Script Info]
Title: Dirty SSA
ScriptType: v4.00

[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1

[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Comment: Marked=0,0:00:00.00,0:00:01.00,Default,,0,0,0,,not a subtitle
Dialogue: Marked=0,0:00:01.00,0:00:04.00,Default,,0,0,0,,{\b1}Bold{\b0} and {\u1}underlined{\u0}.
Dialogue: Marked=0,0:00:05.00,0:00:08.00,Default,,0,0,0,,A soft\nbreak and a {\p1}mystery{\p0} code.

Uitvoer

[ti:Dirty SSA]
[00:01.00]Bold and underlined.
[00:05.00]A soft
[00:05.00]break and a {\p1}mystery{\p0} code.

Zo ziet schade in echte bestanden eruit — gemengde regeleinden, losse spaties, lege velden. Vergelijk dit met het nette voorbeeld hierboven om te zien wat de parser vergeeft.

Veelgestelde vragen

Wat gebeurt er met de eindtijd van elk SSA-blok?

LRC legt alleen vast wanneer een regel begint — een songtekstspeler laat een regel staan tot de volgende begint, dus een eindtijd zou overbodig zijn. Elke eindtijd verdwijnt en elke SSA-start blijft onaangeroerd.

Wat gebeurt er met vet, cursief en kleur van SSA naar LRC?

LRC bewaart helemaal geen stijl, dus alles gaat weg: een override-tag als \i1 in de regeltekst, of een kleur uit de [V4 Styles]-tabel — niets ervan heeft een plek, en elke regel wordt als platte tekst geschreven. De woorden zelf blijven ongewijzigd.

Wat gebeurt er met de positie op het scherm van SSA naar LRC?

LRC kan niet zeggen waar een ondertitel wordt getekend. De codes \pos, \an en \move verdwijnen bij het verlaten van SSA, en elk blok valt terug op de standaardpositie die de speler kiest — meestal onderaan het beeld en gecentreerd.

Wat gebeurt er met karaoketiming van SSA naar LRC?

De timing gaat, de woorden blijven. Karaoke zit in de codes \k, \kf en \ko van een SSA-regel, die markeren wanneer elke lettergreep oplicht. LRC kan geen moment binnen een regel vastleggen, dus de markeringen gaan eraf en de lettergrepen komen als gewone LRC-tekst aan.

Wat gebeurt er met het blok [Script Info] als het bestand LRC wordt?

Elke Dialogue:-regel in het SSA-script wordt een songtekstregel, en de titel komt mee als [ti:]-tag. De rest gaat weg: de stijltabel, de overige sleutels uit [Script Info], alle Comment:-regels en wat in [Fonts] of [Graphics] zit. LRC kent geen script, alleen regels en het moment waarop ze beginnen.

Hoe ziet de uitvoer eruit als SSA LRC wordt?

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

Hoe komt een SSA-blok van twee regels in LRC uit?

Als twee tijdgestempelde regels met dezelfde tijd, wat in LRC betekent: deze twee horen bij elkaar. Het paar blijft bij elkaar: de twee SSA-regels horen in de LRC-uitvoer nog steeds bij één ondertitel, en een speler toont ze samen.

Blijven SSA-blokken in dezelfde volgorde in LRC staan?

Ja, en ze worden onderweg op starttijd gesorteerd — vroegste eerst, de volgorde die elke speler verwacht. Stond je SSA-bestand niet in volgorde, dan zet de LRC-uitvoer het recht; dat raakt de structuur, niet de inhoud, en het is bewust gedaan.

Kan ik de LRC weer naar SSA omzetten?

Ja, en die richting heeft haar eigen lijst: LRC naar SSA verliest timing, want LRC kent geen eindtijden. Die lijst verschilt van de lijst hierboven omdat beide formaten andere dingen bewaren.

Behoudt de LRC-uitvoer de tekencodering van het SSA-bestand?

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

Gerelateerde hulpmiddelen