Audio e computers - la musica digitale



Con la nascita dell'elettronica si e' capito ben presto che le potenzialita' dei sistemi digitali sarebbero state enormi; la produzione delle prime macchine da scrivere con memoria e schermo a cristalli liquidi, che permettevano (addirittura!) di modificare e correggere il testo a proprio piacimento prima di stamparlo sul foglio, e' stata la scintilla che ha permesso l'inizio di una transizione profonda che ha portato dalle scomode tecniche manuali alla odierna tecnologia digitale.

Il percorso di clonazione, che ha interessato per prima la scrittura, si e' in seguito subito esteso agli altri mezzi di comunicazione; forse nessuno si sarebbe mai aspettato che questa quasi "inutile" comodita' avrebbe provocato una vera e propria rivoluzione tecnologica, un radicale cambiamento delle abitudini di tutto il mondo, il raggiungimento di sogni che fino ad allora erano sembrati cosi' lontani!

La conversione di qualsiasi forma di audio (musica, suoni...) e video (fotografie, filmati...) in dati memorizzabili ed utilizzabili da un computer avrebbe infatti permesso, oltre alla possibilita' di ritoccare piccoli errori, o di aggiungere effetti artificiali al prodotto gia' finito, di creare dal nulla perfette sinfonie classiche o godibili pezzi rock, film proiettati nel futuro o ambientati in un periodo storico ormai lontano, studi virtuali, etc...; per non parlare poi della possibilita' di scambiare i dati stessi da un computer all'altro anche distanti centinaia di migliaia di chilometri, mediante cavi, segnali radio e collegamenti via satellite...

Ed e' proprio quello che oggi possiamo fare! Bello eh?

Ora soffermiamoci principalmente sull'audio (che ci interessa piu' da vicino) e vediamo meglio come funziona il trasferimento del segnale musicale su di un supporto digitale.

Per prima cosa, che cosa significa "sistema digitale" ed in che modo e' possibile rappresentare un brano musicale su di esso?

Ad esempio un computer e' un sistema digitale, cioe' si basa su sequenze di cifre (digit in inglese) che possono assumere esclusivamente valore 0 o 1, cioe' binario ( BIT = BInary digiT).

Anche la memorizzazione dei dati viene fisicamente effettuata tramite sequenze piu' o meno lunghe di 0 e 1.

Un brano musicale e' fisicamente formato da infinite sollecitazioni acustiche sinusoidali (dette onde) sommate le une sulle altre con maggiore o minore ampiezza ( figura 1).

Ogni onda acustica e' rappresentabile in un grafico come una linea che varia in funzione del tempo.


figura 1 Qualsiasi segnale audio e' decomponibile in somma finita o infinita
di onde acustiche sinusoidali a diversa frequenza.

E' quindi possibile memorizzare sulla memoria del computer queste coppie di valori "ampiezza dell'onda" e il relativo "tempo" in cui e' stata rilevata quella ampiezza; in questo modo ho trasferito una ben determinata onda sul mio computer e posso anche modificarla, variando a mio piacimento l'ampiezza di un singolo valore; posso anche cancellare una parte dell'onda, sostituendo i valori rilevati in quel preciso intervallo di tempo con una sequenza di bit nulli.

Questo e' quello che viene realmente fatto; ad essere piu' precisi, devo anche poter memorizzare una onda che abbia valori di ampiezza diversi da 0 e 1, per seguire con maggior precisione la dinamica del segnale musicale. Altra limitazione e' il fatto che non posso gestire infiniti istanti di tempo del segnale musicale, devo cercare degli intervalli di tempo abbastanza piccoli in cui suppongo che il segnale audio abbia un valore costante. L'inizio di ogni intervallo viene detto istante di campionamento e mi definisce una coppia "ampiezza dell'onda" "istante di lettura ( o di campionamento)"; in questo modo posso avere un numero finito di campioni del mio brano musicale (la memoria del computer non e' infinita, dopo un po' termina!).

Per risolvere il primo problema, cioe' l'estensione in ampiezza del mio segnale musicale al di fuori di 0 e 1, raggruppo i bit a gruppi di 8 o 16 e memorizzo cosi' il brano come coppie "ampiezza 8/16 bit del campione" "relativo istante di campionamento". Questo meccanismo si chiama "quantizzazione", cioe' prendo il valore massimo del volume del mio segnale e quello minimo e divido l'intervallo tra i 2 estremi in un numero finito di valori di ampiezza.

Utilizzando 8 bit l'ampiezza del segnale campionato puo' variare tra -128 (minimo) a 128 (massimo), con 16 invece tra -32678 a +32678; quindi a scapito di occupare 8 bit in piu' di memoria per ogni istante di campionamento, ottengo una migliore qualita' sonora, intesa come descrizione molto piu' particolareggiata del mio segnale musicale.

Questo fatto e' molto importante, perche' quando, dopo aver modificato il mio brano, io voglia ritrasmetterlo su un supporto audio con una qualita' sonora molto alta ( un cd ad esempio), potrei trovarmi nella condizione di non sapere piu' ricostruire completamente il segnale di partenza! Il messaggio e': se voglio essere troppo avaro nell'occupazione di memoria, il costo da pagare e' nella peggiore qualita' di riproduzione audio ( e lo vedremo bene in seguito perche' e' il punto cruciale su cui si basa la tecnologia mp3); quindi attenzione a come si descrivono le ampiezze di un segnale audio!

