Free Lossless Audio Codec

codec di compressione audio senza perdita di qualità

Free Lossless Audio Codec (in acronimo FLAC) è un codec audio libero con compressione dati lossless, cioè senza perdita di qualità.[2] A differenza delle codifiche lossy (come l'Ogg Vorbis, l'MP3 o l'AAC) questo tipo di compressione non rimuove informazioni dal flusso audio, risultando quindi adatto sia all'ascolto con lettori di musica digitale, sia all'archiviazione su memorie di massa. Il formato FLAC è attualmente supportato da una buona parte dei software audio.[3]

Free Lossless Audio Codec
Estensione.flac
Magic numberfLaC[1]
Tipo MIMEaudio/flac
Uniform Type Identifier (UTI)org.xiph.flac
SviluppatoreXiph.Org Foundation
LicenzaLibera
1ª pubblicazione20 luglio 2001
Ultima versione1.4.3 (23 Giugno 2023)
TipoCompressione audio
CompressioneLossless
Standardxiph.org/flac/format.html
Formato aperto?
Sito webxiph.org/flac/

FLAC è specificamente progettato per comprimere dati audio, diversamente dalla maggior parte degli algoritmi di compressione lossless generici (come ad esempio ZIP e gzip), questo gli permette di raggiungere compressioni importanti, dell'ordine del 30-50% contro il 10-20% raggiunto da quelli tradizionali quando utilizzati per comprimere file audio. In particolare risulta estremamente efficace se usato per archiviare Stems/Spaccati di un progetto musicale (un singolo file per ogni singola traccia che compone il progetto intero). Un progetto medio stems da 30/35 piste per tre minuti di durata può facilmente arrivare a pesare complessivamente oltre GB se campionato in PCM, mentre il medesimo materiale se compresso in FLAC può facilmente stare sotto i 300 MB. Questo avviene perché FLAC, al contrario di come si farebbe in PCM, comprime soprattutto le parti di silenzio presenti nei vari stems a peso zero, impattando enormemente sul peso complessivo finale dell'archivio.

Lo sviluppo è iniziato nel 2000 da Josh Coalson.[4] Il formato del flusso dati è stato congelato quando FLAC è entrato in fase beta con il rilascio della versione 0.5 dell'implementazione di riferimento il 15 gennaio 2001. La versione 1.0 è stata pubblicata il 20 luglio 2001.[4]

Il 29 gennaio 2003 Xiphophorus (adesso Xiph.Org Foundation) ha annunciato l'inclusione del FLAC fra i propri progetti, insieme con Ogg Vorbis, Ogg Theora e Speex.[4][5]

A partire dal mese di dicembre 2008 la prestigiosa casa discografica Deutsche Grammophon, che sin dai primi anni del Novecento pubblica esclusivamente musica classica, ha incominciato a rendere disponibili per il download a pagamento, i propri titoli in formato FLAC.

Caratteristiche

modifica

Codifica

modifica

FLAC supporta solo campioni in virgola fissa (fixed-point), non in virgola mobile. Può gestire dati in PCM con profondità di bit da 4 a 24 bit, qualsiasi frequenza di campionamento da Hz a 65535 Hz (con incrementi di 1 Hz) o da 10 Hz a 655350 Hz (con incrementi di 10 Hz) e un numero di canali da uno a otto.

Passaggi della codifica

modifica
  • Suddivisione in blocchi: l'input viene diviso in più parti contigue, anche variabili in grandezza (su questo punto vi sono delle controversie, perché alcuni[alcuni sviluppatori] suggeriscono che anche i blocchi debbano rimanere fissi).
  • Compattamento del flusso multicanale: in questo step l'encoder FLAC si occupa di calcolare, nel caso di input stereo e surround, la media dei canali e la loro differenza. Il segnale a qualità migliore viene passato al processo successivo.
  • Previsione: partendo dal primo blocco, avviene la previsione di quale possa essere il successivo con degli algoritmi matematici che tentano di ricostruire il segnale. In questo caso, verranno codificati solo i parametri, dato che gli algoritmi matematici devono essere presenti sia sull'encoder sia sul decoder.
  • Codifica residua: la codifica residua permette a FLAC di essere effettivamente un codec lossless. Si codifica senza perdita tutta la parte di segnale che si differenzia dalla ricostruzione matematica di predizione, e viene incorporata nel file finale. Il guadagno si ha sul fatto che il segnale residuo, proprio per la scrematura matematica, sarà minore in bytes rispetto al corrispettivo PCM.

Livelli di compressione

modifica

libFLAC, la libreria di codifica e decodifica di riferimento, utilizza un parametro per il livello di compressione che varia da zero (più veloce) a otto (più lento); i file compressi sono però sempre la rappresentazione identica e senza perdita dei dati originali. Sebbene il processo di compressione implichi un compromesso tra velocità e dimensioni, il processo di decodifica non dipende dal livello di compressione ed è sempre relativamente veloce.

Metadati

modifica
  1. ^ FLAC - Format, su xiph.org. URL consultato il 30 giugno 2023.
  2. ^ (EN) FLAC - Free Lossless Audio Codec, su Xiph.Org Foundation. URL consultato il 22 dicembre 2014.
    «FLAC stands for Free Lossless Audio Codec, an audio format similar to MP3, but lossless, meaning that audio is compressed in FLAC without any loss in quality»
  3. ^ (EN) FLAC - links, su Xiph.Org Foundation. URL consultato il 22 dicembre 2014.
    «A large and growing list of software supports the FLAC format»
  4. ^ a b c (EN) FLAC - news, su xiph.org. URL consultato il 15 marzo 2018.
  5. ^ (EN) FLAC Joins Xiph!, su xiph.org. URL consultato il 15 marzo 2018 (archiviato dall'url originale il 29 maggio 2008).
  6. ^ (EN) FLAC - faq, su xiph.org. URL consultato il 15 marzo 2018.

Altri progetti

modifica

Collegamenti esterni

modifica