Composizione algoritmica e notazione automatica. Lo strano caso di “Historia universalis” / 1

di Andrea Valle*

[“In questi interventi che musicaelettronica.it gentilmente ospita, mi concentrerò su alcuni miei lavori. Non perché li ritenga esteticamente meritevoli di interesse. L’autopromozione è forse un male necessario, ma non si capirebbe perché la mia debba impestare le pagine di questo sito: c’è abbastanza internet per tutti. Ho pensato invece che discutere il bricolage complesso, molto macchinale e altrettanto macchinoso, che ne è all’origine possa avere qualche elemento di interesse per il lettore. Potrà quantomeno guadagnare nel sapere cosa non gli interessa”].

A differenza della sintesi del suono, composizione algoritmica e notazione automatica costituiscono due ambiti in cui la dimensione computazionale dimostra un suo proprium rispetto al medium analogico. Si tratta di due aspetti diversi ma in effetti intimamente legati. Molti software per la composizione assistita, la cosiddetta CAC (computer-assisted composition), includono la possibilità di generare notazione musicale di vario tipo che poi può essere esportata e integrata manualmente nella partitura finale. Si potrebbe però osservare come una composizione algoritmica “pura” di principio (idealmente) dovrebbe prevedere la notazione come suo risultato in uscita. D’altronde è la notazione il vero prodotto della prassi compositiva “di scrittura” dal punto di vista materiale. Infatti: che cosa fa, in termini di prassi di produzione, il compositore che scrive? Produce notazione. Dunque, se algoritmo deve esserci rispetto alla composizione, il problema che quest’ultimo dovrebbe formalizzare è: come si può descrivere una procedura che generi una notazione? Rispetto alla CAC, un simile approccio si potrebbe definire IAC, Integrated Algorithmic Composition.

Va osservato che le soluzioni al problema non sono così ovvie. La questione principale va individuata nel fatto che l’informazione notazionale è diversa e specifica rispetto a quella “musicale”. Un esempio banale: in un contesto temperato, un do diesis e un re bemolle possono essere descritti in pitch class notation con l’intero 1. Senonché, in termini di notazione, si tratta di 4 simboli grafici differenti da generare in uscita. La notazione tradizionale non è poi un sistema formale, ma il risultato dell’accumulazione storica di prassi materiali stratificate, che pietosamente la teoria anglosassone nasconde nella categoria fittizia della Common Music Notation. CMN: sembra uno standard industriale, ma non lo è. Se poi si considerano le notazioni grafiche (semplicemente tutte le altre notazioni possibili al di fuori della CMN), la vicenda si complica ulteriormente, perché, al di là di usi più o meno diffusi, gli aspetti idiosincratici di ognuna giacciono propriamente sul lato compositivo. Ancora, nella prospettiva di una generazione automatica, la definizione di un alfabeto di simboli, quali essi siano, non esaurisce l’informazione grafica, che include più in generale quella tipografica (con tutta l’informazione specifica che questa richiede). In altri termini, i simboli grafici non vanno solo generati a partire da un alfabeto e una grammatica “interna”: vanno pure messi nello spazio grafico in qualche modo, se non storicamente e/o esteticamente sensato, almeno formalmente descritto.

A tal proposito, a partire dal 2005 ho condotto un insieme variegato (e anche abbastanza variopinto) di sperimentazioni sulla generazione automatica di notazione musicale. Il progetto più estremo che ho realizzato, e perciò più interessante in questa sede, è costituito da Historia universalis (2016). Al di là del risultato estetico, vorrei perciò cogliere qui di seguito l’occasione per svitare qualche bullone e descrivere la macchina che mi è stato necessario assemblare.

Historia universalis nasce come una composizione aperta che esibisca uno spettro assai ampio di possibilità relazionali tra scrittura ed esecuzione, e si inserisce in un ciclo più ampio di lavori dedicati al tempo calendariale e all’improvvisazione. Perciò, il progetto ha come punto di partenza il tempo della storia. Ho così deciso di “scrivere” 1.000 pezzi, ovvero uno per ogni anno di storia dall’anno 1 al Mille. Ogni pezzo avrebbe perciò dovuto essere legato all’anno a cui è associato e ai fatti accaduti in quell’anno nel corso della storia. La sorgente di informazione sarebbe stata fornita dalle 1000 pagine che Wikipedia (nell’edizione inglese) dedica a ciascuno degli anni della storia, elencando i fatti principali che vi sono accaduti. Per costruzione, la cardinalità prevista per l’insieme (mille!) impediva pacificamente ogni approccio che non fosse integralmente algoritmico. D’altra parte, non si trattava solo di risparmiare tempo (ci sono compositori che si divertono a passare le ore a copiare pezzi: ognuno ha le sue perversioni), quanto piuttosto di controllare “dall’alto” una massa ingente di dati per assicurare l’assenza di errori materiali, un punto importante per un lavoro che evidentemente ha una dimensione concettuale forte legata all’ordinamento. Ancora, più latamente il progetto può essere considerato come un problema di visualizzazione dei dati: di “infostetica” applicata alla notazione (che, tra l’altro si traduce in fase di esecuzione in qualche modo in una sonificazione degli stessi).