Non bisogna pero' stare attenti soltanto a disporre di una abbondante quantita' di bit per memorizzare le variazioni di ampiezza del segnale; gioca un ruolo fondamentale anche la distanza tra i vari istanti di campionamento del brano musicale.

Se per esempio campiono un brano musicale usando un campione ogni 10 secondi, sara' poi molto difficile (diciamo impossibilie) ricostruire la canzone come era all'inizio. Per questo devo disporre degli intervalli di campionamento appropriati, molto ravvicinati, anche a distanza di millesimi di secondo!

Esiste un preciso teorema (Teorema di Shannon) che regola questo intervallo di tempo; tornando al discorso che un brano musicale e' formato da infinite onde, ogni onda ha una ben precisa frequenza, cioe' velocita' di vibrazione. Quando si dice che un segnale musicale e' formato da tante frequenze, si intende che e' somma di tante onde acustiche sinusoidali con frequenze diverse.

Il teorema di Shannon sul campionamento stabilisce (secondo precise considerazioni spettrali) che la frequenza di campionamento (cioe' ogni quanti secondi devo prendere un campione dal brano musicale) deve essere almeno il doppio della maggiore frequenza che e' presente nel brano.

Anche qui vediamo cosa vuol dire in termini di occupazione di memoria: piu' il brano musicale e' articolato e vario, piu' e' ricco di alte frequenze; dovro' quindi aumentare la frequenza di campionamento, cioe' scegliere piu' campioni dal mio segnale audio, per non rischiare di perdere queste alte frequenze che sono essenziali per mantenere inalterata la qualita' del brano musicale; ogni campione verra' rappresentato come detto da coppie "ampiezza in 8/16 bit (detto volgarmente 'volume', per capirci)" "relativo istante di campionamento"; quindi prendere piu' campioni vuol dire avere tanti bit in piu' da memorizzare e quindi utilizzo maggiore della memoria!

Anche in questo caso per riuscire a mantenere la canzone nella sua qualita' originaria, devo assolutamente utilizzare molti piu' bit per descriverla; questo e' il principio su cui si basa la tecnologia mp3.


figura 1 Questa e' un'onda acustica sinusoidale ad una data frequenza, che rappresenta il segnale audio che vogliamo campionare per trasferirlo su un supporto digitale.


figura 2 Ecco come si presenta il suo spettro, cioe' il suo contenuto frequenziale; chiaramente c'e' solo una riga, perche' il nostro segnale audio ha una sola frequenza. Quanto spazio sprecato, per ricostruire la sinusoide basterebbe conservare solo quella unica riga!


figura 3 Proviamo prima a campionare con precauzione, prendendo piu' informazioni di quante realmente ne servano. Conserviamo dal segnale audio solo i campioni evidenziati dai cerchietti blu.


figura 4 Controlliamo che lo spettro del nuovo segnale campionato conservi ancora la riga; si', c'e' ancora. Possiamo campionare ancora di piu'.


figura 5 Campioniamo nuovamente tenendoci un po' sopra al limite teorico di Shannon, cioe' circa 2 volte la frequenza della sinusoide. ( i campioni che otteniamo sono sempre quelli cerchiati in blu)


figura 6 !!!!La riga e' rimasta, pur avendo perso tutte quei dati che sembravano cosi' importanti! La ricostruzione sara' quindi ancora possibile!


figura 7 Abbiamo detto che un segnale audio e' la somma di infinite sinusoidi a frequenze diverse; proviamo allora a prendere un segnale molto noto, il "tada.wav" di Windows. Questa e' la sua rappresentazione nel tempo...


figura 8 Mentre questo e' il suo contenuto frequenziale; ad ogni riga corrisponde una sinusoide (come quella che abbiamo visto prima); il segnale e' proprio la somma di tutte queste sinusoidi di diversa ampiezza e diversa frequenza. Possiamo notare come verso destra le ampiezze tendano a diventare nulle; quindi questo segnale e' stato campionato bene, cioe' ha mantenuto le componenti frequenziali importanti, quelle con maggiore ampiezza.



Speciale MP3, argomenti trattati:

Il formato MP3
> Audio e computers
> La nascita del formato mp3
> Trucchi e segreti degli mp3

L'hardware
> i lettori MP3 (2001)

Diritto d'autore
> Problemi legati al diritto d'autore
> Che cosa fa la SIAE per voi?
> Non solo SIAE per proteggere la propria musica

Appunti, spunti, commenti
> MP3, Legalità, Siae, Cd-Rom compilation... ecc. ecc.

Per chi ha fretta
> Le domande piu' frequenti (FAQ)
> Mini FAQ per chi ha molta fretta...

---
L'articolo Audio e computers - la musica digitale di Camillo è apparso su Rockit.it il 2000-12-11 00:00:00

COMMENTI

Aggiungi un commento Cita l'autore avvisami se ci sono nuovi messaggi in questa discussione Invia