Saltar al contenido principal
SubtitleMatrix

Convertir LRC a TTML

O pega el texto de los subtítulos

Opciones

Se usa cuando el origen no tiene horas de fin (texto plano, LRC). La línea de tiempo del resultado se genera aquí en lugar de convertirse, así que este número es el que obtienes.

Qué cambia esta conversión

1 cosa se descarta o requiere una decisión

  • Tiempos

    las horas de fin de los bloques: el origen no las registra, así que las del resultado se generarán en lugar de convertirse

Esta lista proviene de la matriz de capacidades de estos dos formatos, no del archivo concreto que has cargado. Un archivo específico puede perder más si usa características que el formato permite pero que la matriz no modela.

Esta página convierte un archivo LRC de letras en TTML. Arrastra el archivo o pega el texto y obtienes el documento XML; todo se ejecuta en el navegador, sin subir nada ni registrarte.

El único dato que se pierde es la sincronización del final. LRC solo registra cuándo empieza una línea; TTML exige un atributo end para cada <p>, así que ese valor se toma del inicio de la línea siguiente y la última línea recibe la duración que indiques. El resultado lo informa. Varias líneas con la misma marca entre corchetes se convierten en un bloque con <br/> entre ellas, y los inicios se conservan al milisegundo.

Un archivo o una temporada: la cola procesa en orden y los resultados se descargan juntos en un solo ZIP.

Ejemplos

Un archivo LRC típico convertido a TTML

Entrada

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

Resultado

<?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>

En esta salida se pierde: sincronización. Todo lo demás coincide línea por línea.

La misma conversión con una entrada difícil

Entrada

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

Resultado

<?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>

Es el tipo de daño que traen los archivos reales: finales de línea mezclados, espacios sueltos, campos vacíos. Compáralo con el ejemplo limpio de arriba para ver qué perdona el analizador.

Preguntas frecuentes

¿Cómo recibe un fin de bloque cada línea LRC al convertirla a TTML?

LRC no guarda finales: solo el inicio de cada línea. TTML pide un atributo end para cada <p>, así que ese valor se toma del inicio de la línea siguiente, y la última línea recibe la duración que indiques en la página. El resultado lo informa, para que no confundas un fin copiado con uno que estaba en el archivo.

¿Cómo se ve la salida cuando un LRC se convierte en TTML?

Como TTML: sin números de bloque. Cada subtítulo es un elemento <p> con atributos begin y end, anidado en un <body>, con una declaración XML encima del documento. Cada línea LRC se convierte en un bloque TTML, en el mismo orden y con el mismo texto.

¿Qué ocurre con dos líneas LRC con la misma marca al pasar a TTML?

Se convierten en un bloque con las dos líneas separadas por <br/>, que es como TTML representa un salto de línea duro. En LRC esa marca compartida significa que el original y su traducción van juntos, y la salida respeta esa intención en lugar de crear dos bloques para el mismo instante.

¿Se conserva el orden de las líneas LRC en la salida TTML?

Sí, y de paso se ordenan por hora de inicio: primero la más temprana, que es lo que esperan todos los formatos de este sitio y cómo los leen los reproductores. Si tu archivo LRC traía las líneas desordenadas, la salida TTML las devuelve al orden; es un cambio en la estructura del archivo, no en su contenido, y es deliberado.

¿Puedo convertir el TTML resultante de vuelta a LRC?

Sí, y esa dirección tiene su propia lista: al convertir TTML a LRC se pierden el fin de cada bloque y la posición. Esa lista es distinta de la de arriba porque los dos formatos guardan cosas diferentes.

¿La salida TTML mantiene la codificación del archivo LRC?

No: la salida es UTF-8, con finales de línea Unix y sin marca de orden de bytes, sea cual sea la codificación del archivo LRC. Un archivo que llega en UTF-16 o en una codificación mono byte de Windows se decodifica al entrar (el panel de resultados lo indica cuando ocurre); lo que sale es siempre el mismo TTML en UTF-8.

Herramientas relacionadas