Il processo di costruzione della partitura finale è piuttosto complesso e avviene in 4 passaggi, che smonterò in parte qui di seguito. Tutta la parte di composizione è stata gestita attraverso il mio ambiente di sviluppo di elezione, SuperCollider (di qui in avanti: SC).

I.

Il primo passaggio fondamentale è il recupero e il trattamento dei dati.

In questo caso, si tratta dei 1000 file in formato HTML disponibili presso i server di Wikipedia. Uno dei punti di forza di SC è l’accesso al terminale, e quindi la possibilità di lanciare programmi da riga di comando. Tutte le funzionalità del terminale sono così disponibili dall’interno di SC. Ad esempio, il programma curl, deputato al trasferimento dei dati, ha reso possibile, via terminale da SC, il recupero delle pagine di Wikipedia in un archivio locale di 1000 file in formato HTML. Intuibilmente HTML è un formato incuboso da trattare, a causa della specifica della metainformazione, ma per ognuno dei 1000 file la codifica HTML è stata eliminata agevolmente grazie a un metodo integrato in SC, stripHTML, non documentato e pensato con tutt’altra funzione, quella di trattare i file di help interni. Ma, appunto, il bricolage si basa sul famoso “Système-D” francese, “Débrouille toi”: ci si arrangia con quel che si trova. I dati testuali grezzi, ormai ripuliti dai tag, sono stati “massaggiati” (in Figura 1: clean) in modo da eliminare il testo superfluo (ad esempio, gli indici di sezione, le righe vuote) e ridurre l’informazione sorgente a una semplice sequenza di righe (separate dal carattere di nuova linea che fa da marcatore). Ogni riga descrive un fatto. In uscita dal processo si hanno allora 1000 file in formato testo (e in codifica UTF-8, per mantenere la complessità linguistica della fonte) composti da un numero variabile di righe: ovvero, l’elenco dei “fatti” per quell’anno.

Ad esempio, quanto segue è il contenuto del file relativo all’anno 158, cioè 158.txt (3 righe = 3 fatti):

The earliest dated use of Sol invictus, in a dedication from Rome.

A revolt against Roman rule in Dacia is crushed.

Change of era name from Yongshou to Yangxi of the Chinese Han Dynasty.

A partire dal dato grezzo, questo primo passaggio definisce perciò l’informazione di partenza su cui lavorare.

[fine prima parte]

[seconda parte]

 

*Andrea Valle è ricercatore e professore aggregato presso il DAMS di Torino dove e insegna programmazione audio e semiotica dei media. Laureato in Scienze della comunicazione presso l’Università di Torino, ha conseguito il Dottorato di ricerca in Semiotica presso la scuola superiore di studi umanistici di Bologna. È membro fondatore del CIRMA, Centro Interdipartimentale di Ricerca sulla Multimedialità e l’Audiovisivo, dell’Università di Torino. Ha partecipato al progetto europeo VEP (Virtual Electronic Poem), che ha ricostruito in realtà virtuale il Padiglione Philips. È membro del Consiglio direttivo dell’AIMI (Associazione di Informatica Musicale Italiana). Oltre pubblicazioni scientifiche internazionali, è autore di Audio e multimedia (con V. Lombardo, 4° ed. 2014) e Introduzione a SuperCollider (2015, ed. inglese 2017). Ha studiato composizione musicale con Alessandro Ruo Rui, Azio Corghi, Marco Stroppa, Trevor Wishart. Bassista elettrico, il suo lavoro come compositore è principalmente centrato su metodologie algoritmiche, indifferentemente in ambito elettro-acustico e strumentale. Dal 2008 lavora estensivamente nell’ambito del physical computing, sviluppando ensemble controllati dal calcolatore che includono tipicamente oggetti di uso comune e di recupero. Tra i suoi lavori, installazioni multimediali, musica da film, e teatro. Collabora regolarmente con Marcel·lí Antunez Roca (Cotrone, 2010; Pseudo, 2012; Ultraorbism, 2015; Alsaxy, 2015). Dal 2013 in associazione con Mauro Lanza ha composto il ciclo Systema Naturae, per strumenti acustici e dispositivi elettromeccanici.

Composizione algoritmica e notazione automatica. Lo strano caso di “Historia universalis” / 1 ultima modifica: 2018-03-16T09:55:05+01:00 da Luisa Santacesaria

Lascia una risposta