Editor di testi sincronizzati
Testo della canzone
Le righe vuote vengono scartate. Una riga che inizia già con [mm:ss.xx] conserva quell’orario.
Trascinare un file audio, incollare il testo, poi premere riproduci e toccare il tasto di contrassegno all’inizio di ogni riga. Nulla esce da questa scheda.
Spostare tutte le righe temporizzate
.lrc esportato
Una riga compare qui quando ha un orario.
Le righe senza orario sono escluse da entrambe le esportazioni: una riga ha bisogno di un contrassegno prima di avere un posto sulla timeline.
Tastiera
- K o Spazio — riprodurre / mettere in pausa
- Freccia sinistra / destra — 5 secondi indietro / avanti
- R — contrassegnare questa riga e passare alla successiva
- T — inserire una riga dopo questa
- Canc — cancellare l’orario di questa riga
- Freccia su / giù — passare alla riga precedente / successiva
Questa pagina trasforma una canzone e un elenco di righe in un file .lrc temporizzato. Carica un file audio, incolla il testo — testo semplice, una riga per riga, oppure un .lrc esistente di cui vuoi sistemare le marche temporali — premi play e batti un tasto nel momento in cui ogni riga comincia. La marca viene presa dal tempo corrente dell’elemento audio, quindi segue il file che stai ascoltando e non un orologio della pagina. Quando l’ultima riga è marcata, esporta il risultato come .lrc, o come .srt se l’editor di sottotitoli in cui lo importi ne ha bisogno.
L’elenco delle righe è l’intero modello. Una riga ha un testo e un orario di inizio facoltativo; una riga senza orario di inizio è una che non hai ancora raggiunto. Le righe non marcate restano nell’editor perché tu possa tornarci, ma non compaiono nell’esportazione: una riga senza orario di inizio non ha una posizione sulla timeline, e inventarne una metterebbe una riga sullo schermo in un momento che nessuno ha scelto. È per questo che un file esportato a metà canzone è più corto dell’elenco che hai davanti, non sbagliato.
Quattro operazioni coprono ciò che va davvero storto mentre si temporizzano i testi. Marcare imposta una riga al tempo di riproduzione corrente, e l’editor avanza alla riga successiva così una serie di righe richiede una pressione di tasto ciascuna. Cancellare toglie una marca che hai messo un battito troppo presto. Inserire aggiunge una riga che hai dimenticato di incollare. Spostare muove ogni riga marcata dello stesso numero di millisecondi, che è ciò che serve dopo essersi accorti che l’intero file sta un secondo dietro la voce: la spaziatura relativa resta intatta, e uno spostamento negativo si ferma a zero invece di scrivere un timecode che i lettori non sanno leggere. Il modello temporale è quello che ha LRC stesso: una riga dura fino all’inizio della successiva; l’ultima non ha una successiva, quindi le vengono dati due secondi, la stessa ampiezza che questo sito usa ogni volta che un formato non ha un tempo di fine proprio. Quando esporti in .srt è da lì che vengono i tempi di fine, la stessa derivazione che fa una conversione da un file .lrc nelle pagine di conversione, quindi le due strade producono la stessa timeline. I centesimi sono la precisione che .lrc sa registrare: una marca a 12,346 secondi viene scritta come [00:12.34], ed è per questo che un file esportato e riletto può differire dall’editor di qualche millisecondo. Il file audio viene aperto dall’elemento audio del browser stesso e non viene mai letto, analizzato o caricato da questa pagina: nessuna richiesta lo trasporta da nessuna parte, e l’unico traffico di rete è la pagina stessa. Una bozza dell’elenco delle righe viene tenuta nella memoria locale di questo browser perché un ricaricamento accidentale non ti costi una sessione di lavoro, e cancellare i dati del sito la rimuove. Nulla della canzone o del testo esiste su un server dopo che chiudi la scheda.
Esempi
Testo semplice, marcato in una sola passata
Testo della canzone
First line of the song
Second line of the song
Third line of the song.lrc esportato
[00:12.00]First line of the song
[00:15.30]Second line of the song
[00:18.75]Third line of the songOgni riga marcata è un blocco. L’esportazione .lrc scrive i centesimi, quindi 18,75 secondi è esattamente ciò che ha registrato la pressione del tasto; una marca a 18,754 verrebbe scritta come [00:18.75].
Ritemporizzare un .lrc esistente
Testo della canzone
[00:12.00]First line of the song
[00:14.00]Second line of the song
Third line of the song.lrc esportato
[00:12.00]First line of the song
[00:14.00]Second line of the song
[00:17.75]Third line of the songIncollare un .lrc conserva le marche temporali che ha già. La terza riga è arrivata senza marca, è rimasta non marcata finché non è stata riprodotta, ed è stata marcata a 17,75 secondi.
Domande frequenti
Le righe che non ho ancora marcato finiscono nel file .lrc?
No. Una riga non marcata non ha un orario di inizio, e .lrc posiziona una riga solo con la sua marca temporale, quindi non c’è nulla da scrivere per lei. La riga resta nell’elenco dell’editor senza un orario accanto, e nel momento in cui riproduci oltre e premi il tasto di marcatura entra nell’esportazione. È voluto e non è un limite: l’alternativa è dare alla riga un orario inventato, che la mette sullo schermo in un momento che non hai mai scelto, esattamente il tipo di invenzione silenziosa che questo sito evita altrove.
Per quanto tempo l’ultima riga del testo resta sullo schermo nell’esportazione .srt?
Due secondi dopo il suo orario di inizio. .lrc non ha affatto tempi di fine: una riga dura fino all’inizio della successiva, quindi l’ultima non ha nulla da cui ereditare una fine. Due secondi è la stessa ampiezza che questo sito usa per ogni formato senza tempi di fine, il che significa che l’esportazione .srt di questo editor e la pagina di conversione da .lrc a .srt danno la stessa timeline per le stesse marche. Se la canzone tiene davvero quella riga finale per otto secondi, spostarla o modificarne la durata dopo è onesto; un’ipotesi nascosta nell’esportatore no.
Che cosa succede se sposto la timeline indietro oltre la prima riga?
Quelle righe si fermano a zero e l’editor dice quante sono state bloccate. Un timecode negativo non esiste in .lrc né in .srt: un lettore a cui lo si dà o rifiuta il file o tratta la riga come se iniziasse all’inizio assoluto. Lo spostamento serve a riparare uno scarto, come accorgersi che l’intero file è un secondo in ritardo; quando lo spostamento richiesto spingerebbe la prima riga prima dell’inizio della traccia, il risultato fisicamente sensato è zero, e le altre righe mantengono la spaziatura tra loro a meno che non siano state bloccate anche loro.
Posso incollare un .lrc esistente e correggere solo le righe sbagliate?
Sì: è per questo che l’editor legge le marche temporali LRC quando incolli. Le righe che portano già un tag [mm:ss.xx] conservano il loro tempo; il testo dopo il tag è quello che modifichi; una riga senza tag parte non marcata. Le righe di metadati come [ti:], [ar:] e [offset:] vengono ignorate all’importazione invece di essere trattate come testo, perché non sono righe che qualcuno canta. Una riga con più tag prende il primo, dato che il modello dell’editor è un solo orario di inizio per riga.
Il mio file audio viene caricato perché la pagina possa leggerne la durata o la forma d’onda?
No, e non c’è nemmeno una forma d’onda. L’audio viene riprodotto dall’elemento audio integrato nel browser a partire da un riferimento al file locale; questa pagina non ne legge mai i byte, non lo decodifica e non invia mai una richiesta che lo contenga. Le marche temporali vengono dalla posizione di riproduzione corrente dell’elemento audio nel momento in cui premi il tasto, che è lo stesso numero che ti darebbe una forma d’onda. Decodificare un’intera traccia di un album per disegnare una forma d’onda costerebbe memoria e tempo senza migliorare la marca.
Perché il .lrc esportato differisce dall’editor di qualche millisecondo?
Perché .lrc registra i centesimi e l’editor conserva i millisecondi interi. Una marca a 12,346 secondi viene scritta come [00:12.34], arrotondando al centesimo più vicino e non troncando. Rileggendo il file si ottengono 12,340 secondi, quindi la differenza è al massimo di cinque millisecondi per riga, ben sotto ciò che un lettore sa mostrare. Se ti serve la marca esatta, esporta invece in .srt: porta i millisecondi, e lo stesso modello di blocchi è ciò che produce entrambi i file.