domenica 24 gennaio 2010

Lossless: FLAC


Il post sugli mp3 terminava promettendo (o minacciando, a seconda…) di parlare di altri due argomenti: la “transcodifica” ed i codec “Lossless”.

La transcodifica è la pratica di “trasformare un file audio da un formato ad un altro”, pratica molto comune soprattutto nei primi tempi del file sharing, quando gli mp3 erano ancora degli sconosciuti, ma ancora comunque fin troppo diffusa nel mondo dei blog mp3, di Soulseek, dei tracker pubblici: tutti posti dove l’accento non è – quasi mai - messo sulla qualità, ma sulla sempice disponibilità.

Parlando di mp3 abbiamo visto che il passaggio nel codec mp3 è un passaggio “lossy”, cioè a perdita di informazioni: dall’mp3 non è possibile ricostruire il file originale, ma solo una sua – più o meno fedele – approssimazione.

Questo vale per ogni passaggio in un codec mp3 [1]: ad ogni successiva codifica/decodifica si perde un po’ del segnale originale.

Vale a dire: se scarico un file CBR/320 e lo trasformo in un file ad esempio in un file CBR/128 (così mi occupa meno spazio sul player portatile!) il file ottenuto è della stessa dimensione ma di qualità inferiore a quello che si sarebbe ottenuto codificando direttamente da un cd a un file CBR/128.

La cosa vale ancora di più per il passaggio inverso: se aumento la risoluzione da 128 a 320, ottengo un file di dimensioni pari a quelle di un file codificato direttamente a 320, ma di qualità inferiore a quella del file 128 di partenza.

Ogni passaggio in un codec “Lossy” riduce la qualità [2] del file mp3 – ecco perchè i file mp3 non dovrebbero mai essere transcodificati, e perché i tracker privati più attenti alla qualità hanno regole precise e stringenti su questo aspetto.

Ma fin’ora ci siamo limitati a parlare di codec “Lossy”: esistono anche i codec “Lossless”, il più “famoso” dei quali è il FLAC, il formato che ha ormai vinto la “battaglia” con i concorrenti (APE, ALAC, DTS, etc) diventando lo standard de facto.
Il funzionamento del codec è identico a quello già visto per un codec mp3, ma con una fondamentale differenza: una volta decompresso un file FLAC, si ottiene un file audio (tipicamente wav) assolutamente identico al file originale. Non c’è nessuna perdita di informazioni nel passaggio.
Il file decompresso è identico, bit per bit, a quello originale che troviamo sul cd.

Per quanto riguarda le dimensioni, i codec “Lossless” non possono essere evidentemente così efficienti come i codec “Lossy”: semplificando al massimo, un file mp3 è circa 10 volte più piccolo di un file wav, mentre un file FLAC è solo il 50% più piccolo del file originale.
Ovviamente bisogna poi dare un significato a quel “solo 50%”… in termini di spazio su hard disk o sfruttamento di banda sul web i vantaggi di un file FLAC mi sembrano evidenti per chi non vuole accettare neppure il minimo compromesso sulla qualità.

Naturalmente esistono audiofili che invece sostengono che un file FLAC non è uguale a un cd, ma Santa Polenta, se neppure il fatto che i due file siano identici dal punto di vista matematico [3] – e stiamo parlando di audio digitale – è sufficiente a convincere chi crede nella magia… ;)

E a questo punto possiamo ricollegarci all’argomento precedente: il terzo [4] vantaggio fondamentale dei file FLAC è quello di rendere possibile sia una transcodifica “Lossless” (nel passaggio tra formati come FLAC e ad esempio ALAC) sia una transcodifica “Lossy” identica a quella ottenibile dal file originale.
Dovrebbe essere più che evidente che, ricavando ad esempio un mp3 per il lettore portatile da un cd audio o da un file FLAC ottengo due file esattamente identici, così come sono identici i file di partenza!


Note e links:
[1] La stessa cosa vale per tutti i codec “Lossy”, sia nel caso di transcodifica “interna” al codec (da mp3 a mp3) sia nel caso di transcodifica “esterna” tra codec (da mp3 a wma e tutte le possibili combinazioni con gli altri codec esistenti)

[2] Questo vale – e dovrebbe essere ormai ovvio - anche nel caso in cui si utilizzi come file di partenza un cd “masterizzato”, cioè creato a partire da file mp3. Il passaggio da mp3 a cd audio è ovviamente “Lossy” così come il successivo passaggio da cd a mp3.
In effetti, quando facciamo una transcodifica “diretta” di file mp3, il codec esegue esattamente questo passaggio: decomprime da mp3 a wav e poi ricomprime in mp3 :)

[3] La cosa è facilmente verificabile utilizzando l’hash dei due file…

[4] Dove i primi due sono l’archiviazione di una copia perfettamente identica all’originale ed il risparmio del 50% di spazio. E volendo ne aggiungiamo qui un quarto: il codec FLAC è completamente gratuito (ed open source), qualsiasi player software “decente” è in grado di usarlo senza nessun problema.

6 commenti:

redazione ha detto...

OT grazie per la visita!

@enio ha detto...

con i nuovi lettori si evitano inutili riconversioni, io addirittura mi sparo i macchina una chiavetta da 4 giga... hai voglia a sentire mp3...

allelimo ha detto...

Non sono sicuro di avere capito cosa c'entrino i nuovi lettori con le riconversioni, comunque benvenuto a @enio :)

Webbatici ha detto...

Questa è la lezione sui kbps che mi facesti più di un anno fa, e ricordo con allegria il tuo inorridimento quanto ti dissi che facevo i transcodes per ridurre lo spazio di occupazione degli mp3!
Da allora cerco sempre di procurarmi i bitrate più alti, anche se quei maniaci del lossless un po' mi stanno sui ...... e sai a chi mi riferisco :-)

allelimo ha detto...

Eheh, però devi ammettere che lì dove dici tu non ti capiterà praticamente mai di scaricare qualcosa che non sia tecnicamente della migliore qualità possibile :)

Webbatici ha detto...

Come in tutte le cose, basterebbe avere un filo di buon senso....Quanti dischi rigidi esterni da 1TB mi ci vorrebbero, se volessi tenere tutto in FLAC?
Era un concetto molto molto ironico, comunque, non ho nulla in contrario e hai ragione :-)