Editor de letras sincronizadas
Letra
Linhas em branco são descartadas. Uma linha que já começa com [mm:ss.xx] mantém esse tempo.
Solte um arquivo de áudio, cole a letra e então aperte reproduzir e toque a tecla de marca quando cada linha começar. Nada sai desta aba.
Deslocar todas as linhas sincronizadas
.lrc exportado
Uma linha aparece aqui assim que tem um tempo.
Linhas sem tempo ficam de fora das duas exportações: uma linha precisa de uma marca antes de ter lugar na linha do tempo.
Teclado
- K ou Espaço — reproduzir / pausar
- Seta esquerda / direita — 5 segundos para trás / para frente
- R — marcar esta linha e ir para a próxima
- T — inserir uma linha depois desta
- Delete — limpar o tempo desta linha
- Seta para cima / baixo — ir para a linha anterior / seguinte
Esta página transforma uma música e uma lista de linhas em um arquivo .lrc sincronizado. Carregue um arquivo de áudio, cole a letra — texto simples, uma linha por linha, ou um .lrc existente cujas marcas você quer ajustar —, aperte play e toque uma tecla no momento em que cada linha começa. A marca é tirada do tempo atual do elemento de áudio, então ela segue o arquivo que você está ouvindo e não um relógio da página. Quando a última linha estiver marcada, exporte o resultado como .lrc, ou como .srt se o editor de legendas que você está alimentando precisar de um.
A lista de linhas é o modelo inteiro. Uma linha tem texto e uma hora de início opcional; uma linha sem hora é uma que você ainda não alcançou. Linhas sem marca ficam no editor para você voltar a elas, mas não aparecem na exportação: uma linha sem hora de início não tem posição na linha do tempo, e inventar uma poria uma linha na tela em um momento que ninguém escolheu. É por isso que um arquivo exportado no meio de uma música é mais curto que a lista à sua frente, e não está errado.
Quatro operações cobrem o que realmente dá errado enquanto se sincronizam letras. Marcar define uma linha com o tempo atual de reprodução, e o editor avança para a linha seguinte para que uma sequência de linhas custe uma tecla cada. Limpar remove uma marca que você colocou um tempo antes demais. Inserir acrescenta uma linha que você esqueceu de colar. Deslocar move todas as linhas marcadas pelo mesmo número de milissegundos, que é o que você precisa depois de notar que o arquivo inteiro está um segundo atrás do vocal — o espaçamento relativo fica intacto, e um deslocamento negativo para em zero em vez de escrever um timecode que os players não conseguem ler.
O modelo de tempo é o que o próprio LRC tem. Uma linha dura até a próxima começar; a linha final não tem próxima, então recebe dois segundos, a mesma largura que este site usa sempre que um formato não tem hora de fim própria. Quando você exporta .srt, é daí que vêm as horas de fim — a mesma derivação que uma conversão a partir de um arquivo .lrc faz nas páginas de conversão, então as duas rotas produzem a mesma linha do tempo. Centésimos são a precisão que o .lrc consegue registrar; uma marca em 12,346 segundos é escrita como 12,34, e é por isso que um arquivo exportado e lido de volta pode diferir do editor em alguns milissegundos.
O arquivo de áudio é aberto pelo próprio elemento de áudio do navegador e nunca é lido, analisado ou enviado por esta página. Não há requisição carregando-o para lugar nenhum; o único tráfego de rede é a página em si. Um rascunho da lista de linhas fica no armazenamento local deste navegador para que um recarregamento acidental não custe uma sessão de trabalho, e limpar os dados do site o remove. Nada sobre a música ou sobre a letra existe em um servidor depois que você fecha a aba.
Exemplos
Letra simples, marcada em uma passagem
Letra
First line of the song
Second line of the song
Third line of the song.lrc exportado
[00:12.00]First line of the song
[00:15.30]Second line of the song
[00:18.75]Third line of the songCada linha marcada é um bloco. A exportação .lrc escreve centésimos, então 18,75 segundos é exatamente o que a tecla registrou; uma marca em 18,754 seria escrita como 18,75.
Ressincronizando um .lrc existente
Letra
[00:12.00]First line of the song
[00:14.00]Second line of the song
Third line of the song.lrc exportado
[00:12.00]First line of the song
[00:14.00]Second line of the song
[00:17.75]Third line of the songColar um .lrc mantém as marcas que ele já tem. A terceira linha chegou sem marca, ficou sem marca até ser reproduzida e foi marcada em 17,75 segundos.
Perguntas frequentes
As linhas que eu ainda não marquei acabam no arquivo .lrc?
Não. Uma linha sem marca não tem hora de início, e o .lrc posiciona uma linha apenas pela marca de tempo, então não há o que escrever para ela. A linha fica na lista do editor sem hora ao lado, e no momento em que você reproduz além dela e aperta a tecla de marcar ela entra na exportação. Isso é deliberado e não uma limitação: a alternativa é dar à linha uma hora inventada, o que a põe na tela em um momento que você nunca escolheu — exatamente o tipo de invenção silenciosa que este site evita em outros lugares.
Por quanto tempo a última linha da letra fica na tela na exportação .srt?
Dois segundos depois da hora de início. O .lrc não tem horas de fim — uma linha dura até a próxima começar —, então a linha final não tem de onde herdar um fim. Dois segundos é a mesma largura que este site usa para qualquer formato sem hora de fim, o que significa que a exportação .srt deste editor e a página de conversão de .lrc para srt dão a mesma linha do tempo para as mesmas marcas. Se a música realmente segura aquela última linha por oito segundos, deslocar ou editar a duração depois é honesto sobre isso; um palpite escondido no exportador não é.
O que acontece se eu deslocar a linha do tempo do editor de letras para antes da primeira linha?
Essas linhas param em zero e o editor informa quantas foram limitadas. Um timecode negativo não existe em .lrc nem em .srt — um player que recebe um ou rejeita o arquivo ou trata a linha como começando no início absoluto. O deslocamento serve para reparar um erro como notar que o arquivo inteiro está um segundo atrasado; quando o deslocamento pedido empurraria a primeira linha para antes do começo da faixa, o resultado fisicamente significativo é zero, e as demais linhas mantêm o espaçamento relativo entre si a menos que também tenham sido limitadas.
Posso colar um .lrc existente no editor de letras e corrigir só as linhas erradas?
Sim — é por isso que o editor lê marcas LRC ao colar. Linhas que já trazem uma etiqueta [mm:ss.xx] mantêm a hora; o texto depois da etiqueta é o que você edita; uma linha sem etiqueta começa sem marca. Linhas de metadados como [ti:], [ar:] e [offset:] são ignoradas na importação em vez de tratadas como letra, porque não são linhas que alguém canta. Uma linha com várias etiquetas usa a primeira, já que o modelo do editor é uma hora de início por linha.
Meu arquivo de áudio é enviado para o editor de letras poder ler a duração ou a forma de onda?
Não — e também não há forma de onda. O áudio é tocado pelo elemento de áudio embutido no navegador a partir de um arquivo local; esta página nunca lê os bytes, nunca o decodifica e nunca envia uma requisição que o contenha. As marcas vêm da posição atual de reprodução do elemento de áudio quando você aperta a tecla, que é o mesmo número que uma forma de onda daria. Decodificar uma faixa inteira de álbum para desenhar uma forma de onda custaria memória e tempo sem melhorar a marca.
Por que o .lrc exportado difere do editor em alguns milissegundos?
Porque o .lrc registra centésimos e o editor guarda milissegundos inteiros. Uma marca em 12,346 segundos é escrita como [00:12.34] — arredondando para o centésimo mais próximo, não truncando. Ler o arquivo de volta dá 12,340 segundos, então a diferença é de no máximo cinco milissegundos por linha, bem abaixo do que um player consegue exibir. Se você precisa da marca exata, exporte .srt: ele carrega milissegundos, e o mesmo modelo de blocos é o que produz os dois arquivos.