Sei sulla pagina 1di 46

Conservatorio di Musica di Reggio Calabria

Diploma accademico in Discipline musicali

Informatica musicale I
Moduli A e B1
Dispense del Corso

A.A. 2004-'05

Programma di studio A.A. 2004-'05 (moduli A e B1)


1) Introduzione all'informatica
1.Definizioni generali
2.Ambiti dell'informatica musicale
3.Cenni storici sui rapporti tra musica ed elettrotecnica-elettronica
4.Nozioni di calcolo binario
5.Operazioni logiche booleane
6.Teoria dell'informazione
7.Codifica digitale del testo, delle immagini, del suono
8.Origine e concetto di algoritmo
9.Caratteristiche del suono e sua discretizzazione
10.Analisi digitale dei segnali
11.Campionamento e quantizzazione
12.Frequenza di campionamento
13.Errore di aliasing
14.Filtri digitali
15.Convertitori digitali

2) Architettura dei sistemi informatici


1.Dispositivi di input e output
2.Macchina di Turing
3.Macchina di von Neumann
4.Processori RISC e CISC
5.Memorie di massa
6.Sistemi operativi
7.Memorie random access, read-only, flash, cache

Informatica musicale I A.A. 2004-2005

Parte prima
INTRODUZIONE ALLINFORMATICA

Il termine informatica fu coniato dall'ingegnere francese Philippe Dreyfus nel 1962.


Dal francese informatique, contrazione di informazione automatica, designa la disciplina che aiuta a risolvere problemi di una parte semplificata della realt tramite tecniche e metodi per la rappresentazione, l'elaborazione, la conservazione e la trasmissione
dell'informazione. Il computer, secondo l'architettura von Neumann, il mezzo per realizzare questi 4 punti elencati.

Linformatica musicale quella branca che si occupa delluso dei computer per finalit musicali (e non della musica fatta da un elaboratore: in questo caso si parla di musica informatica/elettronica o computer music). Comprende tutte le attivit di

ricerca

composizione

interpretazione

programmazione

edizione

istruzione

esecuzione,ecc.,

orientate allanalisi, alla trasformazione o alla sintesi di fenomeni musicali.

Luso del computer per applicazioni musicali stato preso in considerazione sin dagli
albori dellinformatica. Le prime ricerche risalgono al 1957 e furono condotte negli
U.S.A., presso lUniversit dellIllinois; ad esse si affiancarono presto le ricerche ai laboratori della Bell Telephone, nel 1959, e successivamente nellUniversit di Princeton
dal 1963. La musica si era per gi sposata con queste tecnologie almeno 60 anni
prima.

Nel 1876, infatti, Elisha Gray (U.S.A.) invent il Telegrafo musicale, prima applicazione dellelettrotecnica nella musica.

Informatica musicale I A.A. 2004-2005

Al 1906 risale invece linvenzione, da parte dello statunitense Thaddeus Cahill, del
thelarmonium o dinamfono, gigantesco strumento elettroacustico a tastiera del peso di
200 tonnellate il cui suono veniva trasmesso attraverso il telefono agli utenti.

Nel 1920 il russo Leon Theremin inventa leterofono o theremin, strumento atipico che
suona secondo i movimenti delle mani fra due antenne.

Nel 1928 la volta delle onde martenot. Lo strumento che le produce viene impiegato
entusiasticamente dai compositori dellepoca in contesti prevalentemente orchestrali
(Messiaen, Honegger, Milhaud, ecc.)

Nel 1935 nasce il diretto discendente del thelarmonium: lorgano hammond, strumento
di eccezionale successo impiegato fino agli anni 70. Ancora oggi il suo inconfondibile
e seducente suono viene imitato dalla maggior parte dei pi sofisticati sintetizzatori.

Nel 1964 nasce il primo vero e proprio sintetizzatore elettronico: il moog. Erede del
Theremin, ebbe larghissimo impiego fino agli anni 80.

Negli anni 60, compositori di varie nazionalit cominciano ad usare il computer come
ausilio nella composizione dei loro brani. In questa prima fase si possono gi segnalare
diverse composizioni realizzate con lausilio di mezzi informatici: la Iliac Suite per
quartetto darchi di Lejaren Hiller e Leonard Isaacson (1957), Atrees di Iannis Xenakis
(1962), bung fr Klavier di Gottfried Michael Koenig (1969).

Il termine computer music nato dalle prime esperienze statunitensi e descrive


latteggiamento con cui prevalentemente si sono accostati i ricercatori-musicisti americani al computer, per fare musica con lelaboratore (automazione dellinterpretazione),
per produrre testi musicali e suoni.

Il computer in grado di effettuare processi di analisi, elaborazione e sintesi ai due livelli fondamentali del fenomeno musicale: testo musicale (partitura) e suono (esecuzio-

Informatica musicale I A.A. 2004-2005

ne, interpretazione) a condizione che il tutto sia codificato in informazioni da esso manipolabili.

Da Leibniz a Shannon, calcolo binario e teoria dellinformazione

Il calcolo binario, usato dal computer, fu studiato sistematicamente per la prima volta
dal filosofo tedesco Gottfried Willhelm Leibniz (Lipsia 1646, Hannover 1716), che sostenne con forza l'estremo interesse matematico e filosofico dell'aritmetica binaria. Filosofo, matematico, studioso di fisica e di diritto, storico e linguista, ingegnere e diplomatico, Leibniz forse uno degli ultimi esempi di ingegno 'universale'; sia la sua filosofia, sia il suo lavoro nei campi della fisica e della matematica sono del resto direttamente influenzati dalla molteplicit dei suoi interessi.

Probabilmente, Leibniz stato portato a sviluppare il suo sistema di numerazione binaria riflettendo su quello a base 4 (nel quale vengono usate 4 'cifre' primitive attraverso la
cui combinazione ottenere tutti i numeri) ideato da uno dei suoi maestri, il matematico
Erhard Weigel (1625-1699). Leibniz criticava l'arbitrariet della base 4 scelta da Weigel: se l'obiettivo che ci muove nell'allontanarci dalla familiare 'base 10' quello di ridurre la lunghezza dei numeri, ragiona Leibniz, occorre scegliere semmai una base pi
alta del 10, ad esempio 12 o 16.

Se viceversa l'obiettivo quello della maggiore semplicit teorica, occorre scegliere la


base pi 'semplice' possibile, quella che comprende il minor numero possibile di simboli
primitivi: la base 2, propria del calcolo binario. Proprio per la sua caratteristica di semplicit teorica, argomentava Leibniz, il calcolo binario si presta particolarmente bene a
permettere lo studio delle propriet dei numeri e delle successioni di numeri, un campo
di studio di particolare importanza per la matematica a cavallo fra XVII e XVIII secolo.

Claude Shannon, nato nel 1916 a Gaylord, nel Michigan, deve la sua fama soprattutto ai
suoi fondamentali contributi teorici, fra i quali il pi rilevante sul piano concettuale
probabilmente La teoria matematica della comunicazione. E' questo il titolo del saggio

Informatica musicale I A.A. 2004-2005

che Shannon pubblic nel 1949, assieme a Warren Weaver, sul Bell System Technical
Journal. Questo testo, sorprendentemente leggibile pur essendo una relazione tecnica,
alla base di quella che ora si chiama teoria dell'informazione (information theory): un
campo che ha reso possibili tutte le moderne comunicazioni elettroniche. Quando cominci a lavorare in questo campo, l'obiettivo di Shannon era solo quello di eliminare i
disturbi dai collegamenti telefonici; ma la teoria dell'informazione cui approd rappresenta una delle pi importanti conquiste teoriche del nostro secolo.

Per un lettore inesperto, la "teoria dell'informazione" potrebbe sembrare qualcosa che ha


a che fare principalmente con la critica dei media. Ma la teoria dell'informazione delineata da Shannon in realt non riguarda direttamente tale ambito. Piuttosto, Shannon si
interroga su quali aspetti distinguere all'interno di un processo comunicativo, e osserva
come una distinzione fra la sfera 'tecnica' della comunicazione e quella relativa ai suoi
contenuti semantici possa portare a una migliore comprensione delle caratteristiche del
processo. Per Shannon, pur avendo naturalmente una funzione essenziale nel processo
comunicativo, "gli aspetti semantici della comunicazione sono irrilevanti sotto il profilo
tecnico. Ci che conta che il messaggio effettivo stato scelto fra un insieme dei messaggi possibili".

Linformazione in forma numerica

Per capire la rivoluzione in atto nel mondo dei media, e per rendersi conto delle ragioni
che hanno reso il computer lo strumento per eccellenza nella gestione di informazione
di ogni genere, occorre innanzitutto comprendere un concetto fondamentale: quello di
informazione digitale.

Si tratta sicuramente di uno dei concetti-chiave del nostro tempo (non a caso si parla
spesso di digital revolution e di digital culture). Eppure, molto spesso l'idea che se ne
ha estremamente vaga: "l'informazione in formato digitale quella che pu essere
manipolata da un computer". Al pi - magari ricordando che gli orologi digitali sono
quelli nei quali l'ora viene direttamente indicata attraverso numeri anzich attraverso la

Informatica musicale I A.A. 2004-2005

posizione delle lancette sul quadrante - ci si spinge a collegare il concetto di 'digitale' al


termine inglese digit (cifra o numero), compiendo il passo ulteriore di identificare l'informazione in formato digitale con l'informazione in formato numerico.

