Ir para o conteúdo principal
SubtitleMatrix

Formato de legenda ASS

Conversão de formatosAdvanced SubStation Alpha (ASS)

O que este formato consegue expressar

Estilo do texto
Fontes, cor, contorno, sombra
Posição na tela
Sim
Sincronização karaokê
Sim
Quebras de linha dentro de um bloco
Sim
Linha do tempo
Hora de início e de término para cada bloco
Resolução dos tempos
10 ms
Tempos guardados como números de quadro
Não
Texto da direita para a esquerda
Sim

Exemplos

Um arquivo ASS comum e o que se lê dele

Arquivo

[Script Info]
Title: Example
ScriptType: v4.00+
WrapStyle: 0

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
Style: Title,Arial,36,&H0000FFFF,&H000000FF,&H00000000,&H00000000,-1,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello there.
Dialogue: 0,0:00:05.00,0:00:08.50,Default,,0,0,0,,{\i1}Italic{\i0} and {\b1}bold{\b0} text.
Dialogue: 0,0:00:09.00,0:00:12.00,Title,,0,0,0,,{\pos(320,240)}Positioned
Dialogue: 0,0:00:13.00,0:00:16.00,Default,,0,0,0,,{\k50}ka{\k30}ra{\k20}o{\k10}ke
Dialogue: 0,0:00:17.00,0:00:20.00,Default,,0,0,0,,Line one\NLine two
Dialogue: 1,0:00:21.00,0:00:24.00,Default,,0,0,0,,{\an7}Top left

O que ele contém

6 cues, 7 lines of text

  0:00:01.00 → 0:00:04.00
    Hello there.
    [Default]
  0:00:05.00 → 0:00:08.50
    Italic and bold text.   [italic ×1, bold ×1]
    [Default]
  0:00:09.00 → 0:00:12.00
    Positioned
    [Title; \pos 320,240]
  0:00:13.00 → 0:00:16.00
    karaoke   [karaoke ×4]
    [Default]
  0:00:17.00 → 0:00:20.00
    Line one
    Line two
    [Default]
  0:00:21.00 → 0:00:24.00
    Top left
    [Default]

Outside the cues:
  sections   [Script Info], [V4+ Styles], [Events]
  style table  2 — Default (Arial 20), Title (Arial 36)

O lado direito não é um arquivo convertido — é o que este site extrai do lado esquerdo: as seções do script, a tabela de estilo e o que cada evento traz além do texto.

Um arquivo ASS problemático e o que ainda se lê dele

Arquivo

[Script Info]
; 一份真实的脏文件:BOM + CRLF + 认不出的覆写码 + Comment + 坏时间码
Title: Dirty sample
ScriptType: v4.00+

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,1,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1

[Fonts]
fontname: Arial
!!!!!!!!!!!!!!!!!!!!!!!!!!!!

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Comment: 0,0:00:00.00,0:00:01.00,Default,,0,0,0,,这是一条注释,不该变成字幕
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello, world
Dialogue: 0,0:00:05.00,0:00:08.00,Default,,0,0,0,,{\fad(300,300)}Unmodelled override
Dialogue: 0,0:00:09.00,0:00:12.00,Default,,0,0,0,,{\an7\pos(320,240)}Both, wrong order
Dialogue: 0,0:00:13.00,0:00:16.5,Default,,0,0,0,,One decimal centisecond
Dialogue: 0,0:00:17.00,0:00:20.00,Default,,0,0,0,,Soft\nbreak
Dialogue: 0,0:00:xx.00,0:00:24.00,Default,,0,0,0,,Broken timecode

O que ele contém

5 cues, 6 lines of text

  0:00:01.00 → 0:00:04.00
    Hello, world
    [Default]
  0:00:05.00 → 0:00:08.00
    {\fad(300,300)}Unmodelled override
    [Default]
  0:00:09.00 → 0:00:12.00
    Both, wrong order
    [Default; \pos 320,240]
  0:00:13.00 → 0:00:16.50
    One decimal centisecond
    [Default]
  0:00:17.00 → 0:00:20.00
    Soft
    break
    [Default]

Outside the cues:
  sections   [Script Info], [V4+ Styles], [Fonts], [Events]
  style table  1 — Default (Arial 20)
  events     1 Comment: line — stored, never displayed

Reported while reading — repaired or skipped, never silently:
  1 × events whose time codes could not be read (they were left in the file unchanged)

Scripts reais chegam com BOM, fim de linha do Windows, uma linha de comentário que não é legenda ou um carimbo com um decimal só. Nada disso lança erro, e o que não é compreendido é informado.

Converter Advanced SubStation Alpha (ASS) para outro formato

Cada uma destas roda inteiramente no seu navegador. Os rótulos dizem o que aquela direção custa antes de você abri-la.

Converter ASS em SSA no navegador: nada se perde nesta direção.

Nada se perde nesta direção — cada recurso do formato de origem tem para onde ir no formato de destino.

Converter ASS em TXT: perde tempos, estilo, posição, karaokê, quebras e campos próprios.
  • Tempos
  • Estilo
  • Posição
  • Karaokê
  • Quebras de linha
  • Conteúdo específico do formato

Convertendo para este formato

Advanced SubStation Alpha (ASS) é um dos formatos de legenda que este site trata, e esta página é a sua referência: o que ele guarda, o que não guarda e uma página para cada formato ao qual dá para convertê-lo.

O ASS é um script, não uma lista de blocos: tem [Script Info], uma tabela de estilo, uma seção de eventos e, às vezes, fontes e imagens embutidas. Guarda posição, contorno, sombra e karaokê por sílaba — mais do que qualquer outro formato desta lista. A tabela acima é o todo; quando uma linha diz não, é exatamente o que se perde ao converter para ASS.

Todas essas conversões rodam no navegador. Nada é enviado e nenhuma conta é necessária, o que importa para material sob NDA, prontuário de paciente ou embargo de emissora.

Perguntas frequentes

O que é um script ASS?

Um arquivo de texto dividido em seções: [Script Info] com metadados, [V4+ Styles] com a tabela de estilo, [Events] com as linhas Dialogue e, opcionalmente, [Fonts] e [Graphics] com anexos. Player nenhum desenha um Dialogue sem consultar a tabela de estilo.

O ASS guarda karaokê?

Guarda, e é um dos poucos formatos que guarda: os códigos \k, \kf e \ko marcam quando cada sílaba deve acender. Nenhum formato de bloco desta lista tem como registrar um instante dentro de uma linha.

O que o ASS guarda que o SRT não guarda?

Praticamente tudo o que se refere a desenho: fonte, corpo, cores de texto e contorno, sombra, margens, posição e karaokê. O SRT guarda texto e dois tempos; o ASS guarda o texto e as instruções para desenhá-lo.

Para que formatos posso converter ASS sem perder nada?

Só para SSA nesta lista: os dois são dialetos da mesma linguagem. Toda outra direção perde alguma família, porque os demais formatos não modelam estilo, posição ou karaokê do mesmo jeito — e cada página abaixo lista a própria perda.

Os anexos [Fonts] e [Graphics] são legendas?

Não. São recursos para o renderizador — a fonte que o script espera e imagens que ele desenha — e não texto exibido. Ao converter para qualquer formato que não seja o ASS, eles são descartados, e o relatório de perdas os menciona.

Um ASS pode ser editado à mão?

Pode, mas é fácil quebrar: a posição dos campos numa linha Dialogue é fixa e definida pelo formato da seção [Events], e a tabela de estilo define quantas colunas cada linha tem. Um campo a mais desalinha o resto da linha.