Convertire LRC in TTML
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.
TTML è il formato timed text in XML usato dalle pipeline broadcast e streaming: ogni sottotitolo è un elemento `<p>` con gli attributi `begin` ed `end`, dentro un `<body>`. Questa pagina converte LRC in TTML nel browser, senza caricare file e senza account.
Poiché LRC non registra la fine di una riga, la conversione la ricava dall’inizio della riga seguente e assegna all’ultima la durata impostata sulla pagina. Le righe con lo stesso timestamp restano un solo cue, con un `<br/>` fra le due righe nel paragrafo XML. La dimensione che si perde è la temporizzazione, perché gli estremi non erano nel file.
L’elenco in cima nasce dal confronto fra le capacità dei due formati, quindi non dipende dal file caricato e non cambia. Il documento prodotto ha la dichiarazione XML e i namespace TTML. L’elaborazione in blocco restituisce un solo ZIP.
Esempi
Un file LRC tipico, convertito in TTML
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
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling">
<body>
<p begin="00:00:12.000" end="00:00:15.300">First line of the song.</p>
<p begin="00:00:15.300" end="00:00:18.000">Second line.<br/>Second line, translated.</p>
<p begin="00:00:18.000" end="00:00:21.500"></p>
<p begin="00:00:21.500" end="00:00:23.500">Final line.</p> </body>
</tt>
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
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling">
<body>
<p begin="00:00:03.000" end="00:00:05.500">Out of order.</p>
<p begin="00:00:05.500" end="00:00:07.000">Leading zero omitted, one decimal.</p>
<p begin="00:00:07.000" end="00:00:09.000">Second with no centiseconds.<br/>Repeated chorus line.</p>
<p begin="00:00:09.000" end="00:00:12.000">Repeated chorus line.</p>
<p begin="00:00:12.000" end="00:00:14.000"></p> </body>
</tt>
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 TTML?
Dall’inizio della riga successiva. Il paragrafo TTML richiede sia `begin` sia `end`, quindi la fine viene calcolata con la regola del lettore di testi; l’ultima riga non ha un seguito e usa la durata impostata sulla pagina.
Che aspetto ha l’output quando LRC diventa TTML?
Ha l’aspetto del TTML: nessun numero di cue, ogni sottotitolo è un elemento `<p>` con gli attributi `begin` ed `end`, annidato in un `<body>`, con la dichiarazione XML sopra l’intero documento. Ogni cue LRC diventa un cue TTML, nello stesso ordine e con lo stesso testo.
Come esce in TTML un cue LRC su due righe?
Come due righe separate da `<br/>`, che è il modo in cui il TTML scrive un a capo forzato. L’accoppiamento resta: le due righe LRC appartengono ancora a un solo sottotitolo nell’output TTML, e il lettore le mostra insieme.
I cue LRC mantengono l’ordine nell’output TTML?
Sì, e vengono ordinati per tempo di inizio lungo la strada: prima i più antichi, come si aspetta ogni formato di questo sito. Se il file LRC elencava i cue fuori sequenza, il TTML li rimette in ordine: è la struttura del file a cambiare, non il contenuto.
Posso riconvertire il TTML in LRC?
Sì, e ha un elenco suo: convertire TTML 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 TTML 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 TTML in UTF-8.