I concetti di base del mondo del digitale sono assolutamente elementari, alla portata di
tutti. Normalmente, tendiamo ad utilizzare il termine 'informazione' in un senso molto
generale: facciamo cos, ad esempio, quando parliamo di informazione giornalistica o
radiotelevisiva, o quando chiediamo 'una informazione' a qualcuno. Sarebbe difficile definire in maniera rigorosa questo concetto generico di informazione. A ben guardare, vi
si confondono diversi significati: l'azione di comunicare una notizia, il contenuto della
comunicazione (che a sua volta potrebbe essere distinto nel suo aspetto materiale - ad
esempio una successione di caratteri - e nel suo aspetto significativo), le caratteristiche
del mezzo di comunicazione usato... E' possibile, tuttavia, provare a definire un concetto
specifico di informazione, e vedere poi se, e in che misura, il concetto cos definito pu
essere usato, almeno in alcuni casi, anche per capire l'nformazione in senso pi generale.

Primo esempio: estate, fa caldo, stiamo tornando a casa e non vediamo l'ora di fare una doccia. Nell'aprire la porta di casa, tuttavia, un dubbio ci assale: siamo sicuri di aver
lasciato lo scaldabagno acceso?

Riflettiamo un secondo sulla situazione appena considerata. Nel momento di entrare in


