Andare al contenuto principale
SubtitleMatrix

Convertire CSV in SRT

Oppure incollare il testo dei sottotitoli

Cosa cambia questa conversione

In questa direzione non si perde nulla: ogni caratteristica del formato di partenza ha un posto dove andare nel formato di destinazione.

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 trasforma una tabella in un file di sottotitoli. Servono tre cose dal foglio — un istante di inizio, uno di fine e il testo — e le trova dalla riga di intestazione invece che dalla posizione, quindi un file con le colonne in un altro ordine, o con nomi più lunghi come begin e finish, si converte senza doverlo prima riordinare. Senza riga di intestazione le colonne vengono lette nell’ordine inizio, fine, testo.

I timecode nelle celle vengono letti nelle forme che i fogli di calcolo finiscono per contenere: minuti e secondi, oppure ore, minuti e secondi, con virgola o punto prima della frazione, e una frazione di una, due o tre cifre. Le righe incollate da un file di sottotitoli senza virgolette — dove la virgola dentro il timestamp lo spezza su due colonne — vengono ricomposte, perché i file reali sono così e non come dice lo standard.

Una riga diventa un blocco, nell’ordine in cui le righe compaiono, e il risultato è un file SRT pronto da riprodurre. La conversione avviene nel browser; nulla viene caricato.

Esempi

Un file CSV tipico, convertito in SRT

Ingresso

start,end,text
00:00:01.000,00:00:03.500,The quick brown fox.
00:00:04.000,00:00:06.250,"Jumps over, the lazy dog."
00:00:07.000,00:00:09.000,"Two lines here.
And a second one."

Uscita

1
00:00:01,000 --> 00:00:03,500
The quick brown fox.

2
00:00:04,000 --> 00:00:06,250
Jumps over, the lazy dog.

3
00:00:07,000 --> 00:00:09,000
Two lines here.
And a second one.

Qui non si perde nulla: confronto le due parti riga per riga.

La stessa conversione su un input scomodo

Ingresso

id,start,end,note,text
1,00:00:01,000,00:00:04,000,cue one,"Hello there, friend."
2,00:00:05.000,00:00:07.000,cue two,Second line.
bad,notatime,00:00:09.000,cue three,Unreadable start.
4,00:00:10.000,00:00:09.000,cue four,End before start.
5,00:00:12.000,00:00:14.000,cue five,Unquoted comma in text, right here.

Uscita

1
00:00:01,000 --> 00:00:04,000
Hello there, friend.

2
00:00:05,000 --> 00:00:07,000
Second line.

3
00:00:10,000 --> 00:00:10,001
End before start.

4
00:00:12,000 --> 00:00:14,000
Unquoted comma in text, right here.

È il tipo di danno che hanno i file reali: fine riga misti, spazi vaganti, campi lasciati vuoti. Confronto con l’esempio ordinato qui sopra per vedere cosa il parser perdona.

Domande frequenti

Quali nomi di colonna riconosce nel CSV?

Quelli abituali, e il confronto è tollerante: start, start time, timecode in, begin, from e in valgono per l’inizio; end, stop, to, out e finish per la fine; text, subtitle, content, line, dialogue e transcript per le parole. Spazi, trattini bassi e trattini nelle intestazioni vengono ignorati, e le maiuscole non contano.

E se la mia tabella CSV non ha una riga di intestazione?

In quel caso la prima riga viene letta come dato e le colonne si prendono in ordine: inizio, fine, testo. Una riga viene riconosciuta come intestazione quando la sua prima cella non è un timecode, così una tabella che comincia con un blocco vero non viene scambiata per una che comincia con le etichette.

Quali forme di tempo possono contenere le celle del CSV?

Minuti e secondi, oppure ore, minuti e secondi, con una frazione facoltativa dopo una virgola o un punto. La frazione viene letta dal numero di cifre che ha, quindi ,5, ,50 e ,500 sono tutti mezzo secondo, ed è questo che fa comportare bene i decimali di lunghezza variabile di un foglio di calcolo.

E se una cella del CSV con un timestamp non era fra virgolette?

Viene riparata. Un timestamp scritto all’SRT ha una virgola dentro, e incollato in una tabella senza virgolette finisce su due colonne; il convertitore ricompone le due metà quando somigliano alle due metà di un solo timecode, così l’esportazione danneggiata classica si converte lo stesso.

Posso costruire un file SRT da zero in un foglio di calcolo?

Sì, ed è il motivo più comune per trovarsi su questa pagina: tre colonne, un blocco per riga, poi convertire. È una superficie di modifica molto migliore di un file di sottotitoli quando si lavora sul testo, e la conversione di ritorno è a portata di mano.

Strumenti correlati