Zum Hauptinhalt springen
SubtitleMatrix

SMI in LRC umwandeln

Oder Untertiteltext einfügen

Was diese Konvertierung ändert

5 Sachen entfallen oder brauchen eine Entscheidung

  • Zeitangaben

    die Endzeiten der Untertitelblöcke (das Ausgabeformat zeichnet nur auf, wann ein Block beginnt)

  • Formatierung

    die gesamte Formatierung (Fett, Kursiv, Farbe, Kontur, Schatten)

  • Positionierung

    die Positionierung auf dem Bildschirm (jeder Block kehrt an die Standardposition zurück)

  • Genauigkeit

    Zeitgenauigkeit — die Uhr der Ausgabe ist gröber, jeder Zeitstempel wird also auf die nächsten 10 ms gerundet

  • Formatspezifischer Inhalt

    Inhalt, den das Quellformat außerhalb seiner Blöcke führt (Nicht-Block-Abschnitte, Kopftext, Einstellungen pro Block, auskommentierte Ereignisse) — das Zielformat hat keinen Platz dafür

Diese Liste stammt aus der Fähigkeitsmatrix für diese beiden Formate, nicht aus der konkreten Datei, die Sie geladen haben. Eine bestimmte Datei kann mehr verlieren, wenn sie Merkmale nutzt, die das Format erlaubt, die Matrix aber nicht modelliert.

Diese Seite konvertiert SMI nach LRC. Datei hineinziehen oder Text einfügen — zurück kommt die LRC-Fassung. Die Konvertierung läuft vollständig im Browser, ohne Upload und ohne Konto.

LRC ist ein Liedtextformat und damit die ärmste Zielform dieser Seite: Eine Zeile beginnt zu einem Zeitpunkt, mehr braucht sie nicht. Deshalb verlieren SMI-Dateien hier die Endzeiten, die Stile aus dem `<STYLE>`-Block, die Positionierung, die Präzision (LRC speichert Hundertstel) und die SAMI-eigenen Konstruktionen. Übrig bleiben Text und Startzeit.

Eine Datei ist kein Problem, eine ganze Staffel auch nicht: Die Warteschlange arbeitet sie der Reihe nach ab, und die Ergebnisse kommen gemeinsam als eine ZIP-Datei.

Beispiele

Eine typische SMI-Datei, nach LRC konvertiert

Eingabe

<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial; }
.ENCC { Name: English; lang: en-US; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P Class=ENCC>Hello there.
<SYNC Start=3000>
<P Class=ENCC>&nbsp;
<SYNC Start=3500>
<P Class=ENCC>How are you?<br>Fine, thanks.
<SYNC Start=6000>
<P Class=ENCC>&nbsp;
</BODY>
</SAMI>

Ausgabe

[00:01.00]Hello there.
[00:03.50]How are you?
[00:03.50]Fine, thanks.

Verloren in dieser Ausgabe: Endzeiten, Stile, Positionierung, Präzision und SAMI-eigene Konstruktionen. Der Text bleibt.

Dieselbe Konvertierung mit einer unordentlichen Eingabe

Eingabe

<SAMI>
<HEAD>
<TITLE>Episode 1</TITLE>
<STYLE TYPE="text/css">
<!--
.ENCC { Name: English; }
-->
</STYLE>
</HEAD>
<BODY>
<sync start="00:00:02,500">
<P Class=ENCC>Line one<br>Line two
<sync start=9000>
<P Class=ENCC>Tom &amp; Jerry
<SYNC Start=12000>
<P Class=ENCC>&nbsp;
</BODY>
</SAMI>

Ausgabe

[00:02.50]Line one
[00:02.50]Line two
[00:09.00]Tom &amp; Jerry

So sehen echte Schäden aus — gemischte Zeilenenden, verirrte Leerzeichen, leere Felder. Im Vergleich zum sauberen Beispiel oben wird sichtbar, was der Parser verzeiht.

Häufige Fragen

Was passiert bei SMI nach LRC mit den Endzeiten?

Sie fallen weg: LRC notiert nur den Beginn einer Zeile, ein Ende wäre für einen Liedtext-Player redundant. Ein SMI-Block endet dort, wo der nächste `<SYNC>` beginnt; in LRC bleibt nur der Start übrig.

Warum haben sich bei SMI nach LRC die Zeitstempel verschoben?

LRC speichert Zeit als `[00:04.12]`, SMI als `Start=4126` — Hundertstel gegen Tausendstel —, also wird jeder Zeitcode auf die nächsten 10 ms gerundet: aus 4126 Millisekunden werden 4,13 Sekunden. Nichts wird gestreckt oder umsortiert, und kein Block wandert um mehr als 5 ms.

Was geht bei SMI nach LRC von den Stilen verloren?

Alles: LRC kennt keine Schrift, keine Farbe und keine Klasse. Die Regeln, die `<STYLE>` für `Class=ENCC` vergibt, kommen nicht an, und der Text erscheint ohne sie. Dasselbe gilt für die Positionierung aus den CSS-Klassen.

Wie kommt ein zweizeiliger SMI-Block in LRC an?

Als zwei Zeitstempelzeilen mit derselben Zeit — so sagt LRC, dass die beiden zusammengehören. Das `<br>` der SMI-Datei verschwindet dabei, die beiden Zeilen bleiben aber ein Paar.

Behalten SMI-Blöcke in der LRC-Ausgabe ihre Reihenfolge?

Ja, und sie werden unterwegs nach Startzeit sortiert — der früheste zuerst. War die SMI-Datei ungeordnet, stellt LRC die Reihenfolge wieder her; das ist eine Änderung der Struktur, nicht des Inhalts.

Lässt sich LRC wieder nach SMI konvertieren?

Ja, und diese Richtung hat ihre eigene Liste: LRC nach SMI verliert die Zeitachse, weil LRC nur Startpunkte kennt. Eine SMI-Datei braucht dagegen keinen Endzeitpunkt — der nächste `<SYNC>` beendet den Block.

Verwandte Werkzeuge