casa, ci manca una informazione: l'informazione relativa allo stato dello scaldabagno.
Sappiamo che lo scaldabagno pu trovarsi in uno fra due stati possibili: acceso, o
spento. Ma non sappiamo ( questa l'informazione che ci manca) in quale stato esso si
trovi effettivamente.

Una situazione di questo genere ci presenta una scelta fra due alternative (detta spesso
scelta binaria). Per controllare lo stato dello scaldabagno, daremo probabilmente un'occhiata alla posizione del suo interruttore: acceso o spento.

Informatica musicale I A.A. 2004-2005

Al posto dell'interruttore, potremmo in questo caso usare una lampadina accesa o spenta
- potremmo in realt usare qualunque tipo di rappresentazione che ci metta a disposizione due simboli: uno per lo stato 'acceso', e uno per lo stato 'spento' cio 0 e 1.

Ebbene, quell''1' e quello '0' sono gi una forma di codifica numerica (digitale) di una
informazione.

Questa relativa allo scaldabagno era un'informazione semplicissima, c'erano solo due
alternative a disposizione. Prima di prendere in considerazione situazioni pi complicate, tuttavia, riflettiamo un momento su questo esempio. Proprio perch semplicissimo,
potr forse aiutarci a capire qualcosa di pi sul concetto di informazione.
Innanzitutto, nel caso che abbiamo descritto l'informazione che ci interessava era collegata a una scelta fra pi alternative (nel caso specifico, fra due alternative). Non sar
forse possibile estendere questa idea anche ad informazioni di altro tipo?

Secondo esempio: ci serve il numero di telefono di un'amica. L'amica abita a Milano,


quindi sappiamo che le prime cifre saranno 02. Ma ci mancano le altre. Probabilmente,
basandoci sulla normale lunghezza dei numeri telefonici di Milano, ci mancano 7 o 8
cifre. Potremmo provare a comporre, una dopo l'altra, tutte le possibili combinazioni,
fino ad arrivare a quella giusta? In teoria s, in pratica per non lo faremo mai: le combinazioni possibili sono moltissime, provarle tutte sarebbe troppo lungo (e troppo costoso!). Anche in questo caso, l'informazione che ci serve corrisponde alla scelta fra diverse alternative: solo che le alternative possibili sono molte di pi. E un problema di
quantit, non di qualit.

Terzo esempio: supponiamo adesso di considerare un'informazione di tipo un po' diverso: stiamo risolvendo uno schema di parole crociate, e troviamo fra le definizioni "l'autore di Ossi di seppia". Questa volta, dunque, abbiamo a che fare con un nome. Guardando lo schema, vediamo che deve essere lungo sette lettere. C'entra ancora la nostra
idea di scelta fra diverse possibili alternative? A ben guardare, s: in ognuna delle sette
caselline dello schema corrispondenti alla nostra definizione dovr andare una lettera
dell'alfabeto. Tutto sta nello scegliere le lettere giuste. Anche qui, dal punto di vista pu-

Informatica musicale I A.A. 2004-2005

ramente combinatorio le alternative possibili sono numerosissime, da 'Aaaaaaa' a 'Zzzzzzz' (due nomi piuttosto improbabili). E anche qui l'informazione che ci interessa - il
nome 'Montale' - corrisponde alla scelta di una fra tali alternative. Se nello schema di
parole crociate alcune caselle della definizione che ci interessa (ad esempio la 'M' iniziale e la 'E' finale) sono gi riempite, le alternative a nostra disposizione diminuiscono,
e diventa pi facile individuare la parola cercata.

Sulla base di questi esempi, possiamo dire che, almeno in alcuni casi, tipi diversi di informazione hanno a che fare con un meccanismo di base simile: una situazione di scelta fra pi alternative. Pi numerose sono le alternative a nostra disposizione, maggiore
sar il contenuto informativo della nostra scelta.
Ma non sappiamo ancora se, e come, questo meccanismo possa operare nel caso di informazioni che non siano numeriche o testuali - ad esempio nel caso di informazioni visive o sonore. Inoltre, non sappiamo ancora se, e come, una informazione di tipo testuale (ad esempio il nome 'Montale') possa essere trasformata in informazione numerica.

L'informazione relativa allo stato dello scaldabagno, nel primo esempio, pu essere
immediatamente rappresentata in forma numerica: un '1' pu indicare lo scaldabagno
acceso, uno '0' lo scaldabagno spento. La rappresentazione attraverso '0' e '1' (attraverso
cio un sistema di codifica binaria, che utilizzi due sole cifre) ha un importante vantaggio: i dati binari sono facilmente rappresentabili (e manipolabili) all'interno di un computer. Possiamo cos pensare a un computer che, ad esempio, controlli lo stato del nostro scaldabagno, rappresentandolo attraverso una celletta di memoria: la celletta conterr un '1' se lo scaldabagno acceso, e uno '0' se spento.
Questa celletta corrisponde a un bit di informazione. Il termine bit uno dei terminichiave dell'universo digitale. Un bit, infatti, non altro che la quantit di informazione
fornita dalla scelta fra due alternative diverse, considerate come egualmente probabili.

In effetti, l'uso in campo informatico del termine 'digitale' non si riferisce di norma solo
al fatto che l'informazione rappresentata in forma numerica, ma al fatto che rappre-

Informatica musicale I A.A. 2004-2005

sentata in forma numerica sulla base di una codifica binaria, e dunque attraverso bit (il
termine bit corrisponde alla contrazione dell'inglese binary digit, numero binario).
Rappresentare in forma binaria una qualsiasi informazione numerica (come il numero di
telefono del secondo esempio) compito relativamente facile. vero che in genere
siamo abituati a utilizzare un sistema di numerazione decimale (i numeri sono costruiti
utilizzando le dieci cifre 0,1,2,3,4,5,6,7,8,9).

Sappiamo per che ogni numero decimale pu essere trasformato in un numero binario
(costruito usando solo lo '0' e l''1'): lo '0' e l''1' resteranno uguali, ma il 2 sar rappresentato dalla combinazione '10', il 3 da '11', il 4 da '100', il 5 da '101', il 6 da '110', il 7 da
'111', l'8 da '1000' e cos via.

La nostra rappresentazione dei numeri superiori a 1 sar cio ottenuta combinando fra
loro (in maniera ordinata) un numero via via maggiore di '0' e di '1', proprio come nel
nostro familiare sistema decimale i numeri superiori al 9 vengono costruiti combinando
fra loro (in maniera ordinata) le dieci cifre che abbiamo a disposizione.

Lalgebra che fornisce gli strumenti necessari per elaborare ed interpretare le informazioni in forma binaria stata fondata dall'inglese George Boole (1815-1864). Si tratta di
una struttura algebrica definita da:

1. Linsieme { 0 , 1}
2. a+b, somma logica (operatore binario logico OR, "disgiunzione")
3. ab opp. ab, prodotto logico (operatore binario logico AND, "congiunzione")
4. _, negazione o inversione (operazione unaria NOT, "negazione")
5. La relazione di equivalenza con le propriet:
Riflessivit a = a
Simmetria a = b

b=a

Transitivit a = b, b = c

a=c

6. Valgono le seguenti relazioni:


a+0=a

a +1 = 1

a+a=a

a+_=1

10

a0=0

a1=a

aa=a

a_=0

Informatica musicale I A.A. 2004-2005

Le principali operazioni logiche sono dunque:

AND (=e, prodotto logico)


OR (=o non esclusivo, come il vel latino, somma logica)
NOT (=al contrario, negazione o inversione)

In queste operazioni, i simboli '1' e '0' rappresentano:

1 = vero, s, "presenza"

0 = falso, no, "assenza"

simboli dei
circuiti logici

11

Informatica musicale I A.A. 2004-2005

Altri operatori logici sono:

NOR (prima funzione di Sheffer)


E' l'inversione dell'operatore somma (OR). Loperatore NOR coincide con un OR negato:

NAND (seconda funzione di Sheffer)


E' l'inversione dell'operatore prodotto (AND). Loperatore NAND coincide con la negazione del risultato delloperatore AND:

Con le sole funzioni NOR e NAND possibile effettuare qualunque operazione logica
usando esclusivamente l'una o l'altra di esse.

EXOR (a

b)

Loperatore di non equivalenza EXOR, detto anche OR esclusivo, assume valore 1 solo
se le due variabili binarie hanno valore diverso tra loro:

12

Informatica musicale I A.A. 2004-2005

EXNOR
Loperatore EXNOR coincide con EXOR negato, cio assume valore 1 solo se le due
variabili binarie hanno lo stesso valore:

La teoria dellinformazione

Ogni messaggio utilizza un codice che deve essere comune a chi lo trasmette e a chi lo
riceve, e sulla cui base il messaggio deve essere interpretato. I codici utilizzano di norma un certo numero di simboli di base, e costruiscono messaggi complessi combinando
fra loro i simboli di base sulla base di apposite regole di combinazione.

Stabilire esattamente quali siano i simboli semplici e quali siano le combinazioni ammesse pu essere assai difficile, soprattutto nel caso delle lingue storico-naturali (i simboli di base saranno le singole lettere, le parole che troviamo in un dizionario, o qualcos'altro ancora?), ma in generale sembra molto naturale pensare che - anche nel caso
delle lingue storico-naturali - chi codifica un messaggio lo faccia attraverso una successione di scelte, scelte effettuate fra i simboli semplici e le combinazioni di simboli semplici messe a sua disposizione dal codice che sta utilizzando.

Il padre della moderna teoria dell'informazione, Claude Shannon, in un famoso articolo


del 1948 ha proposto di utilizzare il concetto di scelta (o decisione) per misurare la
quantit di informazione contenuta in un messaggio. Per semplificare questa misura,
Shannon suggerisce di ridurre ogni scelta a una successione di scelte binarie:

UNA SCELTA FRA PI ALTERNATIVE


pu sempre essere ridotta a
PI SCELTE FRA DUE ALTERNATIVE.

13

Informatica musicale I A.A. 2004-2005

Prendiamo ad esempio un semaforo: ha tre lampadine, ciascuna delle quali pu essere


accesa o spenta (trascuriamo qui il caso un po' particolare della lampadina gialla lampeggiante). La nostra scelta dunque fra otto alternative: 1. tutte e tre le lampadine
spente; 2. verde acceso; 3. giallo acceso; 4. rosso acceso; 5. verde e giallo accesi; 6.
giallo e rosso accesi; 7. verde e rosso accesi; 8. verde, giallo e rosso tutti accesi (le ultime due combinazioni sarebbero sicuramente un po' pericolose per il traffico).

Il semaforo, in un certo senso, rappresenta una scelta fra otto alternative in termini di
tre scelte binarie, cio di tre scelte (ognuna rappresentata da una lampadina) fra due
sole alternative (acceso o spento). A questo punto dobbiamo ricorrere al concetto di logaritmo in base 2:
il logaritmo in base 2 di un numero n
il numero x al quale bisogna elevare 2 per ottenere n:
log2 n = x
e, di conseguenza,
n = 2x

La scelta fra n alternative diverse (nel nostro esempio, 8 alternative diverse; se vogliamo essere rigorosi, necessario aggiungere che queste alternative devono essere anche
egualmente probabili) corrisponde a log2 n scelte binarie (nel nostro esempio, log2 8 =
3). Sappiamo in effetti che 8 = 23, e che dunque il logaritmo in base 2 di 8 proprio 3.
Se il semaforo avesse 4 luci (per esempio, rosso, verde, giallo, blu), le scelte binarie diventerebbero 4, e le alternative 24 = 16 (1. tutte accese, 2. tutte spente, 3.rosso acceso, 4.
giallo acceso, 5. verde acceso, 6. blu acceso, 7. rosso e giallo accesi, 8. rosso e verde accesi, 9. rosso e blu accesi, 10. giallo e verde accesi, 11. giallo e blu accesi, 12. verde e
blu accesi, 13. rosso giallo verde accesi, 14. giallo verde blu accesi, 15. rosso giallo blu
accesi, 16. rosso verde blu accesi).

Per capire meglio questo meccanismo pensate a un gioco: supponiamo che dobbiate indovinare il numero (intero) pensato da un amico, sapendo che questo numero compreso fra 1 e 8 (8 alternative), e avendo a disposizione solo tre domande alle quali il vostro
amico pu rispondere solo 's' o 'no'. Potete innanzitutto chiedere se il numero pensato

14

Informatica musicale I A.A. 2004-2005

dal vostro amico compreso fra 1 e 4. Supponiamo che la risposta sia 'no': allora chiaro che il numero compreso fra 5 e 8. Vi sono rimaste 4 alternative. Dimezzatele di
nuovo, chiedendo come seconda domanda se il numero compreso fra 5 e 6. Supponiamo che la risposta sia nuovamente 'no'. Sono rimaste due sole alternative: il numero
sar 7, oppure 8. La terza domanda potr essere "il numero che hai pensato 7?" In caso
di risposta affermativa, avrete individuato il numero che cercavate. Ma anche in caso di
risposta negativa l'avrete individuato: poteva essere solo o 7 o 8, non 7, dunque 8.

Qualunque sia il numero pensato, se esso compreso fra 1 e 8 il processo di progressivo


'dimezzamento' delle alternative porta sempre a individuarlo attraverso tre domande. In
effetti, quella che abbiamo appena descritto una ricerca binaria (o logaritmica) di un
dato in un insieme: si tratta di uno degli algoritmi pi importanti - e pi usati - dell'informatica.

Ogni scelta binaria corrisponde a un bit di informazione: negli esempi visti sopra, dunque, la scelta fra 8 alternative diverse -che poteva essere quindi individuata o codificata
attraverso tre scelte binarie- 'peser' 3 bit; se le alternative diventano 16, corrispondenti
a 4 scelte binarie, l'informazione 'peser' 4 bit. In generale: se mi trovo davanti a una
scelta fra n alternative egualmente probabili, la quantit di informazione (ovvero il numero di scelte binarie) corrispondente sar uguale a log2 n.

Algoritmi e programmi

In ambito informatico, "programmare" significa risolvere classi di problemi in modo


automatico tramite una procedura che possa poi essere tradotta in un linguaggio interpretabile dal computer.

Dato un problema (o una classe di problemi) si deve:


1. trovare un procedimento risolutivo, ossia un algoritmo;
2. tradurre l'algoritmo in un linguaggio comprensibile dal calcolatore, ossia trasformarlo
in un programma scritto in un determinato linguaggio di programmazione;

15

Informatica musicale I A.A. 2004-2005

3. fornire dei dati in ingresso (input) al programma;


4. verificare che i dati di uscita (output) siano quello attesi.

Quindi il computer esegue ordini dati sotto forma di istruzioni in un linguaggio di programmazione (ne esistono diversi). Le istruzioni sono sintetizzate in un programma. Il
programma permette il processo (elaborazione) dei dati in ingresso per produrre dei dati
in uscita. Definiamo ora meglio i concetti di algoritmo, linguaggio di programmazione e
programma.

L'algoritmo un procedimento risolutivo (insieme di passi risolutivi o istruzioni) che


permette di trasformare un insieme di dati iniziali in un insieme di risultati finali; l'algoritmo paragonabile a una ricetta di cucina: partendo da un insieme di singoli ingredienti di base (dati semplici) ed eseguendo una sequenza di passi (istruzioni), produce
come risultato un piatto composto (risultato dell'elaborazione). Presuppone l'esistenza di
un automa (nel nostro esempio, il cuoco) in grado di eseguire le istruzioni. L'origine
dell'algoritmo risale al sec. IX ad opera del matematico arabo Muammad ibn Msa che
era nativo del Khwarizim, regione dell'Asia centrale (ecco spiegato il termine algoritmo,
dall'arabo al-Khuwrizm).

Il linguaggio di programmazione un linguaggio o strumento per rappresentare le istruzioni di un algoritmo e l'ordine in cui devono essere eseguite.

Il programma un algoritmo scritto in un linguaggio di programmazione al fine di comunicare al calcolatore elettronico le azioni da intraprendere, quindi la descrizione
dell'algoritmo nel linguaggio di programmazione scelto.

Il processo l'esecuzione dellalgoritmo descritto da un programma

Dato un problema, l'operatore scriver un algoritmo risolutivo: l'algoritmo esprime i


passi elementari che devono essere compiuti per arrivare alla soluzione. Ogni passo elementare dell'algoritmo deve rappresentare operazioni che il computer in grado di
compiere. L'algoritmo sar poi tradotto in un corrispondente programma scritto in un

16

Informatica musicale I A.A. 2004-2005

qualsiasi linguaggio di programmazione. Il programma sar composto da una sequenza


di istruzioni, traduzione dei passi dell'algoritmo, che rispettano un ordine di esecuzione.
Alla fine il programma sar sottoposto ad una serie di trasformazioni che lo renderanno
eseguibile dal computer.

Un algoritmo deve necessariamente soddisfare tre condizioni per essere definito tale,
ossia deve essere:

non ambiguo

eseguibile

finito.

Non ambiguo significa che le istruzioni devono essere interpretabili in modo univoco
dall'esecutore. Eseguibile significa che il computer deve essere in grado, con le risorse a
sua disposizione, di eseguire le singole istruzioni. Finito significa che l'esecuzione dell'algoritmo deve terminare in tempo finito per ogni insieme dei valori d'ingresso.
Quando si progetta un algoritmo, si devono rispettare alcuni prerequisiti necessari per
ottenere poi un buon programma:
1. L'algoritmo deve essere indipendente dal linguaggio di programmazione scelto;
esistono linguaggi appositi per rappresentare algoritmi.
2. Il procedimento risolutivo deve essere riusabile, ossia non deve essere scritto per
risolvere una sola istanza di un dato problema.
3. L'algoritmo la soluzione al problema.
4. L'algoritmo deve essere traducibile in un linguaggio di programmazione.

La progettazione di un algoritmo pu essere divisa in due fasi:


1. Analisi e definizione dei dati: si analizza il problema e si sceglie come rappresentare i dati che si hanno a disposizione e quelli che si vogliono ottenere.
2. Specifica della soluzione: corrisponde alla scelta dei passi che portano alla soluzione, quindi alla scrittura dell'algoritmo.

17

Informatica musicale I A.A. 2004-2005

Le due fasi sono strettamente legate: la fase di analisi dei dati importante quanto la seconda fase. Una cattiva analisi pu pregiudicare la costruzione dell'algoritmo. Inoltre la
soluzione pu essere condizionata dal tipo di rappresentazione dei dati scelta.

Ad esempio, supponiamo che il problema sia cercare un numero di telefono. Il procedimento che adotteremo sar diverso se partiamo da un elenco telefonico oppure da una
rubrica. L'elenco telefonico e la rubrica sono le rappresentazioni che scegliamo per i nostri dati. Nel caso dell'elenco telefonico, dovremo effettuare una ricerca per trovare la
lettera muovendoci avanti e indietro a seconda che siamo posizionati prima o dopo
quella cercata. Nell'agenda potremo invece posizionarci direttamente sulla pagina relativa alle lettera. In entrambi i casi, una volta arrivati alla lettera giusta, effettueremo la
ricerca per individuare il nome cercato.

Il testo digitale - Come fare per codificare in formato binario una informazione di tipo
testuale? Baster pensare al fatto che un testo non altro che una successione di caratteri, e che i caratteri di base quelli compresi nell'alfabeto della lingua usata - sono in
un numero che varia col variare delle lingue, ma che comunque - almeno per le lingue
basate sull'alfabeto latino - finito e piuttosto ristretto. Il nostro compito consister allora
nello stabilire una tabella di corrispondenza fra caratteri da un lato (simboli) e numeri
binari dall'altro.

Una tabella di questo tipo si chiama tabella di codifica dei caratteri. Per molto tempo,
la codifica di riferimento stata la cosiddetta codifica ASCII (American Standard Code
for Information Interchange). La codifica ASCII originaria (ASCII stretto) permetteva
di distinguere 128 caratteri diversi; la tabella di caratteri attualmente pi usata, denominata ISO Latin 1, distingue 256 caratteri, i primi 128 dei quali sono 'ereditati' dall'ASCII
stretto. L'indicazione ISO indica l'approvazione da parte dell'International Standardization Organization e 'Latin 1' indica che si tratta della tabella di riferimento per gli alfabeti di tipo latino. questa la codifica di caratteri pi utilizzata.

Come ogni tabella di codifica dei caratteri, anche la tabella ISO Latin 1 codifica i caratteri da essa previsti (che come si accennato sono 256) facendo corrispondere a cia-

18

Informatica musicale I A.A. 2004-2005

scuno un numero binario. Il primo di questi caratteri corrisponder al numero binario


'00000000', il secondo al numero binario '00000001', il terzo al numero binario
'00000010', e cos via, fino al 256, che corrisponder al numero binario '11111111'. Se
contate, vi accorgerete che questi numeri sono tutti espressi attraverso una notazione
'lunga' esattamente otto cifre binarie, ovvero 8 bit. In sostanza, possiamo 'scriverlo' utilizzando otto cellette affiancate, in ciascuna delle quali pu esserci uno '0' o un '1' (nel
caso considerato, le cellette conterranno tutte degli '1').

Le otto cellette potranno essere usate come 'contenitore' per rappresentare - in formato
binario - un qualunque carattere della nostra tavola di codifica: dovremo solo ricordarci,
se il numero binario che codifica un determinato carattere pi 'corto' di otto cifre, di
farlo precedere da tanti '0' quante sono le cellette rimaste vuote. Cos, ad esempio, per
rappresentare il carattere che abbiamo fatto corrispondere al numero binario '10' riempiremo le nostre cellette in questo modo: '00000010'.

Otto bit possono differenziare fra 256 combinazioni diverse, e dunque una 'parola' lunga
8 bit (otto cellette) pu rappresentare, attraverso la sua particolare combinazione di '0' e
'1', uno qualunque dei 256 caratteri della nostra tavola di codifica.

Per convenzione, una 'parola' lunga 8 bit chiamata byte.

Il byte dunque una unit di misura dell'informazione, e indica la quantit di informazione corrispondente alla scelta fra 256 alternative diverse. Se adottiamo come base per
la nostra codifica dei testi una tavola comprendente 256 caratteri, ogni carattere del nostro testo richieder un byte per essere codificato: in altri termini, 'coster' un byte.

La codifica binaria di un testo avviene dunque seguendo lo schema seguente:

19

Informatica musicale I A.A. 2004-2005

Sullo schermo, ad esempio utilizzando un programma di videoscrittura, l'utente scriver


(e legger) la stringa di testo 'oggi piove'; il computer, dal canto suo, lavorer invece
con la rappresentazione binaria di quella stringa. In generale, tutte le volte che utilizzate
un computer per visualizzare un testo scritto o per lavorarvi sopra, lo schermo vi presenter il testo nella familiare forma alfabetica, ma il computer lavorer in effetti su
quel testo in forma binaria: la tavola di conversione lo aiuter a 'tradurre' i caratteri alfabetici nella relativa codifica binaria, e viceversa.

Limmagine digitale - Il testo scritto gi costruito combinando fra loro unit discrete
(i singoli caratteri) scelte all'interno di un alfabeto abbastanza limitato. Ma immagini e
suoni sono fenomeni che sembrano intrinsecamente analogici, nei quali cio abbiamo a
che fare con sfumature continue (di colori, di tonalit, di frequenza, ecc.). Se si ha a che
fare con un numero finito, prefissato e non troppo grande di entit discrete, la codifica
numerica in fondo facile: basta contare le diverse entit discrete che possono presentarsi, e attribuire a ciascuna un numero che la rappresenti nella codifica. Il problema
costituito dalle infinite differenze e sfumature di un'immagine o di un suono.

Per capire in che modo il problema sia stato risolto, partiamo da un'osservazione pratica. Quando guardiamo il monitor del nostro computer, le immagini che vediamo ci appaiono di norma abbastanza facili da interpretare: possiamo identificare forme e strutture anche complesse come nel caso dei videogiochi. Se ci avviciniamo molto allo schermo, tuttavia, noteremo che quella che a una certa distanza ci era apparsa come un'immagine ben definita e continua si 'sgrana' in piccoli puntini luminosi e colorati (i cosiddetti pixel - termine inglese corrispondente alla contrazione di picture elements). L'immagine che vediamo in realt il risultato dell'integrazione dei tanti singoli 'segnali' luminosi emessi da ciascuno dei singoli pixel. La griglia di pixel talmente fitta da darci
un'impressione di continuit.

Per discretizzare un'immagine, cio renderla in forma numerica, il primo passo proprio quello di 'sovrapporre' all'immagine analogica (ad esempio una fotografia) una griglia fittissima di minuscole cellette. Ogni celletta sar considerata come un punto del-

20

Informatica musicale I A.A. 2004-2005

l'immagine, come un pixel. Naturalmente, a parit di immagine, pi fitta la griglia, pi


piccole saranno le cellette, e migliore sar l'illusione di un'immagine continua.

In questo modo, abbiamo sostanzialmente 'scomposto' l'immagine in tanti puntini. Ora


occorre un passo ulteriore: rappresentare i puntini attraverso numeri. L'idea di base
semplice: utilizzare anche qui una tavola di corrispondenza, che per questa volta, anzich far corrispondere numeri a caratteri, faccia corrispondere numeri a colori diversi, o
a sfumature diverse di colore.

I primi personal computer con capacit grafiche, all'inizio degli anni '80, utilizzavano
griglie molto larghe (i pixel sullo schermo del computer pi che a minuscoli puntini corrispondevano a grossi quadrati) e i colori codificati erano molto pochi (solo il bianco e
nero, o al pi 8 o 16 colori diversi). L'effetto non era un granch, ma i bit utilizzati per
rappresentare l'immagine non erano troppo numerosi. Ad esempio, una griglia di 80
colonne per 60 righe (utilizzata in alcuni piccoli videogiochi portatili con schermo a cristalli liquidi e telefonini) comprende 80x60=4800 pixel, e se ci limitiamo a due colori
(bianco e nero) possiamo rappresentare ogni pixel attraverso un solo bit: l''1' potr rappresentare il nero e lo '0' il bianco. Con 4800 bit avremo dunque codificato un'immagine, anche se solo in bianco e nero, e ben poco definita.

Se abbiamo a disposizione un numero maggiore di bit, potremo rendere pi fine la griglia, oppure aumentare il numero dei colori, o magari (se possiamo permettercelo) fare
tutte e due le cose insieme. Cos, se ad esempio per ogni celletta decidiamo di 'spendere'
8 bit (e dunque 1 byte) anzich 1 bit soltanto, anzich usare solo il bianco e nero potremo codificare 256 colori diversi (giacch, come abbiamo visto, le possibili combinazioni di '0' e '1' nelle nostre 8 cellette sono proprio 256; quando si parla di immagini 'a 256
colori' o 'a 8 bit' ci si riferisce proprio a un'immagine la cui palette [tavolozza] di colori
codificata in questo modo); se di bit ne possiamo spendere 16, avremo a disposizione
65.536 colori diversi, e cos via. Certo, con l'aumento della risoluzione e la crescita del
numero dei colori codificati, il numero di bit necessario a rappresentare la nostra immagine sale molto: supponiamo di voler utilizzare una griglia di 800 colonne per 600 righe
( una risoluzione assai diffusa per i personal computer), e di destinare a ogni celletta, a

21

Informatica musicale I A.A. 2004-2005

ogni pixel, 24 bit (il che ci consentir di distinguere oltre 16 milioni di sfumature di
colore). I bit necessari per rappresentare una singola immagine diventano 800x600x24 =
11.520.000.

Tuttavia, il progresso tecnologico (che - ricordiamolo - dipende non solo dall'ingegno


umano, ma anche dalle altissime risorse economiche investite in un settore evidentemente considerato strategico) ci ha portato da una situazione in cui il risparmio di ogni
singolo bit costituiva una priorit essenziale a una situazione in cui i bit sono sempre
pi 'economici'. I computer delle nuove generazioni dispongono cos di veri e propri
'sottosistemi' interamente dedicati alla gestione della grafica, dotati di una memoria indipendente (in modo che la rappresentazione delle immagini non sottragga troppe risorse agli altri compiti nei quali il computer pu essere impegnato) e man mano sempre pi
larga.

Inoltre, sono stati fatti molti progressi nelle tecnologie per il 'risparmio' dei bit: si tratta
delle cosiddette tecniche di compressione (anche per l'audio e il video), quello di ridurre il numero dei bit necessari alla rappresentazione dell'immagine considerando la
diversa frequenza dei suoi colori (in campo audio, la riduzione dei bit si ottiene analizzando il segnale per poi sottrarre gli elementi non indispensabili per una veritiera ricostruzione del suono; ovviamente, maggiore il livello di compressione, minore sar la
fedelt del suono all'originale). Tali processi si effettuano sulla base di ingegnosi e
complessi algoritmi. Nella rappresentazione di immagini fisse ormai possibile arrivare
al livello del fotorealismo: griglie talmente fitte, e codifica di una 'palette' talmente ampia di colori, da rendere sostanzialmente indistinguibile all'occhio umano l'immagine
(digitale) visualizzata attraverso il computer da quella (analogica) risultato di una fotografia tradizionale.

Il video digitale - Se pensiamo a come fatta una vecchia pellicola cinematografica, ci


risulter chiaro che un filmato altro non se non una successione di fotogrammi (ciascuno dei quali corrisponde a un'immagine statica), accompagnata da una banda sonora.
Il numero di bit impiegati nell'operazione aumenta vorticosamente.

22

Informatica musicale I A.A. 2004-2005

Per essere esatti, aumenta in funzione di almeno cinque fattori: il numero di bit necessari alla codifica sar infatti tanto maggiore quanto pi lungo il filmato, quanto maggiore la sua risoluzione grafica (e cio quanto pi fitta la griglia che usiamo per digitalizzare i singoli fotogrammi), quanto pi ampia la 'palette' di colori utilizzata, quanto
maggiore il numero di fotogrammi (o frame) per secondo, e quanto migliore la qualit del sonoro (ovvero la frequenza di campionamento, di cui parleremo nel prossimo
paragrafo). Una bassa risoluzione grafica rende il filmato quadrettato e indistinto, una
'palette' troppo ristretta rende poco realistici i colori visualizzati, un numero troppo basso di frame per secondo produce un filmato 'a scatti' e poco fluido, e una frequenza di
campionamento audio troppo bassa pregiudica la qualit del sonoro.

Come si vede, i fattori da considerare sono davvero tanti: per quanto la nostra 'disponibilit di bit' sia notevolmente aumentata col tempo, e nonostante il fatto che proprio nel
campo delle immagini in movimento le tecniche di compressione abbiano fatto passi da
gigante, il cosiddetto 'full motion video' digitale (la capacit cio di rappresentare a pieno schermo immagini in movimento, con una risoluzione e con una fluidit simile o migliore rispetto a quelle televisive) un traguardo raggiunto solo di recente.

Il suono digitale - In questo caso, la trasformazione del dato analogico in dato digitale
si basa su un processo di 'segmentazione' ('campionamento') - il pi raffinata possibile dell'onda sonora di partenza. E' possibile rappresentare in molti modi un'onda sonora.
Con un procedimento non troppo dissimile da quello gi considerato a proposito della
grigliatura in pixel di una immagine, questa funzione pu essere 'segmentata' in regioni
abbastanza piccole da poter essere considerate come se si trattasse di singoli punti.

Ognuno di questi punti sar identificato dai suoi valori sugli assi del piano cartesiano, e
questi valori, naturalmente, sono dei numeri: sappiamo dunque bene come rappresentarli attraverso una codifica binaria.

Ecco allora che la successione di questi valori (assieme alle necessarie informazioni
sullo spettro delle frequenze considerate e sulla 'frequenza di campionamento', che ci
dicono in sostanza quanto esteso lo spettro sonoro considerato e quanto accurata la

23

Informatica musicale I A.A. 2004-2005

nostra segmentazione della funzione d'onda, ovvero quanto 'fitta' la nostra griglia) ci
fornisce quella rappresentazione numerica, e dunque quella digitalizzazione dell'onda
sonora, che stavamo cercando.

Naturalmente, un sonoro stereofonico ci imporr di considerare separatamente le onde


sonore dei due canali corrispondenti agli altoparlanti di destra e di sinistra.

Nel campo dei suoni, la qualit ottenibile attraverso la digitalizzazione gi molto alta,
tanto che ormai la resa audio dei compact disc musicali (che contengono informazione
in formato digitale) ha superato quella dei vecchi dischi di vinile (nei quali l'informazione sonora era registrata in formato analogico).

Inoltre, la produzione di nuove copie di un brano in formato digitale non implica una
perdita di qualit (la copia perfettamente uguale all'originale, dato che i dati numerici
che vi sono codificati sono esattamente gli stessi), mentre sappiamo che nel campo dell'analogico ogni 'passaggio' di copiatura introduce disturbi e distorsioni che comportano
un peggioramento della qualit sonora.
Approfondiamo ora il fenomeno oscillatorio sonoro in funzione della sua rappresentazione in termini matematici e della sua elaborazione da parte del computer.

Le caratteristiche del suono e la sua discretizzazione

Non solo i corpi dotati di massa ma anche la luce, le onde radio e in generale le onde elettromagnetiche sono esempi di moti oscillatori. In genere, lo studio dei fenomeni oscillatori interessano l'acustica, l'elettrotecnica, la meccanica delle vibrazioni, l'astronomia e molte altre scienze.

Un segnale sonoro solitamente viene rappresentato con un grafico cartesiano avente in


ascissa il tempo e in ordinata i valori istantanei dell'ampiezza che indica un aumento
dalla pressione (in atm.) o un abbassamento della stessa, in quest'ultimo caso si osserva

24

Informatica musicale I A.A. 2004-2005

il fenomeno di rarefazione dell'aria (si ricordi che il suono si propaga anche in mezzi
pi densi come l'acqua, i metalli ecc.).

In acustica si distingue il suono dal rumore per la perturbazione prodotta giacch un


suono prodotto da una vibrazione periodica mentre il rumore no. Questo fenomeno periodico, come quello delle onde elettromagnetiche, verr associato ad una funzione periodica.

Iniziamo col riportare i diagrammi delle note musicali prodotte da un flauto, strumento
musicale considerato fra i pi "puri" poich la sua rappresentazione grafica mostra la sinuosit regolare (pi evidente nel La), al contrario di altri strumenti le cui onde periodiche hanno un andamento molto pi complesso (timbro diverso) ma pur sempre periodico.

a) La frequenza il numero che indica la quantit di oscillazioni complete al secondo


compiute, si misura in Hertz (Sistema Internazionale - Hz). All'aumentare del periodo
diminuisce la frequenza.

25

Informatica musicale I A.A. 2004-2005

Analizzando i 7 Do presenti nella tastiera di un pianoforte notiamo che il primo Do


(Do0 ) ha una frequenza di 32 Hz (la corda del pianoforte oscilla 32 volte al sec.) che
proprio la met del Do successivo, e questo met del terzo e cosi via...

Do0

32 Hz

Do1

64 Hz

Do2

128 Hz

Do3

256 Hz

Do4

512 Hz

Do5

1024 Hz

Do6

2048 Hz

Do7

4096 Hz

prima ottava

seconda ottava

b) L'ampiezza il carattere che distingue i suoni forti da quelli deboli. Se riportassimo


nel nostro diagramma la stessa nota (La) ma con le 2 intensit sovrapposte otterremmo:

c) Timbro o colore del suono - Ci che distingue fondamentalmente un suono da un


altro la diversa forma d'onda, la diversa variazione di pressione nel mezzo in cui si
propaga; in altri termini, in un diagramma pressione-tempo tali variazioni (in sec.), prodotte per esempio da unarmonica a bocca, possono essere schematizzate cos:

Quel che vediamo un oscillazione periodica non sinusoidale.

26

Informatica musicale I A.A. 2004-2005

Qualunque segnale periodico pu essere scomposto in una serie di segnali sinusoidali


il primo dei quali, avente lo stesso periodo e quindi la stessa frequenza del segnale considerato, si chiama prima armonica o fondamentale, e gli altri, aventi periodi sottomultipli e quindi frequenze multiple, si chiamano armoniche superiori" (teorema di Fourier).

In questo modo possibile scomporre praticamente ogni moto o vibrazione periodica


anche complessa in moti o vibrazioni pi semplici. Il procedimento si chiama analisi
armonica del suono complesso ed visualizzabile in tempo reale grazie al computer
(spettrogramma).

La somma di queste onde un semplice esempio di quello che puo' accadere con le onde elettromagnetiche quando si verifica il fenomeno di interferenza: l'interferenza
quel che accade a due o pi onde quando il risultato della loro sovrapposizione crea una
nuova perturbazione periodica. Nel grafico seguente abbiamo fatto interferire tra loro
due funzioni sinusoidali in modo costruttivo ossia abbiamo sovrapposto, in termini adottati in fisica, due treni d'onda con l'effetto di amplificare il segnale, seppure leggermente (traccia rossa).

La nuova onda prodotta rimarr sinusoidale se la sovrapposizione delle due onde generatrici manterr la stessa pulsazione, anche se avranno fasi e ampiezze diverse. Nel caso
per in cui due onde siano di medesima ampiezza ma sfasate l'una rispetto all'altra e-

27

Informatica musicale I A.A. 2004-2005

sattamente di 180, ovvero quando il massimo di un onda coincide esattamente con il


minimo dell'altra, allora l'effetto della sovrapposizione delle onde quello di annullarsi.

In questo caso diremo che le onde interferiscono in modo distruttivo.

Possiamo riportare un esempio pratico dell'effetto dell'interferenza con un esperimento


condotto nel 1801 dal fisico inglese Thomas Young. Dimostr che in certe circostanze
la luce non si comporta, come aveva dedotto Newton nel Seicento, come un flusso di
particelle (concezione corpuscolare) bens come un qualsiasi fenomeno ondulatorio.

Infatti Young, facendo passare un fascio di luce bianca attraverso due fenditure molto
strette su un diaframma in modo da creare l'effetto di diffrazione, osserv il fenomeno
riportato in questa figura:

Le onde di luce emesse dai due fori si sovrappongono e dove le linee rosse evidenziano
le zone costruttive l'effetto di questa interferenza si risolve proiettandosi in strisce sfumate di luce bianca, laddove le strisce rosse evidenziano zone di interferenza distruttiva
le onde si annullano e si ha un effetto di oscurit (strisce nere).

28

Informatica musicale I A.A. 2004-2005

Nel caso in cui vari la pulsazione come vedremo ora, la sovrapposizione produrr un'onda non pi sinusoidale periodica ma semplicemente un'onda periodica;

L'analisi digitale dei segnali (digital signal processing, DSP) comprende una serie di
processi atti a:

1-trasformare il segnale analogico in forma numerica;


2-analizzare il segnale per mezzo di filtri atti ad evidenziarne o modificarne le caratteristiche.

In alcune applicazioni anche possibile ottenere il processo inverso, ossia riottenere un


segnale analogico a partire da una sua rappresentazione numerica. L'unione dei due processi consente di realizzare filtri, ad esempio passa-banda o elimina-banda, che
consentono il riascolto del segnale in tempo reale, a valle del filtro selezionato.

Le applicazioni della analisi digitale dei segnali sono le pi svariate e spaziano dalla
semplice realizzazione di un analizzatore di spettro per gli studi classici sui segnali, fino
alla pi evoluta realizzazione di filtri che consentono di ascoltare in cuffia il risultato
sintetizzato dal calcolatore relativo ad un determinato evento sonoro a cui viene applicato un filtro che ne modifica le caratteristiche

E', per esempio, possibile ascoltare un concerto di musica classica, preventivamente registrato in un determinato ambiente, cos come si presenterebbe se suonato in un am-

29

Informatica musicale I A.A. 2004-2005

biente diverso di cui si sono misurate le caratteristiche acustiche (questa particolare tecnica prende il nome di auralizzazione).

Le tecniche digitali permettono di realizzare filtri in grado di 'estrarre' un segnale acustico da una emissione complessa o di purificarlo dal rumore.

Discretizzazione: campionamento e quantizzazione del suono

Loperazione da eseguire prima di potere trattare il segnale numerico la discretizzazione del segnale, ossia l'operazione che consente l'ottenimento del segnale numerico a
partire dal segnale analogico originale.

Il processo di discretizzazione del segnale si compone di campionamento e quantizzazione.

Si parla di campionamento quando ci si riferisce agli intervalli temporali in cui il segnale analogico viene 'fotografato' (vengono quindi presi dei campioni del segnale distanziati nel tempo).

Si parla di quantizzazione in riferimento al valore numerico che viene assegnato ad un


determinato campione.
La figura che segue mostra la relazione che c' tra segnale analogico, campione e quantizzazione.

30

Informatica musicale I A.A. 2004-2005

L'intervallo temporale che trascorre tra due campioni prende il nome di intervallo di
campionamento mentre la frequenza con cui i campioni vengono acquisiti prende il nome di frequenza di campionamento (o, in inglese, sampling rate).
Il valore della frequenza di campionamento (SR) legato al tempo di campionamento t
secondo la formula:
SR= 1
t

I campioni sono relativi ai valori istantanei che il segnale analogico ha negli istanti di
campionamento. La quantizzazione il processo che assegna un determinato valore
numerico ai diversi campioni.

A valle della discretizzazione del segnale abbiamo quindi una serie di valori numerici
riferiti ai diversi istanti campionati; la successione di questi valori rappresenta proprio il
segnale digitale.

Affinch non vada persa l'informazione dei dati del segnale, nel passaggio dalla sua
forma analogica alla sua espressione numerica, necessario che vi sia un numero di
campioni sufficienti tale per cui, unendo i campioni tra loro, venga mantenuta la fisionomia del segnale originale.

Nell'esempio precedente infatti si potrebbero unire con una spezzata i vari campioni e la
fisionomia del segnale verrebbe mantenuta (anche se avremo una linea spezzata in luogo di una sinusoide).

31

Informatica musicale I A.A. 2004-2005

Dal teorema del campionamento deriva che:


la SR minima per ricostruire un segnale di frequenza f
deve essere almeno 2f
o, pi in generale,
la SR necessaria per campionare un segnale
deve essere almeno doppia della frequenza massima contenuta nel segnale.

L'enunciato del teorema del campionamento illustrato nelle figure successive dove, a
causa di un numero di campioni troppo basso, l'onda viene completamente alterata rispetto al segnale originale.

Risulta evidente che il segnale originale non pi riconoscibile dopo il campionamento


a causa dello scarso numero di campioni acquisiti.

32

Informatica musicale I A.A. 2004-2005

Una situazione da evitare quella in cui un segnale contenga "picchi" di frequenza (armoniche superiori) fuori dalla portata della SR.

Ci produrrebbe il cosiddetto errore di aliasing ed impone che, per una corretta discretizzazione di un segnale analogico, sia interposto tra l'ingresso del segnale ed il convertitore analogico-digitale (ADC) un filtro passa-basso (LPF, low-pass filter) atto a bloccare componenti in frequenza troppo elevate per la frequenza di campionamento prescelta. Tale filtro prende il nome di filtro anti-aliasing.

L'ingresso del sistema di elaborazione numerica del segnale sar quindi del tipo:

In linea generale, poich non possibile creare dei filtri passa-basso perfetti, la frequenza di campionamento viene scelta ad un valore pi alto del doppio della massima frequenza del segnale analogico.

Filtri digitali e conversioni

Per sintetizzare al massimo il concetto di filtro digitale, possiamo immaginare quest'ultimo come un algoritmo che trasforma la sequenza di numeri in ingresso (i valori dei
campioni quantizzati) in una sequenza di valori in uscita secondo un processo che modifica in termini di ampiezza alcune frequenze o bande di frequenze.

In funzione del tipo di filtro realizzato si pu parlare di filtri passa-basso, passa-alto,


passa-banda, elimina-banda.

33

Informatica musicale I A.A. 2004-2005

Negli ultimi anni sono stati realizzati diversi dispositivi capaci di eseguire espressamente i compiti sopra esposti. Un grande vantaggio dei filtri digitali rispetto a quelli analogici (come i controlli "bass", "treble", "loudness", "high cut" ecc. nei comuni impianti hi-fi) risiede nella possibilit di variare rapidamente le caratteristiche del filtro
(tipo di filtro, caratteristiche in frequenza, posizione in frequenza) semplicemente variando alcuni parametri numerici nel processore (di fatto, cambiando dei numeri).

Un elemento importante nella analisi digitale dei segnali relativo al numero di bit del
convertitore analogico/digitale, in quanto da questo numero dipende la dinamica (ampiezza dell'escursione dal piano al forte) del sistema.
La qualit di un convertitore analogico-digitale (ADC) aumenta in funzione del numero
di bit a disposizione.
Un convertitore a 8 bit (che consente 28= 256 valori diversi di quantizzazione) permette
una dinamica di circa 48 dB mentre un convertitore a 16 bit (216= 65536) permette una
dinamica di circa 96 dB.

Una volta ottenuta la sequenza di numeri che rappresenta il segnale opportunamente


filtrato, possibile eseguire il processo inverso per ottenere un nuovo segnale analogico. I blocchi funzionali che eseguono la conversione sono un convertitore digitaleanalogico (DAC) ed un filtro passa-basso che 'raccorda' i vari campioni digitali. Anche
in questo caso, la dinamica del sistema legata al numero di bit del convertitore.
Un convertitore digitale-analogico presente, ad esempio, in ogni lettore di compactdisc per trasformare l'informazione numerica contenuta nel disco in segnale analogico
che verr poi inviato all'amplificatore. Lo schema a blocchi completo di un filtro digitale prende quindi la forma indicata in figura.

34

Informatica musicale I A.A. 2004-2005

Parte seconda
ARCHITETTURA DEI SISTEMI INFORMATICI

L'elaboratore elettronico o calcolatore (computer) lavora partendo da informazioni (input) in ingresso, le manipola in base a un programma (software), e restituisce informazioni in uscita (output).

Un tipico dispositivo di input la tastiera: alla pressione dei tasti corrisponde l'invio di
impulsi corrispondenti ai caratteri verso l'unit di elaborazione.

Anche il mouse un dispositivo di input: attraverso appositi sensori, il computer riceve


informazioni sullo spostamento del mouse stesso, e le interpreta come movimenti da far
eseguire al puntatore sullo schermo; i 'click' del mouse vengono ricevuti e interpretati in
accordo con le istruzioni fornite dal programma che si sta utilizzando.

Altri dispositivi di input sono ad esempio lo scanner, la scheda di acquisizione sonora e


video, il microfono. Quanto ai dispositivi di output, vengono subito in mente la stampante e il monitor. Uno schermo sensibile al tatto, o touch screen, come quelli disponibili nelle biglietterie ferroviarie, un dispositivo sia di input che di output.

Una classe di dispositivi un po' particolare costituita dagli strumenti che permettono al
computer di leggere (e dunque ricevere) e di scrivere (e dunque inviare) dati le lunghe
catene di dati binari ('0' e '1') - da e verso un supporto in grado di conservarli anche
quando il computer spento. Sono dispositivi di input/output che non interagiscono direttamente con loperatore:

floppy disk (dischetti)

hard disk (dischi rigidi o winchester)

cd-rom e DVD (dischi ottici)

rimovibili (dischi portatili come jaz, zip, ecc. o penne di memoria flash)

35

Informatica musicale I A.A. 2004-2005

La computazione

Alan Turing (1912-1954) concep una macchina molto simile al funzionamento del
computer: immaginiamo di avere a disposizione un nastro di lunghezza potenzialmente
infinita diviso in singole celle in ciascuna delle quali pu essere scritto il simbolo '0' oppure '1'. Il nastro dovr essere in grado di scorrere in entrambe le direzioni sotto la testina.

Potremmo stabilire che:


se la macchina si trova nello stato a e legge un 1 nella casella su cui posizionata
la testina, il nastro si dovr spostare a destra di una casella e la macchina dovr passare
nello stato b;
a questo punto, dovremo ulteriormente specificare le istruzioni che la macchina deve
eseguire quando si trova nello stato b, in dipendenza da quello che la testina legge sul
nastro, e cos via.

La macchina disporr di istruzioni (programma) in grado di fare spostare il nastro e di


far cambiare stato alla macchina stessa secondo:

lo stato in cui la macchina si trovava in precedenza;

il simbolo sul quale la testina si trova ora posizionata.

La particolare successione di '0' e di '1' presente sul nastro prima dell'avvio rappresenta
l'input della macchina (i dati sui quali vogliamo farla lavorare).
La particolare successione di '0' e di '1' scritta sul nastro nel momento in cui essa si ferma rappresenta invece l'output della macchina, il risultato del suo processo di elaborazione (il nastro pu infatti essere anche scritto oltre che letto, cio modificato).

Una macchina di Turing in grado di effettuare tutte le operazioni che pu compiere il


pi potente dei computer. Essa, infatti, un modello. Quello che conta il modo in cui
opera, non la velocit. Loperazione che la macchina compie una computazione, cio
un processo di manipolazione di simboli governato da regole.

36

Informatica musicale I A.A. 2004-2005

La macchina di von Neumann

Il modello teorico costituito dalla macchina di Turing simile all'idea di computer sviluppata negli anni '40 da un altro pioniere dell'informatica, John von Neumann (19031957), americano di origine ungherese. Si tratta della cosiddetta macchina di von
Neumann.

Anch'essa in primo luogo una costruzione teorica, che influenz per direttamente la
realizzazione dei primi computer: l'ENIAC (Electronic Numerical Integrator and Computer) e l'EDVAC (Electronic Discrete Variable Automatic Computer).

Von Neumann svilupp insieme a J.H. Bigelov, J.R. Oppenheimer e H. Goldstine, la teoria degli automi. Nel 1944 pubblic La Teoria dei Giochi e comportamento economico, opera di notevole importanza nelle scienze economiche. Sempre nel 1944 divenne
consulente nell'Universit di Pennsylvania del gruppo per lo sviluppo del primo computer elettronico, l'ENIAC.

Nel 1945, insieme a John Eckert, John Mauchly, Arthur Burks ed Herman Goldstine,
definisce l'architettura logica dell'elaboratore. Dimostr che una macchina con tale architettura (l'attuale computer) poteva eseguire qualunque calcolo risolubile. Da allora
l'architettura dei computer rimasta la stessa.

La struttura era costituita da:


*

unit aritmetica centrale, un componente che si occupi dei calcoli e opera-

zioni logiche (l'attuale ALU)


*

unit di controllo, che gestisce un numero finito di istruzioni e di dati in

memoria (DATAPATH)
*

memoria che contiene dati e istruzioni (gli attuali REGISTRI e la RAM)

unit di ingresso e di uscita -I/0- (gli attuali monitor, tastiera, memorie, etc.).

37

Informatica musicale I A.A. 2004-2005

Molte istruzioni di programma richiedono l'intervento di una componente particolarmente importante della CPU, l'Unit Aritmetico-Logica o ALU: come dice il suo nome,
la ALU compie le principali operazioni aritmetiche e logiche, come quelle descritte a
proposito della logica booleana.

Spesso, infatti, le istruzioni di un programma hanno la forma "se si verifica questa condizione congiuntamente a (AND) quest'altra condizione, allora fai questo", oppure "se si
verifica questa o (EXOR) quella condizione fai quest'altro", o ancora "se non (NOT) si
verifica questa condizione, fai quest'altro ancora". E importante dunque che la CPU
sappia 'calcolare' se un input vero o falso partendo dalla "verit o falsit" degli elementi che lo compongono.

I bit che vanno avanti e indietro dai registri e sui quali lavorano l'unit di controllo e la
ALU hanno naturalmente bisogno di canali attraverso cui viaggiare: si tratta dei cosiddetti bus. L'architettura di un computer dovr naturalmente prevedere diversi tipi di bus
per lo scambio di dati: alcuni interni alla CPU, altri fra la CPU e le altre componenti del
computer.

La CPU e le altre componenti del computer devono lavorare in maniera coordinata, e


per farlo devono scambiarsi informazioni sullo stato e i tempi di esecuzione dei vari
cmpiti. Ecco allora che la frequenza di lavoro della CPU funziona da vero e proprio orologio (clock) di sistema, che 'segna il ritmo' per il lavoro svolto da tutta la macchina.

38

Informatica musicale I A.A. 2004-2005

La velocit di un computer dipende grandemente, ma non esclusivamente, dalla velocit


del suo clock. Attualmente, quelli domestici pi potenti hanno di gran lunga superato
i 3000 MHz (tre miliardi di oscillazioni al secondo, 3 GHz). Le missioni lunari degli
anni 60-70 furono assistite da computer con velocit di pochi MHz.

Il controllo della decodifica e dell'esecuzione delle istruzioni del programma affidato


all'unit di controllo e deve comunicare con l'unit aritmetico-logica (ALU) che, come
abbiamo visto, ha il compito di eseguire le operazioni matematiche e logiche. A sua
volta, la ALU lavorer operando sui registri che contengono i dati da confrontare o sui
quali svolgere le operazioni tenendo man mano traccia dei risultati del suo lavoro.

Nel cuore del nostro computer lavora quindi un'attivissima fabbrica impegnata nella
continua elaborazione di dati in formato binario; attraverso le vie di comunicazione costituite dai bus, la materia prima arriva dall'esterno sotto forma di dati binari in entrata;
viene poi 'lavorata' in accordo con le istruzioni del programma, e viene infine nuovamente 'spedita' verso l'esterno. I ritmi di lavoro della fabbrica sono scanditi dall'orologio della CPU, e le sue capacit di elaborazione dipendono direttamente dall'insieme
di istruzioni che il processore pu riconoscere ed eseguire. Ogni programma compilato
per essere eseguito da un particolare processore deve essere basato su comandi tratti dal
relativo 'set di istruzioni' del processore stesso.

Struttura interna di una CPU

39

Informatica musicale I A.A. 2004-2005

Tipi di CPU

La potenza effettiva di un processore non dipende solo dalla sua frequenza di clock. Dipende anche dal numero e dal tipo di istruzioni che il processore in grado di eseguire e
dalla velocit del bus di sistema.

Ci sono, a questo proposito, due 'scuole' diverse:


1) i processori RISC, che sanno eseguire poche istruzioni molto semplici, ma lo fanno
assai velocemente;
2) i processori CISC, che sanno invece eseguire (un po' pi lentamente) molte istruzioni
diverse e pi complesse.

RISC ='Reduced Instruction Set'


Insieme di istruzioni ridotto a vantaggio della velocit di calcolo. Saranno poi i programmatori a dovere costruire, mettendo insieme come mattoni le poche istruzioni di
base, programmi capaci di effettuare operazioni complesse.

CISC = 'Complex Instruction Set'


Processori capaci di eseguire direttamente, senza bisogno di programmazione esterna,
molte istruzioni diverse a svantaggio della velocit.

La CPU di norma 'incastonata' in una scheda che raccoglie in maniera efficiente e


compatta altri componenti fondamentali di ogni computer, come la memoria, le porte di
comunicazione, e cos via. Si tratta della cosiddetta piastra o scheda madre (motherboard).

Memorie di massa

I floppy disk sono piccoli dischi di materiale magnetico inseriti all'interno di un rivestimento di plastica, che all'inizio era flessibile (da qui la caratterizzazione 'floppy') ma

40

Informatica musicale I A.A. 2004-2005

che adesso quasi rigido. I piccoli floppy disk attuali contengono, nella versione pi
diffusa, 1.44 Mb di dati.

Una categoria ormai diffusissima quella costituita dai CD-ROM; a differenza dei
floppy disk e dei vecchi nastri, l'informazione scritta e conservata sfruttando un supporto ottico inciso da un raggio laser.
Si tratta di una procedura del tutto analoga a quella usata nei cd musicali. La capacit
equivale a pi di 400 floppy.

I DVD (Digital Versatile Disk) sono apparentemente simili ai CD-ROM ma capaci di


contenere quantit ancora maggiori di dati (le capacit dei DVD variano a seconda della
loro formattazione, e nelle specifiche attuali - possono andare da 4,7 a 17 Gb, cio da
7 a 26 volte la capacit di un CD-ROM).

Mentre floppy disk, CD-ROM, DVD, nastri e cartucce sono supporti rimovibili (li inseriremo nel computer solo quando ci servono quei particolari dati o quel particolare programma), i dischi rigidi (hard disk o winchester) sono in genere fissi, inseriti all'interno
del computer.

Alcuni confronti pratici tra capacit dei supporti di memoria:

Una pagina=2000 caratteri


(2000 caratteri=2000 byte)
1 floppy disk=1.440.000 byte=_____________720 pagine
1 CD-ROM=700.000.000 byte=___________ 350.000 pagine
1 DVD=17.000.000.000 byte=________

8.500.000 pagine

1 Hard disk=200.000.000.000 byte=_100.000.000 pagine

Foto piccola a colori di media qualit=200.000 byte


1 floppy disk=1.440.000 byte=___________7 foto
1 CD-ROM=700.000.000 byte=_________ 3.500 foto
1 DVD=4.700.000.000 byte=__________23.500 foto
1 Hard disk=80.000.000.000 byte=__400.000 foto

41

Informatica musicale I A.A. 2004-2005

Unora di musica=600.000.000 byte (qualit CD)


1 floppy disk=1.440.000 byte=_____________8 secondi
1 CD-ROM=700.000.000 byte=________pi di

1 ora

1 DVD=4.700.000.000 byte=________________ 8 ore


1 Hard disk=80.000.000.000 byte=_______ 130 ore

Un film=4.500.000.000 byte (qualit dvd)


1 floppy disk=1.440.000 byte=____________ 2 secondi
1 CD-ROM=630.000.000 byte=______________ 16 minuti
1 DVD=4.700.000.000 byte=______________

1 film

1 Hard disk=80.000.000.000 byte=_______

17 film

Carte di credito, carte bancomat, schede telefoniche e molti altri tipi di tessere possiedono una piccola memoria, su banda magnetica o su chip, che conserva i dati necessari.
Anchesse sono memorie di massa.

Il funzionamento di un computer non dipende solo dall'hardware ma anche, e in maniera


indispensabile, dai programmi (istruzioni) che il computer in grado di eseguire, il cosiddetto software. In un certo senso, il software 'd vita' all'hardware:

>Programmi di calcolo
>Giochi
>Videoscrittura (word processor)
>Fogli elettronici
>Database
>Programmi grafici
>Programmi di manipolazione sonora e di manipolazione video
>Programmi di comunicazione
>Programmi per la navigazione su Internet
>Programmi didattici
>Editoria multimediale
>ecc.

42

Informatica musicale I A.A. 2004-2005

Un software fondamentale: il sistema operativo (OS)

Il computer deve permettere anche a un non esperto di interagire in maniera semplice e


intuitiva. Non basta insomma che il computer sia in grado di comunicare con noi: vogliamo, per quanto possibile, che esso comunichi con noi usando convenzioni di comunicazione familiari e immediate.

Ci realizzato dal sistema operativo (OS) che, oltre al compito di gestire il funzionamento dell'hardware, deve mettere in comunicazione la macchina con l'uomo. I primi
OS erano basati sull'idea della comunicazione linguistica; i sistemi operativi a caratteri,
come il DOS o lUNIX, si basano appunto sull'idea che l'utente impartisca i propri comandi in forma 'scritta', utilizzando la tastiera.

Al posto delle interfacce a caratteri sono comparse le cosiddette interfacce ad icone o


grafiche (GUI, Graphical User Interface). La loro diffusione si deve soprattutto ai
computer Atari, Amiga e Apple che con i loro sistemi operativi ad icone hanno fatto
scuola.

Ben presto anche IBM e Microsoft hanno deciso di imitarli: la prima con il sistema operativo OS/2, la seconda con le varie versioni di Windows.

Il sistema operativo (SO oppure OS in inglese) dunque il primo e pi importante programma. Esso non solo una realizzazione ingegneristica, ma rispecchia la 'filosofia'
dellinterazione uomo-computer-uomo:

i tipi di cmpiti che ci interessa far svolgere alla macchina

le tipologie di utente che con essa devono interagire

i modelli di comunicazione adottati.

La prima operazione del computer all'accensione il trasferimento del sistema operativo, presente su una memoria di massa, nella memoria RAM.

43

Informatica musicale I A.A. 2004-2005

Random access memory (RAM)

I tempi di accesso alle informazioni memorizzate nelle memorie di massa come i dischi
fissi o removibili variano a seconda del supporto, ma non sono paragonabili a quelli,
molto pi veloci, di accesso alle informazioni presenti in una banca di memoria costituita da circuiti integrati.

Direttamente innestato nella piastra madre, un deposito capiente quello rappresentato


dalla cosiddetta RAM (Random Access Memory, memoria ad accesso casuale), dove
mentre usiamo il computer vengono conservate, momento per momento, le istruzioni
del sistema operativo, la gran parte dei dati sui quali stiamo lavorando e delle istruzioni
relative ai programmi che stiamo usando. Se ad esempio stiamo utilizzando un programma di videoscrittura, la RAM conterr il testo che stiamo scrivendo (o una larga
parte di esso) e i moduli fondamentali del programma che stiamo usando per scriverlo.

La RAM una memoria volatile: i dati vengono conservati sotto forma di potenziali elettrici, e se togliamo la spina (o se va via la corrente) vanno persi. La RAM viene inserita in appositi alloggiamenti (slot) sulla motherboard. Entro certi limiti, la quantit di
RAM direttamente proporzionale alla performance del processore.

E' necessario per che sulla piastra madre sia presente, a disposizione della CPU, anche
una parte di memoria non volatile, contenente una serie di informazioni fondamentali
per il funzionamento del computer. Ad esempio, le informazioni su quali siano i dispositivi presenti sulla piastra madre, e su come comunicare con essi.

Queste informazioni non possono essere date 'dall'esterno', perch senza di esse la stessa
comunicazione con l'esterno impossibile. Non possono nemmeno essere volatili, perch se lo fossero scomparirebbero al momento di spegnere il computer, e alla successiva
riaccensione non sapremmo pi come reinserirle, dato che il computer stesso non 'ricorderebbe' pi come fare per comunicare con l'esterno.

44

Informatica musicale I A.A. 2004-2005

Devono dunque essere a portata di mano, sulla piastra madre, e conservate da una memoria non volatile. Si tratta del cosiddetto BIOS, Basic Input-Output System. La memoria non volatile che conserva questi dati in genere considerata memoria a sola lettura,
o memoria ROM (Read Only Memory, memoria di sola lettura), anche se ormai questa
denominazione inesatta: si usano infatti sempre pi spesso a questo scopo moduli di
memoria non volatile 'aggiornabili' in caso di necessit (flash memory).

Talvolta, oltre al BIOS, nella memoria non volatile trovano posto anche veri e propri
programmi; il caso ad esempio di molti computer palmari della nuova generazione (si
tratta dell'evoluzione delle cosiddette agendine elettroniche: pesanti qualche centinaio di
grammi e in grado di essere portati in una tasca, i computer palmari di oggi sono molto
pi potenti dei personal computer di sei o sette anni fa).

In questo caso, l'installazione in ROM del sistema operativo e dei principali programmi
usati consente non solo di averli immediatamente a disposizione, senza aspettare i tempi
necessari al loro caricamento da una memoria esterna, ma anche di ridurre il peso della
macchina, dato che non servono dispositivi di memoria di massa come dischi rigidi o
floppy disk dai quali altrimenti questi programmi dovrebbero essere caricati.

Negli ultimi anni si diffusa l'abitudine di inserire una memoria autonoma di una certa
ampiezza in grado di alleggerire (e quindi velocizzare) il lavoro della CPU. Questa
memoria, detta memoria cache, trovandosi a portata diretta della CPU ancor pi veloce della RAM installata sulla piastra madre, ed quindi in grado di migliorare ulteriormente le prestazioni del sistema.

Note a margine

Armti solo degli '0' e '1' della codifica digitale possibile affrontare tipi di informazione molto diversa - dai numeri al testo scritto, dai suoni alle immagini e al video in movimento - riuscendo a rappresentarli tutti. Possiamo capire - e considerare in certa misura quasi profetico - lo slancio delle parole con le quali all'inizio del '700 Leibniz parlava

45

Informatica musicale I A.A. 2004-2005

della sua scoperta. Egli vedeva nella notazione binaria "un'immagine della creazione,
ovvero dell'origine delle cose da Dio e dal nulla", e sosteneva:

Il calcolo binario, che utilizza lo '0' e l''1', a ricompensa


della sua maggiore lunghezza il pi fondamentale per la
scienza, ed all'origine di nuove scoperte (...) la cui ragione che allorch i numeri sono ridotti ai principi pi semplici, e cio allo '0' e all''1', appare ovunque un ordine meraviglioso.

Proprio perch tutto ci coinvolge direttamente i nostri modi di rappresentare, scambiare e organizzare l'informazione - cio qualcosa che ha per noi un'immensa importanza
culturale, sociale, politica - dobbiamo guardarci dal considerare la convergenza al digitale come il frutto quasi automatico di un mero progresso tecnologico. E certo resa
possibile dalla disponibilit di certi strumenti tecnologici (e, come abbiamo visto, di
certi strumenti teorici), ma non determinata n dalla tecnologia, n dalla teoria.
piuttosto il frutto di una serie di scelte, e comporta essa stessa scelte, ad esempio nelle
forme di organizzazione dell'informazione.

Queste scelte non mancano di avere conseguenze, spesso estremamente rilevanti, e non
sempre o necessariamente positive. Se ci limitassimo a considerare questo processo come una realizzazione ingegneristica, perderemmo completamente di vista questa dimensione, che invece essenziale: dopo la rivoluzione digitale il nostro universo informativo non sar semplicemente una riformulazione in un linguaggio nuovo di una realt
preesistente: avr forme nuove, rese possibili dalla tecnologia, ma frutto di scelte che
non saranno n unicamente n principalmente tecnologiche.

46