Ir para o conteúdo principal
SubtitleMatrix

Converter LRC para TTML

Ou cole o texto da legenda

Opções

Usada quando a origem não tem horas de término (texto simples, LRC). A linha do tempo do resultado é gerada aqui em vez de convertida, então este número é o que você obtém.

O que esta conversão altera

1 coisa é descartada ou precisa de uma decisão

  • Tempos

    as horas de término dos blocos — a origem não as registra, então as da saída serão geradas em vez de convertidas

Esta lista vem da matriz de capacidades destes dois formatos, não do arquivo específico que você carregou. Um arquivo específico pode perder mais se usar recursos que o formato permite mas a matriz não modela.

Esta página converte LRC em TTML. Arraste um arquivo ou cole o texto e receba a versão TTML de volta. A conversão roda inteiramente no navegador, então nada é enviado e não há cadastro.

O TTML grava legendas como um documento XML, com um <p> por cue e atributos begin e end. O LRC não tem end, então o conversor usa o carimbo seguinte e deixa a última linha com a duração configurada. A saída começa com a declaração XML e o elemento <tt> declara os namespaces padrão e de estilos; como o LRC não traz estilo nem posição, não há tabelas <styling> ou <layout>.

Um bloco de duas linhas vira um <p> com <br/> entre elas. O título e o offset são lidos conforme o cabeçalho do LRC, sem deslocar os tempos. A fila aceita vários arquivos e entrega tudo em um ZIP.

Exemplos

Um arquivo LRC típico, convertido para 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.

Saída

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

Perdido nesta saída: tempo. O resto corresponde linha a linha.

A mesma conversão em uma entrada problemática

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]

Saída

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

É o tipo de dano que arquivos reais trazem — fins de linha misturados, espaços soltos, campos vazios. Compare com o exemplo organizado acima para ver o que o leitor tolera.

Perguntas frequentes

Como o TTML expressa o fim de uma linha do LRC?

Cada linha vira um elemento <p> com begin e end. O end é o begin da linha seguinte; a última linha usa a duração configurada na página, porque não há carimbo posterior.

O TTML gerado tem declaração XML e namespaces?

Sim: a saída começa com <?xml version="1.0" encoding="UTF-8"?> e o elemento <tt> declara os namespaces padrão e de estilos. Os <p> ficam dentro de <body>.

As linhas duplicadas do LRC viram dois <p> no TTML?

Não. Elas viram um <p> com as duas linhas separadas por <br/>, preservando a ideia de que original e tradução aparecem no mesmo momento.

O TTML recebe alguma região ou estilo a partir do LRC?

Não. O LRC não tem estilos nem posições, então a saída usa apenas <p> com begin e end, sem <styling>, <layout> ou atributos region.

O título e o offset do LRC sobrevivem no TTML?

O título pode ser levado como metadado quando o destino o comporta; o offset é lido e preservado, não aplicado. O processamento é local, em lote, sem enviar o arquivo.

Ferramentas relacionadas