FLAC significa Free Lossless Audio Codec, e faz exatamente o que o nome diz: deixa um arquivo de áudio menor sem alterar um único sample. Josh Coalson iniciou o projeto, que hoje é mantido pela Xiph.Org Foundation, a organização sem fins lucrativos por trás do Vorbis e do Opus. Tanto o formato quanto seu software de referência são abertos e livres de royalties, o que é um dos motivos de o FLAC ter se tornado o padrão para arquivar uma coleção de CDs e a opção usual de download em lojas de música administradas por artistas.
Como o FLAC comprime sem perder nada
Compressão lossless parece uma contradição em comparação ao MP3, mas é a mesma ideia usada em um arquivo ZIP, ajustada para som. O FLAC divide o áudio em blocos e, para cada bloco, ajusta uma previsão matemática simples de para onde a forma de onda está indo. Em seguida, armazena apenas essa previsão e os pequenos erros restantes, compactados com um esquema de codificação eficiente. Na decodificação, roda a previsão novamente e adiciona de volta os erros, o que reproduz os samples originais bit a bit. Quanto você economiza depende da música, mas um arquivo FLAC normalmente é bem menor do que a mesma gravação em WAV.
O FLAC lida com até oito canais, profundidades de bits além da qualidade de CD e taxas de amostragem muito altas. Como o MP3, ele é baseado em quadros, então pode ser transmitido e avançado sem ler o arquivo inteiro antes. Seu cabeçalho também armazena uma impressão digital MD5 do áudio descompactado, para que um software possa comprovar anos depois que o arquivo ainda decodifica exatamente o que foi extraído. O mesmo codec também pode ser transportado dentro de um contêiner Ogg, embora o arquivo FLAC simples seja o que você encontra com mais frequência.
Quais metadados um arquivo FLAC contém
Um arquivo FLAC começa com uma série de blocos de metadados, cada um com uma função definida. STREAMINFO é o bloco técnico e está sempre presente: taxa de amostragem, número de canais, bits por sample, número total de samples e aquela impressão digital MD5. SEEKTABLE ajuda os players a pular pelo arquivo, CUESHEET pode descrever a estrutura de faixas de um CD inteiro, PICTURE guarda a arte incorporada com seu próprio tipo e descrição, e PADDING é simplesmente espaço em branco para que as tags possam ser editadas depois sem reescrever o arquivo.
As tags descritivas ficam no bloco VORBIS_COMMENT, o mesmo sistema de marcação usado pelo Ogg. É uma lista de pares em texto simples, cada um com um nome de campo e um valor, por isso não é limitada a um conjunto fixo. TITLE, ARTIST, ALBUM, ALBUMARTIST, DATE, TRACKNUMBER, DISCNUMBER, GENRE, COMPOSER, PERFORMER, COPYRIGHT, ISRC e COMMENT são todos comuns, e qualquer campo pode aparecer mais de uma vez, que é como uma faixa credita dois artistas.
Como qualquer programa pode inventar um campo, esse bloco muitas vezes fala tanto sobre a cadeia de software quanto sobre a música. ENCODER informa o app e a versão que criaram o arquivo. Software de extração de CDs adiciona suas próprias entradas: identificadores que ligam o disco a um banco de dados de música online, avaliações, contagens de reprodução, medições de replay gain e às vezes a unidade que leu o CD. Esses campos livres também são onde uma anotação pessoal, um nome verdadeiro ou um endereço de e-mail vão parar se alguém digitou isso em um aplicativo de tags. O FLAC não tem um campo padrão para localização ou dispositivo, então um arquivo de música raramente revela onde você estava, mas tudo o que uma pessoa ou um app escolheu escrever está ali em texto legível.
Quando usar FLAC
FLAC é a escolha certa para guardar áudio: uma coleção de CDs, gravações master, qualquer coisa que você possa querer converter novamente depois. Em comparação com WAV, ele ganha em tamanho e em marcação, e ainda é bit a bit idêntico à fonte. Em comparação com MP3 ou AAC, é bem maior, então não é ideal para um celular com pouco espaço ou para um site muito acessado. Dispositivos Apple preferem ALAC, outro formato lossless baseado na mesma ideia, e converter entre os dois não traz nenhuma perda, porque ambos preservam todos os samples.