Ir para o conteúdo principal
SubtitleMatrix

Converter SSA para LRC

Conversão de formatosSubStation Alpha (SSA)
Ou cole o texto da legenda

O que esta conversão altera

5 coisas são descartadas ou precisam de uma decisão

  • Tempos

    as horas de término dos blocos (o formato de saída só registra quando um bloco começa)

  • Estilo

    todo o estilo (negrito, itálico, cor, contorno, sombra)

  • Posição

    a posição na tela (cada bloco volta à posição padrão)

  • Karaokê

    a sincronização karaokê (destaque por sílaba)

  • Conteúdo específico do formato

    conteúdo que o formato de origem guarda fora de seus blocos (blocos que não são cue, texto de cabeçalho, configurações por bloco, eventos comentados) — o formato de destino não tem lugar para ele

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 SSA em LRC. Arraste um arquivo — ou cole o texto — e receba de volta a versão LRC. A conversão roda inteiramente no seu navegador, então nada é enviado e não é preciso criar conta.

Os dois formatos não guardam as mesmas coisas, e a diferença não é cosmética: tempo, estilo, posicionamento, karaokê e conteúdo específico do formato não têm onde ficar no LRC, que registra apenas o instante em que cada linha começa. A lista acima vem do que cada formato consegue expressar, não do seu arquivo, então a resposta é a mesma antes de você carregar qualquer coisa.

Um arquivo só está ótimo, e uma temporada inteira também: a fila processa na ordem, você pode parar no meio e os resultados descem juntos num único ZIP.

Exemplos

Um arquivo SSA típico, convertido para LRC

Entrada

[Script Info]
Title: Example SSA
ScriptType: v4.00
Collisions: Normal

[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1

[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: Marked=0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello there.
Dialogue: Marked=0,0:00:05.00,0:00:08.00,Default,,0,0,0,,{\i1}Italic{\i0} line.
Dialogue: Marked=0,0:00:09.00,0:00:12.00,Default,,0,0,0,,Two\Nlines

Saída

[ti:Example SSA]
[00:01.00]Hello there.
[00:05.00]Italic line.
[00:09.00]Two
[00:09.00]lines

Perdidos nesta saída: tempo, estilo, posicionamento, karaokê e conteúdo específico do formato. Todo o resto bate linha por linha.

A mesma conversão num arquivo problemático

Entrada

[Script Info]
Title: Dirty SSA
ScriptType: v4.00

[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1

[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Comment: Marked=0,0:00:00.00,0:00:01.00,Default,,0,0,0,,not a subtitle
Dialogue: Marked=0,0:00:01.00,0:00:04.00,Default,,0,0,0,,{\b1}Bold{\b0} and {\u1}underlined{\u0}.
Dialogue: Marked=0,0:00:05.00,0:00:08.00,Default,,0,0,0,,A soft\nbreak and a {\p1}mystery{\p0} code.

Saída

[ti:Dirty SSA]
[00:01.00]Bold and underlined.
[00:05.00]A soft
[00:05.00]break and a {\p1}mystery{\p0} code.

É o tipo de dano que arquivos reais têm — fim de linha misturado, espaço solto, campo vazio. Compare com o exemplo organizado acima para ver o que o analisador perdoa.

Perguntas frequentes

O que acontece com o horário de fim de cada bloco SSA?

O LRC registra quando uma linha começa e nada mais — um reprodutor de letras mantém a linha até a próxima começar, então um horário de fim seria redundante. Todo fim é descartado e todo início SSA fica intocado.

O que acontece com negrito, itálico e cor de SSA para LRC?

O LRC não guarda estilo de espécie alguma, então tudo isso vai embora: uma tag de override como `{\i1}` escrita no texto do evento, ou uma cor que veio da tabela `[V4 Styles]` — nada tem onde cair, e cada linha é escrita como texto puro. As palavras em si não são tocadas.

O que acontece com a posição na tela de SSA para LRC?

O LRC não sabe dizer onde uma legenda é desenhada, então os códigos `\pos`, `\an` e `\move` são descartados na saída do SSA, e cada bloco volta à posição padrão que o reprodutor escolhe — para a maioria deles, a parte de baixo do quadro, centralizada.

O que acontece com o karaokê de SSA para LRC?

O tempo vai embora; as palavras ficam. O karaokê vive nos códigos `\k`, `\kf` e `\ko` que um evento SSA carrega, marcando quando cada sílaba acende, e o LRC não tem como registrar um instante dentro de uma linha — então as marcas saem e as sílabas chegam como texto comum de LRC.

O que acontece com o bloco `[Script Info]` do SSA quando o arquivo vira LRC?

Cada linha `Dialogue:` do script SSA vira uma linha de letra, e o título atravessa como tag `[ti:]`. Todo o resto vai embora: a tabela de estilos, as demais chaves de `[Script Info]`, eventuais linhas `Comment:` e tudo o que estiver embutido em `[Fonts]` ou `[Graphics]`. O LRC não tem o conceito de script, só de linhas e do instante em que começam.

Como fica a saída quando SSA vira LRC?

Como LRC: sem números de bloco: cada linha carrega o próprio carimbo entre colchetes. Cada bloco SSA vira um bloco LRC, na mesma ordem e com o mesmo texto.

Como sai um bloco SSA de duas linhas no LRC?

Como duas linhas com carimbo carregando o mesmo horário, que é como o LRC diz que as duas andam juntas. O par sobrevive — as duas linhas SSA ainda pertencem a uma legenda só na saída LRC, e o reprodutor mostra as duas juntas.

Os blocos SSA mantêm a ordem na saída LRC?

Mantêm, e são ordenados pelo horário de início no caminho — o mais cedo primeiro, que é como todo formato daqui espera e como os reprodutores leem. Se o seu arquivo SSA listava os blocos fora de sequência, a saída LRC os põe em ordem; isso muda a estrutura do arquivo, não o conteúdo, e é de propósito.

Dá para converter o LRC de volta para SSA?

Dá, e essa direção tem lista própria: converter LRC para SSA perde o tempo. A lista é diferente da acima porque os dois formatos guardam coisas diferentes.

A saída LRC preserva a codificação do arquivo SSA?

Não — a saída é UTF-8, com fim de linha Unix e sem marca de ordem de bytes, seja qual for a codificação do arquivo SSA. Um arquivo em UTF-16 ou numa codificação Windows de um byte é decodificado na entrada (o painel de resultado avisa quando isso acontece); o que sai é sempre o mesmo LRC em UTF-8.

Ferramentas relacionadas