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.