SSubToolDesk
pt

Como Extrair Texto Limpo de Arquivos de Legenda SRT ou VTT

Tirar o diálogo simples de um arquivo de legenda parece trivial até você se deparar com números de cue, timestamps e frases cortadas no meio. Veja como fazer isso corretamente.

Arquivos de legenda armazenam três coisas entrelaçadas: um número de índice, um intervalo de tempo e o texto propriamente dito. Se tudo que você quer é o texto (para uma citação de blog, um artigo, um índice de busca, ou para alimentar outra ferramenta), a cronometragem e a numeração são só ruído que você precisa remover.

A abordagem manual, e onde ela quebra

Um find-and-replace rápido com uma regex para linhas de timestamp (\d{2}:\d{2}:\d{2}[,.]\d{3}\s*-->\s*...) resolve o caso óbvio. Onde isso falha:

  • Números de cue que parecem texto. Uma linha que é só 42 sozinha pode ser um índice de cue, ou, raramente, parte do diálogo real (um personagem lendo um número em voz alta). A remoção simplista nem sempre consegue diferenciar isso de forma confiável em escala.
  • Frases divididas entre cues. As legendas são divididas em blocos para legibilidade na tela (aproximadamente uma linha a cada poucos segundos), não por gramática. Uma única frase rotineiramente se estende por dois ou três cues consecutivos. Remover as linhas de cronometragem sem reunir os fragmentos deixa você com pedaços de frases desconexos e truncados em vez de prosa fluida.
  • Tags de formatação inline. <i>, <b>, e as tags de voz/cor do VTT (<v Speaker>, <c.colorname>) também precisam ser removidas, ou aparecerão como texto literal com colchetes angulares na sua saída.
  • Terminações de linha mistas. Arquivos exportados de ferramentas ou sistemas operacionais diferentes às vezes misturam \r\n e \n, o que pode quebrar padrões de regex que assumem um ou outro.

Como é um bom resultado

Um texto bem extraído se lê como prosa normal: frases completas, quebras de parágrafo onde há pausas naturais, nenhum número ou fragmento de timestamp solto, nenhuma marcação sobrando. O objetivo é um documento que pareça como se alguém tivesse simplesmente transcrito o diálogo desde o início, sem nenhum traço do formato de legenda de onde veio.

Fazendo isso sem a limpeza manual

Nosso conversor de SRT para TXT (e o correspondente conversor de VTT para TXT) cuida de tudo isso automaticamente: números de cue e timestamps removidos, tags removidas, frases que foram divididas entre cues reunidas em parágrafos coerentes. Ele funciona inteiramente no seu navegador, então nada do arquivo é enviado para lugar nenhum.

Converter SRT para TXT