Andare al contenuto principale
SubtitleMatrix

Rimuovere i timecode dal testo

Testo e stileSostituire con espressioni regolari
Oppure incollare il testo dei sottotitoli

Opzioni

Un’espressione regolare, confrontata con il testo di ogni blocco. Ogni corrispondenza viene sostituita. Le due pagine di questa sezione condividono il riquadro: una lo apre vuoto per un’espressione che si ha già, l’altra lo avvia con un’espressione che si può modificare in entrambi i casi.

Ciò in cui diventa ogni corrispondenza. Lasciare vuoto per eliminare ogni corrispondenza. A differenza della pagina di trova e sostituisci letterale, qui il simbolo del dollaro è speciale: $1 indica il primo gruppo tra parentesi della corrispondenza, $& l’intera corrispondenza e $$ un dollaro letterale.

Le lettere con cui viene compilata l’espressione. g e u sono attivi per impostazione predefinita: u fa leggere il testo un carattere alla volta anziché un’unità di codice alla volta, ed è ciò che fa sì che \p{L} e simili significhino quello che dicono. Aggiungere i per ignorare maiuscole e minuscole, m per gli ancoraggi di riga, s perché il punto corrisponda a un’interruzione di riga. Svuotare il riquadro per compilare senza alcun flag. Qualsiasi altra lettera viene rifiutata anziché ignorata, perché un’espressione eseguita con flag che non si sono chiesti è un’espressione che significa silenziosamente qualcos’altro.

La frequenza dei fotogrammi in cui sono contati i tempi. Nelle pagine di formato è quella che serve a MicroDVD, perché memorizza i tempi come numeri di fotogramma. Nelle pagine della frequenza dei fotogrammi è la cadenza con cui è stato temporizzato il file — la versione per cui sono stati creati i sottotitoli — e il secondo riquadro della pagina accetta la frequenza del video con cui verranno usati. 23,976, 24, 25, 29,97, 30, 50, 59,94 e 60 sono quelle comuni. Sbagliarla sposta l’intera timeline, e nelle pagine della frequenza dei fotogrammi la sposta di un rapporto anziché di un importo fisso.

Questa pagina rimuove i timestamp stampati dentro il testo di un blocco: il `[00:00:01]` che una trascrizione, un export di sottotitoli automatici o una copia di lavoro tende a portarsi all’inizio di ogni riga. Quei timestamp fanno parte delle parole, non dei sottotitoli: sono sullo schermo, sono ciò che un lettore vede, e questa pagina li toglie insieme alla parentesi e allo spazio che segue. Gli orari dei blocchi, quelli che il lettore usa, non vengono toccati affatto.

Non è deliberatamente una pagina che cancella qualsiasi cosa tra parentesi. I segnali sonori restano: `[door slams]`, `[phone rings]`, `(music)` sono informazioni che una traccia per non udenti ha il dovere di portare, e una trascrizione piena di timestamp è esattamente il tipo di file che li contiene. Restano anche i numeri che sembrano soltanto orari: `10:30` è un’ora del giorno e non ha i secondi, e `12:34:56:07` è un timecode a fotogrammi con quattro parti, non un orologio. Se ne va solo un timestamp con ore, minuti e secondi.

Il modello nella casella è ciò che decide, e potete modificarlo. Entrambe le estremità controllano i caratteri accanto a un candidato: se il carattere prima o dopo è una cifra o i due punti, allora questo fa parte di qualcosa di più lungo e non ci appartiene. Quel controllo non è decorazione: senza di esso il motore comincia volentieri a metà di `12:34:56:07` e la riga torna come `SMPTE 12:` più ciò che seguiva, con la pagina che riporta una rimozione. Se i vostri file usano una forma diversa — `MM:SS` senza ore, o timestamp tra parentesi graffe — cambiate il modello invece di aggirarlo.

Nulla viene caricato, ogni file viene riscritto nel proprio formato, e una cartella di trascrizioni passa dalla coda in una volta. Quando tutto il testo di un blocco era un timestamp, il blocco resta e il suo testo diventa vuoto: un buco nella linea temporale è un problema diverso da una riga che non dovrebbe esserci, e gli strumenti di qualità sono il posto dove andarlo a cercare.

Esempi

Una trascrizione che porta il momento di ogni riga

Ingresso

[00:00:01] We should go.
[00:00:05] The train leaves at 10:30.

Uscita

We should go.
The train leaves at 10:30.

Se ne vanno entrambi i timestamp, con le parentesi e lo spazio che segue. La seconda riga è quella da guardare: 10:30 è un’ora del giorno con due parti e senza secondi, quindi resta esattamente dov’è. Quella distinzione è l’intero motivo per cui questa pagina esegue un modello invece di cancellare qualsiasi cosa tra parentesi.

Timestamp dentro un vero file di sottotitoli

Ingresso

1
00:00:01,000 --> 00:00:04,000
[00:00:12] (phone rings)

