Il
segnale audio è per sua natura un segnale analogico, ovvero
un segnale che varia in modo continuo nel tempo. Se volessimo
"graficarlo", riportando su un diagramma la variazione
dell'intensità sonora nel tempo, otterremmo un andamento di
questo tipo:

Da
notare che non ci sono salti bruschi . Inoltre la ampiezza
può assumere una infinità di valori passando da un valore
minimo ad uno massimo. La larghezza temporale di questa forma
d'onda è molto breve, tipicamente un millisecondo o due. Un
segnale digitale ha invece una forma di questo tipo :

Riuscire
a rappresentare un segnale audio, per sua natura analogico
e dunque con un andamento"morbido" con un segnale digitale
preservando l'informazione è un argomento che è alla base
della teoria dell'informazione. La risposta sta in
un trucco: campionare il segnale, ossia prelevare, ad intervalli
regolari, il valore del segnale audio, che si presenta sotto
forma di un segnale elettrico che varia nel tempo. L'idea
è quella di approssimare la funzione analogica che è "morbida"
con una funzione fatta a rettangoli.

Ad
ogni istante multiplo di un valore fondamentale, detto passo
di campionamento, costruisco il rettangolino che approssima
la funzione in quel punto. Se l'insieme dei rettangolini è
sufficientemente fitto , la funzione di partenza è ben approssimata.
Nel disegno in alto abbiamo supposto di dividere la porzione
del segnale in 10 parti, ognuna di durata T. Se la durata
complessiva è di 1ms, il passo di campionamento sarà di 0.1
ms, ovvero la frequenza di campionamento è di 1/(0.1 ms) cioè
10KHz . L'errore che si commette con l'approssimazione è notevole.
Nelle seguenti figure vadiamo la "spezzata" che approssima
la funzione (È stata costruita prendendo i valori delle altezze
dei rettangoli) e il risultato di un campionamento a frequenza
maggiore. Se aumentiamo la risoluzione, cioè il numero di
rettangoli, l'errore di conversione diminuisce:


Ora,
notiamo che l'altezza della funzione al variare di t varia
in modo continuo. Nella figura in alto ho supposto di poter
dividere l'altezza in 18 parti. Se il segnale originale cade
nell'istante di campionamento fra i valori, diciamo, 12 e
13, decido arbitrariamente di assegnargli il valore 12. Ho
cioè quantizzato l'ampiezza, che potrà assumere solo valori
discreti, compresi fra 0 e 17. In informatica si lavora, come
sapete, con le potenze del due, quindi supponiamo di quantizzare
l'ampiezza con 16 livelli (2 elevato alla 4): dunque essa
potrà assumere solo valori compresi fra 0 e 15. Sono quindi
necessari 4 bit : ad esempio il valore 7 dell'ampiezza verrà
codificato come la stringa 0111. Allora si capisce come in
ogni intervallo di campionamento devo trasmettere 4 bit. Il
meccanismo di campionamento e la successiva quantizzazione
dell'ampiezza costituiscono le basi della conversione di un
segnale da analogico a digitale.
Passiamo
ad un esempio concreto: le tracce audio digitali di un
CD sono immagazzinate in file binari esattamente seguendo
questo principio, solo che in ogni secondo vengono prelevati
ben 44100 campioni e ogni campione è quantizzato con 16 bit.
Considerando che ho due canali, sinistro e destro, avrò un
bit- rate complessivo pari a : 44100 * 16 *2= 176400 bytes/secondo
valore che corrisponde alla velocità di lettura "1x" dei normali
lettori CD audio. Tale bit-rate, a partire dalla codifica
finora discussa, porta alla qualità sonora note come "qualità
CD", che è lo standard di riferimento quando si valutano i
risultati prodotti dagli algoritmi di compressione . Per quale
motivo si è scelto di utilizzare un rate o tasso di campionamento
di 44100 campioni al secondo? Perchè è noto che l'orecchio
umano arriva idealmente a percepire frequenze entro i 20 KHz.
Oltre questo limite l'uomo non ode nulla, così come sotto
i 20 Hz. Da considerazioni di natura matematica, che non trattiamo
in questa sede, si deve scegliere una frequenza di campionamento
che sia almeno pari alla massima frequenza di interesse moltiplicata
per due, se non si vogliono avvertire imperfezioni nell'ascolto
(teorema del campionamento). In breve, 20mila per due
fa 40mila. Un valore leggermente superiore (44100) permette
però di avere un pò di tolleranza al rumore nella costruzione
dei filtri digitali preposti al trattamento del segnale.
Questa
discussione "qualitativa" è servita ad introdurre
i concetti di base dell'audio digitale. Lo standard PCM,
tipicamente usato per maneggiare un segnale audio in forma
digitale non compressa, prevede proprio l'impiego di un rate
di campionamento pari a 44100 campioni al secondo quantizzati
a 16 bit per canale. Un formato audio non compresso molto
noto agli utenti Windows è il WAV; WAV organizza
i dati campionati in modo analogo al PCM. È
facilmente calcolabile che un brano di 5 minuti trattato in
questo modo produce un file di una cinquantina di Megabyte
(10MByte/minuto). Negli hard disk commerciali di una decina
di anni fa neanche ci sarebbe entrato tutto! L' aumento progressivo
di potenza dei calcolatori ha però favorito negli ultimi
decenni lo sviluppo e la diffusione dei sistemi di compressione
dei dati audio che permettono, come vedremo, una forte riduzione
delle dimensioni dei file.