Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Informatica musicale I
Moduli A e B1
Dispense del Corso
A.A. 2004-'05
Parte prima
INTRODUZIONE ALLINFORMATICA
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.,
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.
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 computer in grado di effettuare processi di analisi, elaborazione e sintesi ai due livelli fondamentali del fenomeno musicale: testo musicale (partitura) e suono (esecuzio-
ne, interpretazione) a condizione che il tutto sia codificato in informazioni da esso manipolabili.
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.
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
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 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
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?
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.
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?
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-
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-
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
a +1 = 1
a+a=a
a+_=1
10
a0=0
a1=a
aa=a
a_=0
1 = vero, s, "presenza"
simboli dei
circuiti logici
11
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
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.
13
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
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.
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
15
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.
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.
16
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.
17
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
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.
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.
19
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
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
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.
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.
22
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
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.
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.
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.
24
il fenomeno di rarefazione dell'aria (si ricordi che il suono si propaga anche in mezzi
pi densi come l'acqua, i metalli ecc.).
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.
25
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
26
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
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
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:
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
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.
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.
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).
30
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
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.
32
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.
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.
33
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.
34
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.
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:
rimovibili (dischi portatili come jaz, zip, ecc. o penne di memoria flash)
35
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.
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).
36
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.
memoria (DATAPATH)
*
unit di ingresso e di uscita -I/0- (gli attuali monitor, tastiera, memorie, etc.).
37
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.
38
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.
39
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.
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
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.
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.
8.500.000 pagine
41
1 ora
1 film
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.
>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
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.
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:
La prima operazione del computer all'accensione il trasferimento del sistema operativo, presente su una memoria di massa, nella memoria RAM.
43
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.
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
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
della sua scoperta. Egli vedeva nella notazione binaria "un'immagine della creazione,
ovvero dell'origine delle cose da Dio e dal nulla", e sosteneva:
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