Convertire SMI in LRC
Oppure incollare il testo dei sottotitoli
Cosa cambia questa conversione
5 elementi vengono scartati o richiedono una decisione
- Temporizzazione
gli orari di fine dei blocchi (il formato di uscita registra solo quando un blocco inizia)
- Stile
tutto lo stile (grassetto, corsivo, colore, contorno, ombra)
- Posizionamento
il posizionamento sullo schermo (ogni blocco torna alla posizione predefinita)
- Precisione
la precisione della temporizzazione — l’orologio dell’uscita è più grossolano, quindi ogni timestamp è arrotondato al 10 ms più vicino
- Contenuto specifico del formato
il contenuto che il formato di partenza tiene fuori dai suoi blocchi (blocchi non-cue, testo di intestazione, impostazioni per blocco, eventi commentati) — il formato di destinazione non ha un posto per esso
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.
Questa pagina converte SAMI in LRC: trascini un file, o incolli il testo, e riottieni la versione LRC, quella dei testi sincronizzati riga per riga. La conversione gira nel browser e nessun file viene caricato.
I due formati condividono pochissimo: temporizzazione, stile, posizione, precisione e contenuti propri di SAMI non hanno posto in LRC. L’elenco qui sopra viene dalle capacità dichiarate dei formati, non dal contenuto del tuo file, quindi è identico prima e dopo il caricamento.
Un file va bene, e così un’intera stagione: la coda li elabora in ordine e i risultati arrivano insieme in un unico ZIP.
Esempi
Un file SAMI tipico, convertito in LRC
Ingresso
<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>
<SYNC Start=3500>
<P Class=ENCC>How are you?<br>Fine, thanks.
<SYNC Start=6000>
<P Class=ENCC>
</BODY>
</SAMI>
Uscita
[00:01.00]Hello there.
[00:03.50]How are you?
[00:03.50]Fine, thanks.
In questa uscita si perdono temporizzazione, stile, posizione, precisione e contenuti propri del formato. Tutto il resto corrisponde riga per riga.
La stessa conversione su un input disordinato
Ingresso
<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 & Jerry
<SYNC Start=12000>
<P Class=ENCC>
</BODY>
</SAMI>
Uscita
[00:02.50]Line one
[00:02.50]Line two
[00:09.00]Tom & Jerry
È il tipo di danno che i file reali hanno davvero — fine riga misti, spazi superflui, campi lasciati vuoti. Confrontalo con l’esempio ordinato qui sopra per vedere cosa il parser perdona.
Domande frequenti
Che fine fa il tempo di fine di ogni blocco SAMI?
LRC registra quando una riga comincia e nient’altro — un lettore di testi tiene una riga finché non parte la successiva, quindi un tempo di fine sarebbe ridondante. Ogni fine viene scartata e ogni inizio SAMI resta intatto.
Che fine fanno grassetto, corsivo e colore dal SAMI all’LRC?
LRC non conserva stile di nessun tipo, quindi se ne va tutto: un `<i>` o un `<font color="…">` scritto dentro il paragrafo, oppure una regola del blocco `<STYLE>` nella testata — niente ha un punto di atterraggio, e ogni riga viene scritta come testo semplice. Le parole in sé restano intatte.
Che fine fa la posizione sullo schermo da SAMI a LRC?
LRC non sa dire dove viene disegnato un sottotitolo, quindi gli attributi dei paragrafi e il CSS a cui rimandano cadono in uscita dal SAMI, e ogni blocco torna alla posizione predefinita scelta dal lettore — per la maggior parte, in basso al centro del fotogramma.
Perché i timestamp si spostano da SMI a LRC?
LRC misura il tempo al centesimo di secondo e lo scrive `[00:04.12]`, dove SAMI arriva al millisecondo con `Start=4126`. Ogni istante viene quindi arrotondato al centesimo più vicino — 4.126 ms diventano 4,12 secondi — e insieme all’arrotondamento sparisce il tempo di fine, che LRC non registra affatto. Nessun blocco si allontana di più di 5 ms dall’originale.
Che fine fanno il blocco `<STYLE>`, il `<TITLE>` e gli attributi `Class=` di SAMI nell’LRC?
Vengono scartati. LRC è una sequenza di righe con un timestamp fra parentesi quadre: non ha una testata in cui tenere il `<TITLE>`, non ha un foglio di stile in cui accogliere il CSS del blocco `<STYLE>` e non ha un modo di registrare il `Class=ENCC` che ogni paragrafo porta con sé. L’enfasi dentro il testo del paragrafo cade con loro, perché anche i tag `<i>` e `<font color="…">` non hanno un punto di atterraggio.
Che aspetto ha l’uscita quando SAMI diventa LRC?
Ha l’aspetto dell’LRC: nessun numero di blocco; ogni riga porta il proprio timestamp fra parentesi quadre. Ogni blocco SAMI diventa un blocco LRC, nello stesso ordine, con lo stesso testo.
Come esce in LRC un blocco SAMI su due righe?
Come due righe con timestamp che portano lo stesso orario, che è il modo in cui LRC dice «queste due stanno insieme». L’abbinamento sopravvive: le due righe SAMI appartengono ancora a un solo sottotitolo nell’uscita LRC, e il lettore le mostra insieme.
I blocchi SAMI mantengono l’ordine nell’uscita LRC?
Sì, e lungo la strada vengono ordinati per istante di inizio — prima il più antico, che è l’ordine atteso da ogni formato di questo sito e quello con cui i lettori li interpretano. Se il tuo file SMI elencava i blocchi fuori sequenza, l’uscita LRC li rimette in ordine: è un cambiamento nella struttura del file, non nel suo contenuto, ed è voluto.
Posso riconvertire l’LRC in SMI?
Sì, e ha un elenco suo: convertendo LRC in SMI si perde la temporizzazione. Quell’elenco è diverso da quello qui sopra perché i due formati conservano cose diverse.
L’uscita LRC conserva la codifica del file SMI?
No: l’uscita è UTF-8, con fine riga Unix e senza BOM, qualunque codifica usasse il file SMI. Un file che arriva in UTF-16, o in una codifica Windows a byte singolo, viene decodificato in ingresso (il pannello dei risultati lo segnala quando accade); quello che esce è sempre lo stesso LRC in UTF-8.