E’ bene addentrarci in alcuni aspetti che fanno capo all’evoluzione del progetto “H-Ard”.
Fin dal principio si e’ trattato di risolvere aspetti tecnici e teorici attraverso la piattaforma hardware basata su Arduino e lo sviluppo software di musica generativa. Per questa ragione la seria “H-Ard” si compone di console e funzioni generative che cambiano di volta in volta. Perciò sino ad oggi, si sono succeduti diversi progetti software funzionanti su un’unica piattaforma hardware, anche perchè, nel concreto, console diverse avevano comunque in comune Arduino differenti per sensori o shields.
Fino ad “H-Ard NG” che cambia completamente le carte in tavola.
E’ bene capire che la novità portata dalla serie NG diviene strutturale attraverso un taglio netto col passato e la riprogettazione completa di tutto l’impianto.
Fino ad oggi ogni progetto richiedeva la riscrittura di gran parte del codice e per complicare le cose, i sistemi generativi come “Randomizer”, “Triads”, piuttosto che “Math” e tutti gli altri, si mescolavano alle diverse esigenze hardware, pensiamo all’introduzione del display o all’eliminazione dei potenziometri, perciò una nuova idea generativa richiedeva lunghi giorni di riscrittura del programma nel suo insieme senza grandi possibilità di riutilizzo.
“H-Ard NG” supera ogni problema di infrastruttura dal momento in cui il motore è a tuti gli affetti universale perciò indipendente e nel contempo applicabile ad ogni istanza.
Ci sono funzioni di temporizzazione, di esecuzione e di stop delle note, funzioni di ricerca e statistica, di impostazione e consultazione dello stato in essere. Nel concreto si tratta di creare delle note specificando
volume, durata e canale dove di volta in volta, è solo il metodo generativo a cambiare e solo ed esclusivamente di questo c’è da preoccuparsi.
E’ evidente che riducendo ogni nuovo lavoro ai soli algoritmi musicali, il tempo di sviluppo si riduce di almeno un ordine di grandezza, lasciando molto, molto più tempo a ciò che conta: la musica.
Col nuovo motore si potrebbero riscrivere tutti i progetti precedenti dal momento in cui sia la generazione di note indipendenti tra loro che quella correlate, così come le calcolate attraverso artifizi matematici o ricavate da sensori, sarebbero gestibili in maniera nativa ma non è tutto.
“H-Ard NG” ha per la prima volta memoria e intendo una memoria che non si limita alle poche note precedenti ma, RAM permettendo, un intero score di infinite sequenze da ripescare e rielaborare, in pratica il primo passo per una struttura sinfonica o più modestamente canzone. Il meccanismo che alla base agisce attraverso stacks (code) di apertura e chiusura, permette di creare in anticipo un intero brano sapendo per filo e per segno cosa avverrà in un dato momento, informazioni utilizzabili ricorsivamente o sequenzialmente oppure ignorare tuto e generare qualsiasi nota da porre dove si vuole nel tempo, in orizzontale o nei diversi canali, in verticale.
Perciò tutto è possibile, molto più in fretta e molto più in grande.
Il motore regge piuttosto bene l’impatto di oltre cinquanta note distribuiti su diversi canali per pattern (16 semicrome di base) per quanto i limiti siano collegati in maggior misura all’hardware piuttosto che alla generazione in senso stretto e di ciò si ha un riscontro sul display e altresì è possibile monitorare in tempo reale lo stato dello stack in ingresso a sua volta legato in capienza ai limiti di Arduino.
Vediamo i tre stadi di avanzamento in dettaglio.
“H-Ard NG01 EEtudes I” (che semplificheremo con “EEtudes I“) è stato il primo progetto ad utilizzare il nuovo motore perciò sin dalla sua prima apparizione, è servito per testare il meccanismo oltre alla sperimentazione generativa in senso stretto. Sotto questo aspetto, tolto il primo periodo di controlli e correzioni, il motore ha funzionato egregiamente e nel tempo sono servite poche funzioni di ricerca e calcolo oltre quelle create in partenza, senza il bisogno di mettere mano alla struttura di base della quale, in breve tempo si è potuto dimenticare a favore del calcolo puro.
Perciò eleminate le preoccupazioni strettamente tecniche, è iniziato il processo generativo vero e proprio.
Non intendo in questa sede scendere nel dettaglio del metodo ma come s’è dovuto creare un insieme di ingranaggi per l’esecuzione della musica, allo stesso modo si è resa necessaria la creazione di una funzione di generazione musicale vera e propria. Creata e testata questa, gran parte del lavoro è in affetti stato fatto.
Si tratta di una funzione che riempie le 16 semicrome del pattern con note di lunghezza e altezza variabile e attraverso la conservazione di questo pattern seminale, si possono ricavare le successive elaborazioni accodabili o sovrapponibili in uno sviluppo armonico o melodico, ritmico o tonale e ovviamente tutte le combinazioni possibili.
Essendo studi (Electronic Etudes per l’appunto), non si è volutamente effettuata alcuna operazione sulle sequenze generate e ho convenuto una durata standard e uno schema fisso, proprio per agevolare il raffronto tra i diversi algoritmi e rendere più evidenti le modifiche.
Perciò di massima, ogni brano è composto da 8 pattern da 16 note ripetuti 8 volte per un totale nemmeno troppo casuale di 1024 note ovvero 2^10, con durata di 3 minuti e 30 secondi.
La conclusione della traccia è lasciata ad un forte eco subito sfumato, niente altro.
Le uniche personalizzazioni in fase di post-produzione riguardano il cambio di strumenti per quanto gran parte di “EEtudes I” sia composto da due voci di pianoforte, una di queste abbassata di due ottave per simulare la mano destra e sinistra e le tracce successive sempre di piano più o meno modificato oppure elettronico ma limitate negli effetti.
Altro schema ricorrente seppur legato ai diversi stati del progetto, è il ricalcolo del pattern dopo 8 ripetizioni, ovvero dato il pattern di base, si applicano otto variazioni, una per pattern per rigenerarlo completamente e ricominciare. Ciò accentua la versatilità del motore, ne testa le funzioni senza stancare e devo dire, spesso migliorando l’impatto artistico in senso assoluto.
Quindi al tecnico come all’ascoltatore, non resta che concentrarsi sulle variazioni algoritmiche che emergono più facilmente al confronto, senza tralasciare il piacere dell’ascolto.
A tutti gli effetti, gli otto blocchi di otto pattern differenti, rappresentano otto canzoni distinte che si amalgamano talvolta in modo sorprendente, ed esprime una certa curiosità che i più attenti e volenterosi potrebbero decidere di studiare e approfondire.
I primi test, invero molto semplici, riguardavano appunto la sola generazione di pattern e il loro sviluppo, e come detto spesso associati ad un raddoppio su una seconda traccia abbassata di due ottave come a simulare la mano destra e sinistra sul pianoforte e proprio il pianoforte è lo strumento scelto per gran parte dei pezzi.
A questo punto la serie di test si è evoluta nel più classico e aggiungerei semplice tra le tecniche contrappuntistiche, il canone. Data la traccia di base si è proceduto a sfalsarla sulla seconda voce nel tempo, invertendola, allungandola, oppure schiacciandola prelevando ad esempio una nota su 4 a quel punto di durata 4/16 per un effetto di stampo melismatico. Da due si è passati a 3 o 4 voci, giocando coi parametri di ogni metodo e sovrapponendole in diverse combinazioni come si può comprendere già dal titolo del brano che cerca di riassumerne il carattere tecnico.
Altri metodi usati ma invito all’ascolto per meglio comprenderne il significato, hanno riguardato algoritmi di arpeggio, altri di “triads” ovvero la sovrapposizione di una nota con altre due alzate e abbassate di n-toni a differenti parametri. Non voglio dire che la ricerca si sia sviluppata melodicamente ma certo la sovrapposizione ha spinto su questa proprietà.
Gli “EEtudes I” terminano quando si è rodato il motore a sufficienza e quando tutte le combinazioni più interessanti sono state testate ed è a questo punto che è iniziato il progetto “EEtudes II”.
Prima di iniziare il giro di test, il grosso del lavoro tecnico si è concentrato sulla standardizzazione delle funzioni di “EEtudes I”. In pratica se in precedenza una variazione o deformazione del pattern avveniva scrivendo diverse procedure, tra loro comunque molto simili, si è provveduto a trasformare le procedure in funzioni parametrizzate dove poter variare valori strutturali e tecnici come il canale Midi e il gruppo di note sul quale agire. Si perchè, altra importante variazione, la creazione di toni nel vettore preposto non avviene più sequenzialmente ma a blocchi, tipicamente di 16 dentro i quali le funzioni posso intervenire in creazione e variazione, un passo fondamentale per gli sviluppi successivi.
All’opposto di “EEtudes I”, la serie II si concentra sul ritmo, ovvero la contrapposizione di pattern di diversa durata in sedicesimi o con durata variabile. E’ una ricerca di base minimalista che riprende o meglio dire simula quanto musicisti come Reich e Glass hanno già sperimentato, perciò i primi brani della serie, sovrappongono il pattern a se stesso ma con durata non di 16/16 ma 15, 14 o altre misure e per fare questo si è sviluppato un nuovo algoritmo generativo che diviene poi il leitmotiv di “EEtudes II”.
Se in precedenza, si lasciava al caso il numero di note e di conseguenza la loro durata all’interno del pattern da 16, in questo progetto si parte dal presupposto di volere un pattern di n-note fisse. Infatti dopo i test con pattern di diversa lunghezza, si sono testati pattern fissi in note agendo sulle variazioni di queste, un po’ come in precedenza ma a numero fisso ma principalmente si è lavorato sull’incremento o decremento delle note di un pattern con un numero predeterminato di note.
Dalla traccia 12, di massima la struttura è stata di un primo pattern composto da 4 note, ripetuto invariato per 4 volte, innestando una nuova nota fino ad aggiungerne 4 e infine sottrarle. Basta poco per calcolare che ancora una volta il numero di pattern resta invariato così come restano invariate le 16x4x4x4=1024 note quindi stessa durata campione di 3 minuti e mezzo. Combinando la nuova tecnica generativa con le funzioni viste in precedenza, si è potuto sperimentare nuove e talvolta sorprendenti combinazioni, specialmente sul fronte melodico. Si perchè malgrado l’intento di sperimentare fosse verticale e ritmico, i risultati migliori sono stati orizzontali e armonici, altro risultato degno di analisi e studi ulteriori.
A questo proposito si è sviluppato un progetto parallelo chiamato “EEtudes on the run” che pur senza toccare alcuna nota, cura con maggiore attenzione il suono variando strumenti e iniziando e chiudendo il brano con meno brutalità e un minimo di ricercatezza. Su questo lavoro è possibile ascoltare i primi esperimenti un po’ più “canzone” di altre.
Eccoci dunque alla terza parte degli “EEtudes”. Come per i precedenti due, anche qui si è voluto iniziare con alcune importanti novità tecniche.
La prima riguarda l’importante intervento su un gruppo di note precaricate, laddove si può lasciare invariata la durata sostituendole con altre note o al contrario mantenere le stesse note ma scegliendone altre durate sempre nel medesimo spazio di battuta. In questo modo è possibile tentare di superare il canone e giungere alla fuga.
L’altra importante funzione creata alla testa del nuovo progetto, genera un numero predeterminato di accordi ma vediamo nel dettaglio. La cosiddetta nota centrale di un insieme di note, non definiamolo accordo che è qualcosa di molto più complesso, statisticamente è probabile sia la nota che compare con maggiore frequenza. La funzione quindi restituisce la n-esima nota in ordine di durata all’interno del pattern, con n da 1 a 16.Inserendo la funzione all’interno di un’altra, questa di generazione vera e propria, è possibile avere insiemi di note, di solito triadi composte dalle prime tre note di un dato pattern. Ripeto, non chiamiamoli accordi ma certo è che il metodo ricava combinazioni che a questi assomigliano molto.
Tutto ciò assume molta importanza nell’obiettivo programmatico della fase III, ovvero se in precedenza si è voluto sperimentare su armonia e ritmo, si vuole studiare un metodo per l’armonia e cominciare a pensare ad una struttura “canzone”.
Ancora più importante e’ lo smontaggio strutturato dei pattern, ovvero tolti gli automatismi della sequenza generativa dei pattern, blocchi da otto o aggiunta e sottrazione di note come in EEtudes I e II, si usa una traccia base con variazioni ogni 8 pattern ma le altre tracce aggiungono effetti ed elaborazioni con lunghezze casuali (1,2,4,8) perciò indipendenti da una struttura fissa che comunque prevede con probabilità 1 su 4 la ripetizione del pattern principale per creare un centro armonico riconoscibile.
Tra gli algoritmi aggiunti c’è da segnalare l’Abbellimento, ed è abbellimento a tutti gli effetti regolato sulla lunghezza della nota più lunga del pattern e dentro il quale la casualità scegli abbellimenti diversi, oltre a uno sviluppo di accompagnamento avanzato e dinamico, rispondente a dinamiche ripetitive ma sempre diverse e meno automatiche.
Tutto quanto alla fine si compone nell’ultima parte del progetto che prevede una suddivisone tematica degli strumenti in blocchi funzionali alla linea melodica principale, all’accompagnamento e al ritmo, nella suddivisione finalizzata ad un ensemble cameristico per concerti ancora da inventare.
Riferimenti
https://www.movimentoparticellare.com/
https://maxscordamaglia.bandcamp.com/
https://soundcloud.com/maxscorda
http://www.youtube.com/playlist?list=PLE1BG_rxGcZIj9ViRhx5f7fyEE6BVDtxr