Campionamento e file audio non compressi
Nell’articolo musica al computer: software e formati file abbiamo introdotto l’argomento.
Qui invece ci chiediamo: quanto spazio occupa un file audio non compresso (un file .wav) in memoria?
Per rispondere consideriamo quattro voci.
Frequenza di campionamento
o sample rate, è il numero di misure del segnale analogico che vengono fatte nell’unità di tempo (un secondo); ad esempio 44100 Hz
Risoluzione in bit o bit depth
o bit depth, è il numero di bit riservati in memoria per salvare ogni singola misura
Durata
è la durata in secondi del brano audio da campionare
Numero di canali
è il numero di registrazioni predisposte per essere ascoltate contemporaneamente da chi ascolterà il brano, ossia 1 per mono, 2 per stereo, 4 per Dolby surround, 5 per Dolby digital, 7 per DTS
Il calcolo
Se dunque ad esempio vogliamo sapere quanti bit occupano 20 secondi di audio campionato a 22050Hz e 128 bit in stereo dobbiamo moltiplicare:
22050 x 128 x 20 x 2 = 112896000 bit
Come mai il risultato è in bit? Dobbiamo ricordare che la frequenza di campionamento è espressa in Hz (che è 1/s) e moltiplicando per la durata in secondi (che è s) si “semplificano”, restando solo i bit.
Il risultato (112896000 bit) lo possiamo trasformare per renderlo più leggibile. Ricordando le unità di misura delle memorie (8 bit sono 1 byte, 1024 byte sono 1kb, 1024kb sono 1Mb, 1024Mb sono 1Gb e 1024Gb sono 1Tb) possiamo dividere per 8 (per avere byte), ancora per 1024 (per avere kb), ancora per 1024 per avere 13Mb circa.
13Mb sono tanti? sono pochi? consideriamo che
- la qualità che si ottiene campionando a 22050 non è certo delle migliori (con riferimento al teorema di Nyquist-Shannon, e al range dei suoni udibili dagli esseri umani [vedi sotto] la frequenza per “sentire bene” dovrebbe essere >40000Hz)
- l’intero testo della Divina Commedia occupa poco meno di 600kb (ossia un ventiduesimo dello spazio che occuperebbero i 20 secondi di musica campionati con le impostazioni dell’esempio sopra)
Cosa concludiamo?
- che le informazioni audio (e multimediali in genere) occupano in memoria molto più spazio delle informazioni in formato testo
- che per questo è indispensabile che le informazioni di tipo audio (e multimediali in genere) vengano sempre compresse (vedi l’articolo sulla compressione dei dati)
Aggiungo di seguito un paio di approfondimenti:
Range dei suoni udibili dagli esseri umani
Di norma udiamo suoni con frequenza da 20 a 20.000 Hz. I suoni con frequenza minore di 20 Hz sono detti infrasuoni (leggi su Wikipedia), quelli con frequenza maggiore di 20.000 Hz sono detti ultrasuoni (leggi su Wikipedia).
Esistono in rete dei generatori di suoni (ad esempio http://onlinetonegenerator.com/) che permettono anche di fare un test delle frequenze (http://onlinetonegenerator.com/hearingtest.html): generando un suono continuo da 20 a 20.000 Hz ognuno di noi può verificare le frequenze che sente effettivamente.
Interessante fare il test con persone di età differenti: l’intervallo (range) di frequenze udibili si restringe con l’aumentare dell’età.
La frequenza di campionamento in pratica
Se ascoltiamo la stessa canzone variando la frequenza di campionamento (ad esempio dai 48.000 Hz tipici di un buon CD agli 8000 Hz tipici di un vecchio telefono) oltre ad accorgerci della bontà del già citato teorema del campionamento, credo riusciamo anche a capire cosa si intende per “perdita di qualità”.
Per farlo esistono numerosi software, io consiglio di andare sul sito della NCH software e scaricarsi il software NCH wavepad in versione di prova. Una volta aperto con wavepad un file mp3, provare ad ascoltare i primi 10 secondi a 48000 Hz, poi abbassare a 44100, 22050, 11025 e infine 8000 Hz, per sentire le differenze (ad esempio ho installato la versione v9.47 per Windows e, per modificare la frequenza di campionamento è necessario cliccare su: Menu -> Modifica -> Conversione velocità campione quindi selezionare la nuova frequenza desiderata).
Come mai passiamo da 48000 a 8000Hz e non il contrario? 48000 Hz significa che per ogni secondo di audio sono state fatte 48000 misure del segnale. Per passare a 8000 ne perdiamo 40000. Se invece dovessimo fare l’operazione inversa dove potremmo prendere queste 40000 misure mancanti? Dovremmo farle “inventare” da un algoritmo mediante interpolazione, ma non sarebbero misure reali, quindi la qualità ottenuta non sarebbe mai pari a quella del suono originale.
L’interpolazione software consiste nell’inserire informazioni fra due informazioni disponibili, deducendo quella mancante mediante calcoli matematici e secondo diversi metodi (lineare, cubico ecc.). Quando è possibile sarebbe meglio non usarla perché, come già detto, fa ottenere un risultato non paragonabile a quello originale.
Bibliografia: Rossignoli, N., Introduzione al digitale, Lampidistampa, Milano, 2008
Immagine: Photo by Nicola Rossignoli presso Liceo Maffei Verona