Common Music


Common Music è un software multipiattaforma, orientato agli oggetti (object-oriented), ideato come aiuto alla composizione musicale attraverso il computer. È in grado di interfacciarsi con numerosi altri software per la sintesi del suono e il controllo dell’esecuzione. Ad Aprile 2011 è stata rilasciata la versione 3.7.2.

Cenni storici – Common Music è stato sviluppato, sul finire degli anni Ottanta, in linguaggio Common Lisp e Common Lisp Object System (CLOS)al CCRMA di Stanford da Heinrich Taube. Inizialmente fu pensato per soli scopi didattici, in maniera da affiancare le potenzialità del computer Foonly f4 e il sintetizzatore Samson Box già in uso al CCRMA. Il prototipo iniziale fu pensato per i computer Symbolic Lisp, in seguito è stato implementato anche per i computer Macintosh e NeXT. Dal 1997, infine, è disponibile una versione anche per computer PC, SGI e SUN.[1]

L’antenato concettuale – Nella realizzazione di Common Music furono molto importanti le precedenti esperienze condotte da Taube con PLA (linguaggio di aiuto alla composizione di partiture sviluppato sempre al CCRMA da Bill Schottstaedt) e con SCORE, di Leland Smith. Molti aspetti di Common Music, inoltre, sono ripresi anche dai codici di SAIL, punto di partenza anche per PLA. Tra tutte, l’esperienza più importante rimane quella condotta con PLA, una retro compatibilità con un programma che lo stesso Taube definisce come “l’antenato concettuale” di Common Music.[2] Da PLA, Taube ricava le funzioni più importanti e utili ma reinserite in un ambiente che pone in equilibrio una potenzialità utile allo svolgimento di operazioni complesse con una flessibile apertura utile all’aggiunta di nuove funzioni, così da potersi adattare alle diverse esigenze dei compositori che ne avrebbero fatto uso.

Obbiettivi – Taube pone alcuni obbiettivi fondamentali all’inizio del suo progetto: la portabilità e l’integrazione con altri linguaggi e software. Il primo aspetto fu risolto attraverso l’adozione di Lisp e CLOS. In quei primi anni Novanta, inoltre, si stava diffondendo anche il linguaggio Common Lisp Interface Manager (CLIM) che in futuro avrebbe permesso di equipaggiare Common Music con una pratica interfaccia grafica compatibile con i diversi sistemi operativi.[2]

I diversi output – Per quanto riguarda il secondo aspetto, invece, va detto che Common Music, in quanto strumento di aiuto alla composizione, non è in grado di consentire la sintesi o il controllo sul materiale sonoro. Per farne uno strumento versatile, era necessario garantire la sua integrazione con quanti più linguaggi o software fosse possibile. Infatti Common Music è in grado di generare degli output da gestire via Midi o con software quali Csound, Music Kit, Cmix, Cmusic, M4C, RT, SGIMix Common Lisp Music e CMN (Common Music Notation). I diversi output si possono ottenere mantenendo invariato l’approccio alla composizione permesso da Common Music. Inoltre il software di Taube fu predisposto per accogliere modifiche al codice che consentissero l’integrazione di altri software.[2]

Il modello concettuale – All’interno di Common Music la composizione musicale è intesa come un procedimento sperimentale che si articola in tre fasi distinte: composizione dell’idea musicale, sintesi del suono e, infine, esecuzione. Durante la prima fase il compositore pianifica e sviluppa delle idee musicali intese anche in termini di relazioni strutturali tra i suoni. Durante la seconda fase, invece, viene elaborato il modo in cui, concretamente, realizzare le idee sviluppate. La terza fase, infine, è dedicata all’esecuzione delle idee sviluppate e realizzate. Da un punto di vista operativo, le prime due fasi tendono ad essere unite tra loro, visto che l’ideazione e la sua resa, immediata, procedono comunemente insieme. Ma secondo Taube, nell’ottica di realizzazione di un software, intendere l’ideazione e la sua realizzazione come fossero moduli separati avvantaggia il compositore nell’uso degli strumenti informatici.[1]

Il concetto di struttura – Common Music funziona facendo leva sulla distinzione del concetto di struttura che può fare riferimento sia al singolo suono sia ad aggregati di più suoni. Le singole unità di suoni sono considerate degli eventi (object) i cui attributi corrispondono ai valori di controllo del processo di sintesi. Common Music prevede eventi già preimpostati e la possibilità, per l’utente, di crearne di nuovi. Quest’ultimo è ritenuto da Taube un aspetto molto importante, in particolare nell’ottica di interazione di Common Music con software quali CLM o Csound che consentono la definizione di nuovi algoritmi di sintesi.

Le Collection – Per quanto riguarda le strutture che prevedono aggregati di più suoni, Taube parla anche di collezioni di suoni, Common Music è stato realizzato con delle collezioni già predefinite: Thread (le aggregazioni avvengono su un’unica linea di tempo, in sequenza), Merge (per aggregazioni parallele, su più linee di tempo), Heap (aggregazioni casuali su un’unica linea di tempo), Network (aggregazione che avviene secondo un ordine stabilito dall’utente), Algorithm (aggregazione che avviene in seguito ad una descrizione puntuale che coinvolge l’uso di un software esterno) e Layout (aggregazione che fa riferimento ad interi blocchi di strutture già esistenti).

L’interazione con il software – Common Music supporta tre differenti modalità di approccio che il compositore può scegliere a seconda delle proprie esigenze o del contesto specifico in cui opera. Taube definisce queste modalità come Action, Command e Code. Il livello più basso di interazione si basa sull’utilizzo del codice Lisp. Si tratta della modalità basilare che da un lato permette un lavoro accurato nella definizione degli algoritmi ma dall’altro non permette di sfruttare tutte le funzionalità di cui è provvisto Common Music. La seconda modalità, Command, prevede l’utilizzo di un interprete di comandi denominato Stella. In questo caso i comandi esecutivi sono inseriti in maniera testuale e successivamente interpretati per consentire l’operatività delle funzioni di Common Music. La terza modalità, definita Action, prevede l’utilizzo di un’interfaccia grafica denominata Capella. Tra le altre utilità sviluppate per Common Music ricordiamo anche Output Browser di Tobias Kunze, un’interfaccia grafica che si relaziona con le collezioni di Layout.[1]

Le macro – Common Music mette a disposizione dell’utente numerose procedure e classi di oggetti specifici per esplorare i diversi processi di composizione. Tra questi strumenti di aiuto troviamo delle macro che consentono di creare strutture musicali aggregate, selezioni randomiche, inviluppi e moltre altre funzionalità. All’elenco proposto si aggiungono le funzionalità specifiche di Common Lisp, dal momento che un algoritmo preparato in Common Music, sul piano del codice, è sempre un ibrido tra Common Lisp e le funzioni specifiche di Common Music.

Conclusioni – Va precisato, infine, che Common Music, insieme a Common Lisp Music e Common Music Notation, costituisce un unico ambiente di lavoro sviluppato a Stanford e basato sull’utilizzo di Common Lisp.

 

Per scrivere questa voce ho letto:

[1] Heinrich Taube, An Introduction to Common Music, Computer Music Journal, Vol. 21 [1], 1997.
[2] Heinrich Taube, Common Music: A Music Composition Language in Common Lisp and CLOS. Computer Music Journal, Vol. 15 [2], 1991.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *