Andare al contenuto principale
SubtitleMatrix

Convertire LRC in SMI

Conversione dei formatiTesti di canzoni (LRC)
Oppure incollare il testo dei sottotitoli

Opzioni

Usata quando la sorgente non ha orari di fine (testo semplice, LRC). La timeline dell’uscita è qui generata anziché convertita, quindi è questo numero che si otterrà.

Cosa cambia questa conversione

1 elemento viene scartato o richiede una decisione

  • Temporizzazione

    gli orari di fine dei blocchi — la sorgente non li registra, quindi quelli dell’uscita saranno generati anziché convertiti

Questo elenco deriva dalla matrice delle capacità di questi due formati, non dal particolare file caricato. Un file specifico può perdere di più se usa caratteristiche che il formato consente ma la matrice non modella.

SMI, noto anche come SAMI, è il formato che i vecchi lettori web usano per sincronizzare il testo con il video: ogni cue è un tag `<SYNC Start=…>` con il testo in un `<P>`. Questa pagina converte LRC in SMI interamente nel browser.

La fine di ogni riga LRC non è nel file, quindi si ricava dall’inizio della riga seguente, mentre l’ultima riceve la durata impostata sulla pagina. Le righe con lo stesso timestamp diventano un solo cue, e nell’SMI restano due righe separate da `<br>`. Poiché un `<SYNC>` sostituisce ciò che è a schermo, l’output inserisce anche un blocco `<P>&nbsp;` per svuotare la schermata. La dimensione che si perde è la temporizzazione.

L’elenco in cima viene dalle capacità dei due formati, non dal file, e resta identico per ogni conversione. Più file alla volta sono ammessi e il risultato è un unico ZIP.

Esempi

Un file LRC tipico, convertito in SMI

Ingresso

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

Uscita

<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=12000>
<P>First line of the song.
<SYNC Start=15300>
<P>&nbsp;
<SYNC Start=15300>
<P>Second line.<br>Second line, translated.
<SYNC Start=18000>
<P>&nbsp;
<SYNC Start=18000>
<P>
<SYNC Start=21500>
<P>&nbsp;
<SYNC Start=21500>
<P>Final line.
<SYNC Start=23500>
<P>&nbsp;
</BODY>
</SAMI>

In questa conversione si perde la temporizzazione. Tutto il resto resta identico, riga per riga.

La stessa conversione su un input difficile

Ingresso

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

Uscita

<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=3000>
<P>Out of order.
<SYNC Start=5500>
<P>&nbsp;
<SYNC Start=5500>
<P>Leading zero omitted, one decimal.
<SYNC Start=7000>
<P>&nbsp;
<SYNC Start=7000>
<P>Second with no centiseconds.<br>Repeated chorus line.
<SYNC Start=9000>
<P>&nbsp;
<SYNC Start=9000>
<P>Repeated chorus line.
<SYNC Start=12000>
<P>&nbsp;
<SYNC Start=12000>
<P>
<SYNC Start=14000>
<P>&nbsp;
</BODY>
</SAMI>

Questo è un file reale, non un esempio pulito: BOM, fine riga di Windows e righe fuori ordine. Il confronto con l’esempio qui sopra dice che cosa viene corretto e che cosa viene solo segnalato.

Domande frequenti

Come ottiene una fine, una riga LRC convertita in SMI?

Dall’inizio della riga seguente: è la regola del lettore di testi, che tiene la riga finché non ne comincia un’altra. L’ultima riga non ha seguito e riceve la durata impostata sulla pagina, quindi anche il suo tag `<SYNC>` ha una fine coerente.

Che aspetto ha l’output quando LRC diventa SMI?

Ha l’aspetto dell’SMI: nessun numero di cue e nessuna riga di timecode. Ogni cue è un tag `<SYNC Start=…>` con il testo in un `<P>`, seguito da un blocco `<P>&nbsp;` che riporta lo schermo a vuoto. Ogni cue LRC diventa un cue SMI, nello stesso ordine e con lo stesso testo.

Come esce in SMI un cue LRC su due righe?

Come due righe separate da `<br>`, che è il modo in cui SAMI scrive un a capo forzato. L’accoppiamento resta: le due righe LRC appartengono ancora a un solo sottotitolo nell’output SMI, e il lettore le mostra insieme.

I cue LRC mantengono l’ordine nell’output SMI?

Sì, e lungo la strada vengono ordinati per tempo di inizio: prima i più antichi, come si aspetta ogni formato di questo sito. Se il file LRC elencava i cue fuori sequenza, l’SMI li rimette in ordine: è la struttura del file a cambiare, non il contenuto.

Posso riconvertire l’SMI in LRC?

Sì, e ha un elenco suo: convertire SMI in LRC perde temporizzazione, formattazione, posizionamento, precisione e contenuti specifici del formato. Quell’elenco è diverso da quello qui sopra perché i due formati conservano cose diverse.

L’output SMI conserva la codifica del file LRC?

No: l’output è UTF-8, con fine riga Unix e senza BOM, qualunque codifica usasse il file LRC. Un file in UTF-16 o in una codifica a byte singolo di Windows viene decodificato in ingresso, e il pannello lo segnala; ciò che esce è sempre lo stesso SMI in UTF-8.

Strumenti correlati