Un file WAV occupa molto spazio, ma comprimerlo in MP3 significa rinunciare a una parte dell'informazione. Esiste una via di mezzo che non chiede alcun compromesso sulla qualità: la compressione senza perdite (lossless). Il file si riduce, e una volta decodificato restituisce esattamente, campione per campione, il segnale originale.
Perché l'audio si comprime poco con gli zip
Chiunque abbia provato a comprimere un WAV con un normale programma di archiviazione avrà notato risultati modesti. Gli algoritmi generici cercano sequenze di byte ripetute, ma in un segnale audio le sequenze identiche sono rare: ogni campione differisce leggermente dal precedente. Servono metodi pensati per la natura dei segnali sonori.
Il principio: predire e salvare l'errore
I codec lossless audio sfruttano un'osservazione semplice: i campioni vicini sono fortemente correlati. Conoscendo i campioni precedenti, si può stimare con buona approssimazione quello successivo.
Il processo, semplificando, è questo:
- Il segnale viene diviso in blocchi di qualche migliaio di campioni.
- Per ogni blocco il codificatore calcola un predittore, cioè una formula che stima ogni campione a partire da quelli precedenti.
- Invece di salvare i campioni, salva i residui: la differenza tra il valore reale e quello predetto.
- I residui sono numeri piccoli, spesso vicini allo zero, e vengono codificati con un sistema a lunghezza variabile che usa pochi bit per i valori piccoli.
In decodifica il processo si inverte: si ricalcola la predizione, si somma il residuo e si ottiene il campione originale, identico al bit.
Sfruttare la stereofonia
Nei file stereo i due canali sono spesso molto simili. Molti codificatori provano a codificare, al posto di sinistro e destro, la loro somma e la loro differenza. Se il materiale è quasi mono, la differenza è piccolissima e si comprime molto bene.
Quanto si risparmia
Il rapporto di compressione dipende dal materiale, non dal codec. Indicativamente:
| Materiale | Riduzione tipica |
|---|---|
| Parlato con pause | Molto alta |
| Musica acustica, classica | Alta |
| Musica elettronica densa, rock molto compresso | Modesta |
| Rumore bianco | Quasi nulla |
Più il segnale è prevedibile e dinamico, più si comprime. Un master con volume molto alto e pochissime variazioni, o un segnale rumoroso, lascia poco margine al predittore. In molti casi si ottengono file pari a circa la metà o due terzi dell'originale, ma conviene verificare sui propri file.
FLAC e ALAC a confronto
FLAC (Free Lossless Audio Codec) è aperto, libero da brevetti e supportato da moltissimi lettori, sistemi operativi e software. Offre livelli di compressione da 0 a 8: livelli più alti producono file leggermente più piccoli, impiegando più tempo in codifica, mentre la decodifica resta rapida a qualunque livello.
ALAC (Apple Lossless Audio Codec) svolge la stessa funzione ed è integrato nell'ecosistema Apple. Il codice è stato rilasciato con licenza open source, quindi anche altri lettori lo supportano.
Dal punto di vista della qualità i due sono identici: entrambi restituiscono il segnale originale. La scelta dipende solo dalla compatibilità con i dispositivi che usi.
Integrità dei file
Un vantaggio pratico del FLAC è la presenza di una firma MD5 dell'audio originale nell'intestazione del file. Con lo strumento a riga di comando ufficiale si può verificare che il file decodificato corrisponda a quello di partenza:
flac -t registrazione.flac
Per un archivio di registrazioni è utile eseguire questa verifica periodicamente, ad esempio dopo aver copiato i file su un nuovo disco. Un errore indica un file danneggiato, da ripristinare da una copia di backup.
Metadati
FLAC usa commenti in stile Vorbis, flessibili e ben supportati, e può includere la copertina. ALAC, all'interno di un contenitore MP4, usa i tag di quell'ecosistema. In entrambi i casi la gestione dei metadati è molto più affidabile rispetto al WAV.
Quando usare un lossless
- Archivio di musica e registrazioni: risparmi spazio senza rinunciare a nulla.
- Scambio di file con altri quando la banda è limitata ma serve la qualità piena.
- Copie di sicurezza di progetti conclusi, insieme ai file di sessione.
Non è invece adatto come formato di lavoro dentro una DAW che lo convertirebbe comunque, né per lo streaming su reti lente, dove i codec lossy restano più efficienti. Nel mio lavoro archivio i master in FLAC e tengo i WAV originali solo per i progetti ancora aperti.
In sintesi
- La compressione lossless riduce il file restituendo il segnale identico al bit.
- I codec predicono ogni campione e salvano solo l'errore di predizione.
- Il risparmio dipende dal materiale: il parlato si comprime molto, il rumore quasi niente.
- FLAC e ALAC hanno la stessa qualità; si sceglie in base alla compatibilità.
- La firma MD5 del FLAC permette di verificare l'integrità di un archivio.