Andare al contenuto principale
SubtitleMatrix

Convertire ASS in LRC

Conversione dei formatiAdvanced SubStation Alpha (ASS)
Oppure incollare il testo dei sottotitoli

Cosa cambia questa conversione

5 elementi vengono scartati o richiedono una decisione

  • Temporizzazione

    gli orari di fine dei blocchi (il formato di uscita registra solo quando un blocco inizia)

  • Stile

    tutto lo stile (grassetto, corsivo, colore, contorno, ombra)

  • Posizionamento

    il posizionamento sullo schermo (ogni blocco torna alla posizione predefinita)

  • Karaoke

    la temporizzazione karaoke (evidenziazione per sillaba)

  • Contenuto specifico del formato

    il contenuto che il formato di partenza tiene fuori dai suoi blocchi (blocchi non-cue, testo di intestazione, impostazioni per blocco, eventi commentati) — il formato di destinazione non ha un posto per esso

Questo elenco deriva dalla matrice delle capacità di questi due formati, non dal particolare file caricato. Un file specifico può perdere di più se usa caratteristiche che il formato consente ma la matrice non modella.

Questa pagina converte un copione ASS in LRC, il formato dei testi sincronizzati. Si trascina un file — o si incolla il testo — e si ottiene la versione LRC, generata interamente nel browser, senza caricamenti e senza account.

I due formati non memorizzano le stesse cose. LRC registra solo quando una riga inizia, quindi ogni tempo di fine viene perso; non ha alcuno stile, quindi i codici di override e la tabella [V4+ Styles] spariscono, e con loro il posizionamento e i tempi del karaoke. Il titolo del copione ha invece un posto: diventa il tag [ti:]. Il resto di [Script Info], le righe Comment:, i caratteri in [Fonts] e i disegni in [Graphics] vengono scartati, perché LRC non ha il concetto di copione, solo di righe e del loro inizio.

Un file o una stagione intera, in coda, con un solo ZIP.

Esempi

Un file ASS tipico, convertito in LRC

Ingresso

[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

Uscita

[ti:Example]
[00:01.00]Hello there.
[00:05.00]Italic and bold text.
[00:09.00]Positioned
[00:13.00]karaoke
[00:17.00]Line one
[00:17.00]Line two
[00:21.00]Top left

In questo output si perdono: la sincronizzazione, lo stile, il posizionamento, il karaoke e i contenuti specifici del formato. Il resto corrisponde riga per riga.

La stessa conversione su un input irregolare

Ingresso

[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

Uscita

[ti:Dirty sample]
[00:01.00]Hello, world
[00:05.00]{\fad(300,300)}Unmodelled override
[00:09.00]Both, wrong order
[00:13.00]One decimal centisecond
[00:17.00]Soft
[00:17.00]break

Il copione irregolare ha una tabella di stile parziale e un evento senza testo: l’LRC riceve solo le righe leggibili, con il titolo nel tag [ti:].

Domande frequenti

Che fine fa il tempo di fine di ogni blocco ASS?

LRC registra solo quando una riga inizia: un lettore di testi tiene la riga finché non parte la successiva, quindi ogni tempo di fine viene scartato e ogni inizio ASS resta intatto.

Che fine fanno grassetto, corsivo e colore da ASS a LRC?

LRC non memorizza alcuno stile: un tag di override come `{\i1}` nel testo o un colore preso dalla tabella `[V4+ Styles]` non hanno dove atterrare, e ogni riga viene scritta in chiaro. Le parole restano intatte.

Che fine fa la posizione sullo schermo da ASS a LRC?

I codici `\pos`, `\an` e `\move` vengono scartati e ogni blocco torna alla posizione predefinita del lettore, in genere in basso al centro.

Che fine fa il karaoke da ASS a LRC?

Il tempo sparisce, le parole restano: `\k`, `\kf` e `\ko` non hanno posto in un formato che non registra istanti dentro una riga, e le sillabe arrivano come testo LRC normale.

Che fine fa [Script Info] quando il file diventa LRC?

Ogni riga `Dialogue:` diventa una riga di testo, e il titolo passa come tag `[ti:]`. Tutto il resto va: tabella di stile, altre chiavi di `[Script Info]`, righe `Comment:` e ciò che è incorporato in `[Fonts]` o `[Graphics]`. LRC non ha il concetto di copione, solo di righe e del loro inizio.

Che aspetto ha l’output quando ASS diventa LRC?

Ha l’aspetto di LRC: niente numeri di blocco, ogni riga porta il proprio tempo tra parentesi quadre. Ogni blocco ASS diventa un blocco LRC, nello stesso ordine.

Come esce un blocco ASS di due righe in LRC?

Come due righe con lo stesso tempo, il modo in cui LRC dice che vanno insieme. Le due righe restano un solo sottotitolo.

L’ordine degli eventi ASS resta nell’LRC?

Sì, e prima di scrivere le righe vengono ordinate per inizio: un copione non cronologico diventa un LRC in sequenza. Cambia l’ordine nel file, non il contenuto.

Posso riconvertire l’LRC in ASS?

Sì, e quella direzione ha una lista propria: da LRC ad ASS si perdono i tempi di fine. Le due liste differiscono perché i formati conservano cose diverse.

L’output LRC mantiene la codifica del file ASS?

No: l’LRC è UTF-8, fine riga Unix, senza BOM. La codifica in ingresso viene rilevata e decodificata; il pannello lo segnala quando accade.

Strumenti correlati