Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Appunti Di Informatica Musicale
Appunti Di Informatica Musicale
Questi appunti nascono come traccia del modulo teorico del corso di Informatica
Musicale (30 ore) per i corsi accademici del Conservatorio ”A. Bonporti” di Trento
e del Conservatorio ”F. Vittadini” di Pavia.
1 Informatica generale
L’informatica non si occupa solo di computer: è una disciplina che si dedica
a concetti e contenuti decisamente più generali intrecciandosi con molte altre
materie di studio, prime tra tutte la matematica, la teoria dell’informazione,
l’automatica e l’elettronica. Eppure i suoi strumenti, cosı̀ come alcuni dei suoi
termini, sono ormai percepiti come naturali ed indispensabili nella vita di tutti
i giorni, senza che se ne approfondiscano le potenzialità, la portata, la storia
e il contesto. Per poter quindi spiegare in linea generale il funzionamento di
tali strumenti, e poter dare senso a quel vocabolario pseudo-informatico che è
entrato nel linguaggio comune, occorrono alcune definizioni preliminari.
1 Acronimo di INFORMazione automATICA, coniato da Philippe Dreyfus nel 1962 in lin-
gua francese, INFORMATion automatIQUE. Altri fanno risalire l’etimologia del termine al
tedesco Informatik, neologismo impiegato da Karl Steinbuch per il titolo di un suo articolo
nel 1957.
1
1.1 Dati, informazione, conoscenza
Si immagini di fotografare con lo smartphone un paesaggio. Come avremo
modo di approfondire quella fotografia verrà archiviata nella memoria del di-
spositivo come una precisa serie di 0 e di 1. La fotografia, nel momento in
cui risiede in memoria, è un dato, una successione di simboli convenzionali che
rappresentano qualcosa ma che se considerati in modo autonomo non hanno un
significato univoco. Servirà infatti una specifica applicazione sullo smartphone
(magari proprio la stessa utilizzata per scattare la foto) per permettere di vi-
sualizzarla, maniporarla e archiviarla, per farne insomma informazione, ossia
dati organizzati in modo comprensibile per l’utente mediante una convenzione
che gli attribuisca un significato condiviso. Quante volte si è inviato un docu-
mento via email per scoprire che il destinatario non era in grado di aprirlo? I
dati, difatti, si trasferiscono facilmente da dispositivo a dispositivo, ma la loro
interpretazione evidentemente non è sempre cosı̀ scontata.
Infine la conoscenza è quell’elaborazione dell’informazione tipica dell’uomo,
che presuppone contestualizzazione e sintesi. In riferimento all’esempio della
fotografia la conoscenza è ciò che noi impariamo visualizzando e manipolando
l’immagine e come lo rapportiamo a ciò che già conosciamo. Un problema inte-
ressante è quello dell’automazione del passaggio da informazione a conoscenza
nell’elaboratore stesso, anche se da un punto di vista filosofico la distinzione tra
informazione e conoscenza in un computer è decisamente discutibile e difficile
da stabilire. Non è semplice stabilire dove finisca un’informazione e dove si è
creata conoscenza. In ogni caso la disciplina che studia come rappresentare nel
modo più flessibile e generale la realtà e la conoscenza in termini informatici,
utile soprattutto al funzionamento di intelligenze artificiali, prende talvolta il
nome molto suggestivo di ingegneria ontologica.
Volendo proporre un altro esempio, più di natura musicale, si immagini di
registrare, sempre con uno smartphone, un concerto. I dati saranno quella
successione di cifre binarie che conserverà il segnale sonoro catturato dal mi-
crofono e convertito in digitale, l’informazione sarà consentita dalle applicazioni
che consentiranno di archiviare, riconoscere, riprodurre ed eventualmente ma-
nipolare quanto registrato trattandolo come informazione sonora ed infine la
conoscenza sarà la capacità di chi lo ascolta di riconoscere le partiture eseguite,
di comprenderne il contenuto musicale e di valutarne ad esempio l’esecuzione.
Dati diversi possono archiviare la stessa informazione: ad esempio file in for-
mato AIFF (Audio Interchange File Format) e in formato WAVE (Waveform
Audio File Format) possono contenere lo stesso identico segnale sonoro (conver-
tibile da un formato all’altro) pur rappresentandolo con una successione di cifre
binarie diversa. Allo stesso modo informazioni diverse possono teoricamente es-
sere rappresentate dagli stessi dati se letti con codifiche differenti. Quest’ultima
affermazione si verifica facilmente provando ad aprire un file di piccole dimensio-
ni con un editor di testo, che prova a rappresentarne il contenuto come testuale
visualizzando una serie di caratteri incomprensibili.
2
1.2 Automatismi ed elaboratori
Nella definizione che si è offerta in queste pagine dell’informatica si è scritto
che è la scienza e la tecnica che si occupa della rappresentazione e del trattamen-
to dell’informazione, nonché dell’elaborazione automatica dei dati. Dettagliando
meglio l’aspetto tecnico, operativo e applicativo si può scrivere che si occupa nel-
lo specifico della rappresentazione e del trattamento dell’informazione attraverso
l’elaborazione automatica dei dati e lo studio degli elementi teorici e generali
di tale elaborazione. Il termine stesso inglese computer, ormai entrato da de-
cenni di prepotenza anche nel vocabolario italiano2 , è proprio il nome d’agente
del verbo inglese to compute, in italiano computare, calcolare, elaborare. Appare
allora evidente il significato del termine appropriato italiano elaboratore (o,
più raro e meno specifico, calcolatore), nonché di quello francese ordinateur.
Si noti che i termini computer ed elaboratore non fanno esplicito riferimen-
to alla componente elettronica e digitale di un computer, ai giorni nostri data
per scontata, né alla portata di applicazione di tale elaborazione. Spesso si
confonde il computer con la tecnologia delle sue periferiche. L’uomo stesso,
opportunamente istruito, può svolgere le stesse funzioni di un elaboratore (ed
è esattamente quello che fa tutti i giorni quando ad esempio esegue un calco-
lo, non necessariamente matematico, anche di un intervallo musicale!), magari
aiutandosi e velocizzandosi con strumenti esterni, come ad esempio un foglio e
una matita per scrivere i passaggi. Dopotutto il calcolatore mette in pratica le
metodologie e gli strumenti del pensare e dell’agire razionale caratteristici del-
l’uomo. Malgrado quindi si finisca con il riferirsi impropriamente al computer
come ad un dispositivo programmabile a scopo generico, di natura elettronica
e che tratta dati digitali, nei suoi caratteri generali un elaboratore può avere
svariati meccanismi di funzionamento (siano essi meccanici, elettromeccanici,
elettronici o addirittura quantistici) nonché elaborare informazione rappresen-
tata con dati differenti. Macchine calcolatrici come l’abaco e le macchine di
Pascal, di Leibniz e di Schickard si possono allora considerare a tutti gli effetti
come antenati di un elaboratore moderno, anche se sono limitate nelle opera-
zioni di elaborazione. Il primo progetto (mai realizzato completamente) di un
computer capace di essere programmato per eseguire compiti generici è invece
del 1837 ed è l’Analytical Engine dello scienziato inglese Charles Babbage.
Una caratteristica fondamentale dell’elaboratore moderno è infatti proprio
quella di essere capace di eseguire su opportuna programmazione ogni tipo di
operazione logica, quindi ogni compito generico esprimibile con un algoritmo,
ossia un numero finito di operazioni elementari e riproducibili. Ciò permette
di introdurre anche la nozione teorica di calcolabilità: un problema si defi-
nisce calcolabile quando è risolvibile mediante un algoritmo. I computer sono
allora macchine programmate per eseguire operazioni sui dati in loro possesso
(che possono ovviamente cambiare grazie a periferiche che li aggiornano o ne
forniscono di nuovi) in modo autonomo. Elaboratori automatici, appunto. E
2 Nel corso di questi appunti i termini computer ed elaboratore saranno utilizzati come
sinonimi.
3
l’automazione, insieme alle considerevoli velocità di elaborazione consentite dai
moderni microprocessori, sono forse la ragione principale del loro successo e
della loro diffusione.
4
etc. che ne consentono il funzionamento. Con il termine software invece si in-
dicano quelle informazioni utilizzate da un elaboratore per funzionare: possono
essere programmi, che contengono le istruzioni di comportamento, dati, o la
combinazione di entrambi.
5
bit. Comunemente si fa però scorrettamente riferimento ai prefissi del sistema
internazionale di misura appena presentati come se fossero prefissi binari, an-
che se la distinzione è relativamente recente4 e non ancora diffusa e accettata.
Cosı̀ che gli attributi kibi (abbreviato in Ki), mebi (Mi), gibi (Gi) e tebi
(Ti), posti prima di bit e di byte, che indicano rispettivamente 210 = 1.024,
220 = 1.048.576, 230 = 1.073.741.824 e 240 = 1.099.511.627.776 (un bilione) di
bit o di byte, vengono ancora spesso ignorati. Un tebibyte corrisponde allora
a 8.796.093.022.208 bit. Gli attributi kilo, mega, giga, tera, etc. sono stati
per decenni e vengono ancora utilizzati in informatica per indicare ciò che la
Commissione Elettrotecnica Internazionale vorrebbe che fosse indicato da kibi,
mebi, gibi, tebi, etc. Il motivo è molto semplice, gestire i multipli come potenze
binarie in un sistema binario è decisamente più pratico e permette di gestire in
maniera più efficiente questioni quali ad esempio gli indirizzi di memoria. La
ragione della distinzione chiesta dalla Commissione Elettrotecnica Internazio-
nale deriva invece dal fatto che gli attributi kilo, mega, giga e tera sono invece
utilizzati come potenze di dieci convenzionalmente in riferimento ad ogni altra
unità di misura; utilizzarle allora per esprimere potenze di due può creare (e in
effetti crea...) confusione.
6
di campionamento necessaria per campionare un segnale analogico è uguale al
doppio della massima frequenza che si vuole campionare. 20kHz è pressoché la
massima frequenza udibile e gli standard di campionamento sono di poco su-
periori al suo doppio (44,1kHz per i CD audio, 48kHz per la maggior parte dei
dispositivi elettronici in commercio).
La seconda grandezza è la profondità di bit o profondità di campio-
namento, che indica la quantità di bit con cui si esprimerà il valore di ogni
misurazione, di ogni campione. Il CD audio, ad esempio, ha una profondità di
16 bit, quindi ogni campione può assumere uno tra 216 = 65.536 valori.
7
formato di file. Un file MIDI contiene informazioni che specificano eventi legati
ad una partitura astratta: note, con loro altezza durata e volume, lo strumen-
to che le suona, indicazioni metronomiche, nonché informazioni più dettagliate
quali ad esempio il vibrato o la tonalità. La caratteristica che ne ha reso uno
standard internazionalmente adottato da oltre trent’anni risiede nella dimen-
sione estremamente ridotta dei file, nonché nell’efficienza del protocollo. Per
suonare un file MIDI ha bisogno di un software che esegua il suo contenuto (un
sequencer, in italiano sequenziatore) in combinazione con un campionatore,
un sintetizzatore o in ogni caso un dispositivo o un programma che associno agli
eventi del protocollo dei suoni.
8
Alcuni software consentono di programmare autonomamente gli applicativi,
mettendo a disposizione un framework, routine e librerie dedicate per il tratta-
mento di segnali audio o informazione musicale. I più celebri, anche per facilità
di utilizzo, sono gli ambienti di sviluppo grafico a flusso di dati, come Max
della Cycling ’74, l’open source Pure Data o ancora Flowstone della DSP Ro-
botics. Esistono anche linguaggi di programmazione dedicati, che servono
anche da ambienti di sviluppo, come CSound, SuperCollider (che consente
anche il live coding) e Processing (quest’ultimo più forte nell’interazione con
il video). Per il trattamento invece dell’informazione musicale sicuramente è da
ricordare la libreria Music21 del MIT, scritta e utilizzabile in linguaggio Python.
Indice
1 Informatica generale 1
1.1 Dati, informazione, conoscenza . . . . . . . . . . . . . . . . . . . 2
1.2 Automatismi ed elaboratori . . . . . . . . . . . . . . . . . . . . . 3
1.3 Modello teorico-computazionale e architettura di un computer . . 4