2
00:00:05,000 --> 00:00:08,000
(00:01:02.500) So I said yes.

Uscita

1
00:00:01,000 --> 00:00:04,000
(phone rings)

2
00:00:05,000 --> 00:00:08,000
So I said yes.

Parentesi quadre, parentesi tonde e millisecondi: tutto con un’unica regola. Il segnale sonoro e la frase cominciano entrambi dal bordo sinistro, e gli orari in cima a ogni blocco restano intatti perché sono la linea temporale del file, non testo. Notate che il timestamp del secondo blocco usa i millisecondi, quindi il modello deve accettarli.

Tutto ciò che sembra un timestamp e non lo è

Ingresso

1
00:00:01,000 --> 00:00:04,000
SMPTE 12:34:56:07 and a ratio of 1:2:3 here.

2
00:00:05,000 --> 00:00:08,000
Call me at 10:30.

Uscita

1
00:00:01,000 --> 00:00:04,000
SMPTE 12:34:56:07 and a ratio of 1:2:3 here.

2
00:00:05,000 --> 00:00:08,000
Call me at 10:30.

Il file torna byte per byte, ed è questo il punto. Un timecode a fotogrammi, un rapporto e un’ora senza secondi restano tutti al loro posto, e il timecode a fotogrammi è il caso critico: un modello senza il controllo iniziale comincia tre caratteri più avanti e mangia `34:56:07`, lasciando una riga che si legge `SMPTE 12:` e sembra quasi plausibile.

Domande frequenti

Gli orari dei blocchi cambiano quando i timestamp vengono rimossi?

No. Le righe che questa pagina modifica sono le parole sullo schermo; gli orari di inizio e di fine che il lettore legge stanno nella struttura del file e tornano intatti, insieme ai numeri dei blocchi e all’ordine. Se un file ha bisogno di spostare la sua linea temporale, per quello ci sono gli strumenti di temporizzazione.

Perché un orario come 10:30 è ancora lì?

Perché ha due parti e non ha secondi, e il modello chiede ore, minuti e secondi in quest’ordine. Un timestamp rimosso da questa pagina è una posizione dentro una registrazione; 10:30 è un’ora del giorno che qualcuno ha detto ad alta voce, e cancellarla cambierebbe ciò che il personaggio ha detto. Se i vostri file portano davvero timestamp a due parti, togliete il gruppo delle ore dal modello e rimettete il controllo davanti.

Verrà rimosso un timecode a fotogrammi come 12:34:56:07?

No, ed è il caso attorno a cui il modello è stato scritto. Entrambe le estremità controllano il carattere vicino: se il carattere prima o dopo un candidato è una cifra o i due punti, il candidato fa parte di qualcosa di più lungo e viene lasciato stare. Senza quel controllo il motore comincerebbe tre caratteri più avanti e rimuoverebbe `34:56:07`, trasformando la riga in `SMPTE 12:`, una riga dall’aria plausibile che ha perso informazione.

Perché i segnali sonori nel mio file sono sopravvissuti?

Perché non sono timestamp. Un modello che rimuove `[00:01:23]` non ha motivo di toccare `[door slams]`, ed è voluto: le informazioni non sonore sono esattamente ciò a cui serve una traccia per non udenti, e i file che portano timestamp stampati sono spesso proprio quelli che le contengono. Se volete che sparisca una classe di testo tra parentesi, c’è una pagina separata che rimuove qualsiasi coppia di parentesi e chiude lo spazio rimasto.

Posso cambiare il modello?

Sì: la casella è modificabile ed è una casella di espressione regolare completa, quindi qualunque cosa della pagina generale sui modelli funziona qui. Le due cose da conservare sono il gruppo delle parentesi che va con il timestamp e lo spazio dopo, e i controlli alle due estremità, dato che senza di essi un numero più lungo può essere tagliato a metà. Se i vostri timestamp sono `MM:SS` senza ore, togliere il gruppo delle ore è la modifica che vi serve.

Che cosa succede se un blocco era soltanto un timestamp?

Il timestamp se ne va e il testo del blocco diventa vuoto, quindi quel blocco non mostra nulla per i suoi pochi secondi. Il blocco stesso non viene cancellato: un buco nella linea temporale è un problema diverso da una riga che non va stampata, e rimuovere testo è l’intero compito di questa pagina. I blocchi vuoti si trovano facilmente dopo con gli strumenti di qualità, che è il posto giusto per decidere che cosa debbano diventare.

I timestamp di un file LRC sono quelli del formato: vengono rimossi?

No. In un file LRC il `[mm:ss.xx]` all’inizio di una riga è la temporizzazione del file, e questa pagina modifica solo le parole di una riga, mai la sua temporizzazione. Lo stesso vale per i numeri e i timecode dei blocchi SRT o per le impostazioni dei blocchi WebVTT. Un timestamp viene rimosso solo quando è stampato dentro il testo stesso.

Strumenti correlati