A letra de música é o texto de uma canção. Nos metadados, o campo Lyrics armazena essas palavras como texto dentro de um arquivo de áudio ou vídeo. Um relatório do ffprobe também pode mostrar um sinalizador Lyrics.
O padrão ID3v2 descreve o campo de texto como a letra de uma canção ou uma transcrição em texto de outras atividades vocais. O texto é armazenado separado do som, então você só pode lê-lo com software que lê esse campo.
Quais arquivos o carregam
Cada formato de arquivo armazena a letra de música em um campo com nome próprio. Estes são os nomes nos formatos mais comuns:
- MP3: os frames ID3v2
USLTpara texto simples eSYLTpara texto com marcação de tempo. - WAV e AIFF: os mesmos frames ID3v2, se o arquivo contiver uma tag ID3.
- FLAC e OGG: um comentário Vorbis. O MusicBrainz Picard o nomeia
LYRICS, mas nenhuma especificação fixa esse nome. - M4A e MP4: o item de metadados
©lyr. - MKV: a tag Matroska
LYRICS. - WMA e WMV: os atributos
WM/LyricseWM/Lyrics_Synchronised.
Letra de música simples e sincronizada
Letras simples são um bloco único de texto, sem marcação de tempo. Letras sincronizadas vinculam cada trecho de texto a um momento da gravação. O software pode então mostrar as palavras em sincronia com o som, por exemplo para karaokê.
Em um frame ID3v2 SYLT, cada trecho de texto tem um carimbo de tempo. Esse carimbo conta a partir do início do arquivo, em milissegundos ou em frames MPEG.
Como é o valor
Um valor simples é texto comum, e o texto pode conter quebras de linha. Para texto sincronizado, o ExifTool coloca um carimbo de tempo entre colchetes antes de cada entrada: [MM:SS.ss] para segundos ou [FFFF] para frames MPEG.
Um arquivo pode conter letras em mais de um idioma. Em ID3v2, cada frame USLT ou SYLT tem um campo de idioma de 3 letras que segue a ISO 639-2. Estes são valores de exemplo:
engpara inglêsdeuougerpara alemãoXXXquando o idioma não é conhecido, conforme descrito no texto do ID3v2
Para um frame ID3v2 USLT sem descrição, o FFmpeg adiciona o código de idioma à chave, como em lyrics-eng para texto em inglês. Para um idioma desconhecido, o FFmpeg 9.0 mostra lyrics-XXX, e seu código de desenvolvimento mostra apenas lyrics. O ExifTool usa o mesmo padrão para um idioma escolhido, como em Lyrics-eng.
Letra de música como sinalizador de stream
Em um relatório do ffprobe, o leitor de arquivos do projeto FFmpeg, Lyrics também pode ser um sinalizador de fluxo, com valor 0 ou 1. O FFmpeg o documenta em poucas palavras: o fluxo contém letra de música. O sinalizador não armazena palavras.
A opção -show_streams do leitor ffprobe imprime esse sinalizador para cada fluxo, ao lado do sinalizador Karaoke. Assim, você pode ver 0 em um arquivo sem música. Um 0 não prova que o arquivo não tenha texto de letra.
De onde vem o texto
O texto de Lyrics não vem do som em si. Uma pessoa ou um programa precisa adicionar o texto.
Aplicativos de marcação podem gravar esse campo. O MusicBrainz Picard precisa de um plugin ou de um script para o texto, porque seu banco de dados não contém letras.
Uma conversão pode levar o texto para um novo arquivo. O FFmpeg copia por padrão os metadados globais do primeiro arquivo de entrada. Assim, um arquivo convertido pode manter o texto de Lyrics de sua origem, mesmo que você nunca tenha marcado esse arquivo.
Por que isso é importante para o seu arquivo
O campo de texto Lyrics pode conter o texto completo de uma canção. Quando você compartilha o arquivo, você também compartilha esse texto, mesmo que um player nunca o exiba.
A ausência do campo de texto não diz nada sobre a canção. Uma música com palavras pode não ter texto em Lyrics. O texto também pode ser diferente do que você ouve.
Um arquivo pode mostrar vários valores de Lyrics, por exemplo texto simples e sincronizado ou texto em 2 idiomas. Em um arquivo Matroska, a tag LYRICS também pode duplicar uma faixa de legendas. A especificação recomenda que você geralmente edite ambas.