Linguaggi di
programmazione per l’informatica musicale
Docente: Tommaso Dini
Introduzione :
Tipologia dei principali programmi per l’informatica
musicale e differenze concettuali tra programmi operazionali e relazionali.
Natura dei programmi relazionali ad oggetti (Object
Oriented)
I diversi livelli della programmazione
:
-dal
codice all’oggetto
-dagli
oggetti alla patches (relazionare gli oggetti)
-le
librerie (ovvero patches organizzate)
L’ambiente OpenMusic (Software sviluppato dall’ IRCAM per la sola
piattaforma MAC)
Il programma OM come ambiente operativo
-Workspace
-Patches, subpatches ( ovvero
abstractions), packages…
-Classes
and Instances ovvero un concetto molto comune nei linguaggi di programmazione “
Object Oriented”
Librerie di OpenMusic dedicate alla composizione assistita dal
calcolatore (composizione algoritmica)
Profile
il
concetto di Profile
-operazioni di base : alea-perturbation di un profilo; compr/expan di un
profilo;
-operazioni di
interazione tra diversi profili : control-perturbation; prof.-change
-operazioni simmetriche
(“riflessioni”) : reflexion; double-reflexion; multi-reflexion
-operazioni sulla complessità:
mean-derivation; interlock; derivation; integration
-operazioni di
interpolazione controllata: inter-dyn; multi-interpol; interpol-prof
-altre operazioni sul profilo:
range approx; notes-change; weight-average; group-list; subst-list; interpol-tab; bpf-interpolx
RC (Rhytm Controlling) library
-Introduzione al “motore” RC
-Sintassi del linguaggio per
definire matematicamente le strutture ritmiche (Rhythm trees)
-il concetto di dendrite
(forma ad albero)
-Layers e gerarchie…
-Sintassi del linguaggio per
porre regole e condizioni (“rules”) all’elaborazione ritmica
-il
concetto di “domain”, ovvero l’insieme di possibili soluzioni in accordo con le
“regole” stabilite.
LZ library (ovvero “applying universal prediction to
musical style”)
-Introduzione al “motore” LZ
-Creazione di un “dizionario”
basato sull’algoritmo di Lempel and Ziv
-L’algoritmo IP(incremental
Parsing)
-Assegnazione delle
probabilità condizionanti secondo criteri stilistico-musicali
-Predizione basata sul
“dizionario”.
-Relazione con i modelli di
Markov
Altre Librerie di OpenMusic
:
OM-AS Library : libreria dedicata all’interfacciamento con il programma
di analisi spettrale e processamento audio Audiosculpt (sviluppato dall’IRCAM,
solo per MAC)
Situation v.3 : libreria dedicata alla costruzione di sequenze musicali a
partire dalla descrizione delle loro proprietà musicali, contrariamente
all’approccio funzionale che necessita della specificazione precisa (a priori e
condizionante!) dell’algoritmo di costruzione.
L’ambiente Max/MSP
(Software
sviluppato dall’ IRCAM per piattaforma MAC e successivamente
esteso parzialmente a PC, ottimizzato per PowerPC con altivec engine(G4/G5),
supporta l’architettura multiprocessore MAC); presente, con finalità diverse,
anche nel laboratorio “Live electronics e regia del suono”
-Introduzione al programma che
ha rivoluzionato il modo di fare musica con il computer.
-Patches e subpatches : nidificazioni complesse organizzate con l’aiuto
dell’interfaccia grafica e della programmazione “ Object Oriented”
-Gestione dell’applicazione e
delle sue librerie con particolare riferimento alle librerie audio ed a quelle
contenenti strumenti compositivi
- Programmazione di Plug-ins
VST (e MAS) compatibili, mediante MAX/MSP e le librerie Pluggo (ovvero come
realizzare applicativi complessi in grado di funzionare semplicemente su
qualunque sequencer Audio e Midi)
Alcune
Librerie e Patches di MAX/MSP dedicate alla
composizione assistita dal calcolatore (composizione algoritmica)
-Canon : generazione di canoni
da MidiFile
-Iso&Matrix : Imitazione
della tecnica isometrica del tardo gotico
-Mia elaborazione di Iso&Matrix
-Pseudo Randoms : generazione
di ranges variabili di rumore basati sull’algoritmo di Voss e, più in generale
sulla teoria del caos
-Litter Package : per la
costruzioni di canoni basati su modelli stocastici
-Attractor : implementazione
delle equazioni di attrazione di Lorenz
-Fractus : generatore di
pattern musicali basati su frattali
-Boids : simulazione del volo
degli stormi di uccelli basata sull’algoritmo di Craig Reynolds (usata nel film
JurassicPark)
-Life tools : Un insieme di
strumenti basati sull’algoritmo di evoluzione genetica di Conway (Game of Life)
Alcune Librerie
e Patches di MAX/MSP dedicate alla elaborazione audio
ed alla sintesi sonora (IRCAM):
-Jimmies : numerose tipologie
di filtri e processori audio.
-Le Spatializateur : modelli di
spazializzazione concepiti in funzione del tipo di ripresa microfonica e
dell’ambiente acustico.
-FFTease : Numerose
implementazioni della FFT diretta ed inversa.
-Numerosi modelli di sintesi sonora :
additiva, sottrattiva, FM, Granulare, ecc.