Maurizio Giri Music etc.

28Feb/101

5 pezzi facili con MaxMSP – 4: Microsound (sintesi granulare)

Come promesso, l'articolo di oggi parla di microsuoni (microsound , in omaggio all’omonimo testo di Curtis Roads sulla sintesi granulare).

Vi ricordo che si tratta anche in questo caso di una patch minimale, realizzata con un minimo di “scatolette” max, ma in grado di realizzare una gamma di suoni differenti e, mi auguro, interessanti. Come al solito per le caratteristiche di queste patch vi rimando alla prima puntata della serie.

Una piccola notazione terminologica, prima di cominciare: nel 90% dei casi in cui si parla di “sintesi granulare” si intende in realtà la “granulazione di suoni preregistrati”, cioè tutta un’altra cosa. La sintesi granulare vera e propria, infatti, utilizza “grani di suono” sintetici, il cui contenuto sonoro è realizzato cioè tramite oscillatori, filtri etc., mentre la granulazione prevede la frammentazione e ricomposizione di un suono campionato, o prodotto in tempo reale da una sorgente esterna (è il tipico caso degli innumerevoli plugin di granulazione del suono esistenti).

Il tipo di sintesi sonora realizzato con questa patch può essere senz’altro rubricato come “sintesi granulare”, anche se si tratta di una variante abbastanza particolare: viene infatti usato un oscillatore modulato per generare finestre di inviluppo sempre diverse, e si fa largo uso della modulazione di fase per il contenuto sonoro dei singoli grani.

Ecco prima di tutto un’immagine della patch:


La patch può essere scaricarla qui.

Vediamo come funziona: in alto c’è un oscillatore sinusoidale modulato da un generatore di rumore (che viene “elevato al quadrato” per trasformare i segmenti di retta che produce in curve esponenziali). A seconda della frequenza data all’oscillatore e al generatore di rumore possiamo avere un’intera gamma di generazione di cicli che va dal “perfettamente regolare” al “completamente caotico” con tutte le gradazioni intermedie.

Il segnale così prodotto viene anch'esso elevato al quadrato, per portarlo tutto nella parte positiva, dopo di che viene sottratto un piccolo offset (0.001) per riportare una minima porzione dell'onda nella parte negativa, e questa porzione viene  “tagliata via”  dall'oggetto clip~. In questo modo vengono generate delle “finestre” di varie forme (visibili nell’oggetto scope~) che vengono utilizzate come inviluppi dei grani.

Lo stesso segnale funge da trigger per quattro oggetti sah~ (sample and hold) a cui sono collegati altrettanti generatori di rumore bianco. In questo modo all’inizio di ogni inviluppo granulare vengono lasciati passare quattro valori casuali generati dai quattro noise~. Il primo valore casuale (sulla sinistra), viene moltiplicato per un coefficiente ed utilizzato per la frequenza di un cycle~ (sempre sulla sinistra) la cui uscita viene poi moltiplicata per l’inviluppo granulare. Questo cycle~ è quindi il generatore di suono, o meglio la portante di un sistema di modulazione di fase. La modulante è un secondo oggetto cycle~ che entra nell’ingresso di destra della portante (cioè del primo cycle~). Anche la modulante cambia frequenza ad ogni grano con lo stesso sistema della portante, ed è inoltre a sua volta modulato in fase dal segnale dell’inviluppo moltiplicato per un coefficiente. Quest’ultima modulazione permette di realizzare glissandi e spettri in evoluzione all’interno dei grani.

Gli ultimi due generatori di rumore collegati ad altrettanti sah~ (in basso al centro) servono a variare casualmente l’ampiezza di ogni grano e la sua posizione stereofonica.

Come sempre ho preparato una registrazione con l’esecuzione di diversi prest.

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Se volete potete scaricarla qui.

Possibile variante: aggiungere un offset per la frequenza della portante e della modulante, da inserire tra i due moltiplicatori e gli ingressi per la frequenza dei due cycle~.

Se vi viene in mente qualche altra variazione sul tema “sintesi granulare” (o qualsiasi altro tema di sintesi e/o sound design), venite a parlarne nel forum di virtual-sound, vi aspettiamo!

Con la sintesi granulare terminiamo qui, la prossima volta: glitch music.

5 PEZZI FACILI - INDICE:

1 - Swarm

2 - Boiler

3 - Rythmic Distortion

4 - Microsound

5 - Glitch Machine

Tagged as: , 1 Comment
22Feb/101

5 Pezzi Facili con MaxMSP- 3: Rythmdist

Eccoci alla terza puntata dei 5 pezzi facili: piccole patch di MaxMSP che utilizzano tecniche particolari di sintesi e/o di elaborazione del suono. Maggiori dettagli li trovate alla prima puntata della serie.

Per prima cosa vediamo un’immagine della patch di oggi:

Si tratta di un suono campionato, filtrato, distorto, ritardato e con un feedback modulato in ampiezza (il tutto realizzato con 15 oggetti che gestiscono i segnali, più i vari number box etc.).

Le possibilità di variazione sonora di questa patch sono molte (considerando le sue dimensioni), e ho preparato diversi preset di esempio.

Ecco la registrazione degli esempi (4 battute per ogni preset):

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Se volete potete scaricare il file mp3 qui.

E per finire ecco la patch (è un file zippato che contiene anche il suono campionato)

Questa patch sfrutta un distorsore (overdrive~) per un segnale (un loop di batteria) che viene filtrato prima e dopo la distorsione da due filtri passa-basso. Il segnale filtrato viene poi ritardato dalla coppia tapin~/tapout~, a cui viene aggiunto un feedback (parte destra della patch).

Il segnale di feedback a sua volta viene modulato in ampiezza da una sinusoide (cycle~) la cui frequenza è un multiplo della durata del loop di batteria.

Spieghiamo meglio quest’ultimo passaggio. L’uscita di destra di groove~ (in alto) produce un segnale che va da 0 a 1 nel tempo in cui un loop viene eseguito una volta: è come se all’interno di groove~ ci fosse un phasor~ che va alla stessa frequenza del loop. Questa rampa viene mandata all’oggetto rate~ che è a sua volta un generatore di rampe da 0 a 1 che si sincronizzano con la rampa ricevuta. Il valore che viene passato all’ingresso di destra di rate~ stabilisce quante rampe deve generare l’oggetto per ogni rampa che riceve, ed in sincrono con questa. Nella figura quindi l’oggetto rate~ genera 12 rampe ogni volta che groove~ gliene manda una, ciascuna delle quali dura quindi 1/12 del loop di batteria. Le rampe generate da rate~ servono per variare la fase dell’oggetto cycle~: quest’ultimo produce quindi 12 sinusoidi (o meglio cosinusoidi) per ogni loop del suono campionato. Le sinusoidi prodotte da cycle~ modulano in ampiezza, e perfettamente in sync, il segnale di feedback.

Per finire, notate che al canale destro viene inviato il suono ritardato, mentre al sinistro il suono diretto (anche se filtrato e distorto). Questo aggiunge profondità pseudo-stereofonica all’effetto. Al segnale elaborato viene inoltre aggiunto il segnale dry.

Variando la frequenza di taglio e il fattore Q dei filtri, il fattore di distorsione di overdrive~, il tempo di ritardo, il valore del feedback e il numero di rampe prodotto da rate~ è possibile ottenere una serie di effetti diversi.

Possibili variazioni:

-       sostituire i filtri passa-basso (uno solo o entrambi) con dei passa-banda, passa-alto etc.

-       modificare la forma d’onda del modulatore (invece che una sinusoide, un’onda quadra o a dente di sega, magari con l’aggiunta di un filtro per evitare i click)

-       Variare il tempo di delay tramite lo stesso modulatore del feedback (opportunamente riscalato) o un altro modulatore indipendente

-       etc. etc. etc.

Come al solito vi invito a pubblicare sul forum di virtual-sound le vostre patch e le vostre variazioni.

Anche per oggi ho finito. La prossima volta: microsuoni.

5 PEZZI FACILI - INDICE:

1 - Swarm

2 - Boiler

3 - Rythmic Distortion

4 - Microsound

5 - Glitch Machine

Tagged as: , 1 Comment
14Feb/100

…suoni dal forum

Anche nel forum di Virtual Sound si stanno producendo dei “pezzi facili” per Max MSP, sul tipo di quelli che ho cominciato a pubblicare qualche giorno fa.

Ecco ad esempio un’interessante patch di Franz Rosati, che fa il verso con ottimi esiti alle sonorità fredde e digitali di Alva Noto, Ryoji Ikeda etc.

Alla patch sono state fatte delle piccole aggiunte da parte del sottoscritto (una semplice pseudo stereofonia) e di Lorbi che ha aggiunto un brillante trucco per differenziare spazialmente le sonorità gravi da quelle acute.

Ecco la patch con le aggiunte: l’oggetto delay~ in basso è stato aggiunto da me e gli oggetti [+~ 1] e [gate~ 2] sempre in basso aggiunti da Lorbi. Gli altri 12 oggetti sono di Franz: come vedete siamo al minimalismo assoluto.

Difficile, guardandola, capire come suona! Ecco un esempio:

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

che se volete potete scaricare qui.

Sorprendente, no?

La patch invece la trovate qui. (Occhio quando la eseguite, che non c’è la regolazione del volume!)

Devo dire che è molto efficace, e assolutamente “economica” (ogni oggetto svolge una funzione insostituibile per l’effetto finale). Sfrutta in modo intelligente alcune caratteristiche di oggetti basilari. In pratica quello che fa è generare un flusso di campioni casuali (il cui valore varia 9 volte al secondo grazie al phasor~ e al sah~, sample and hold, in cima) con cui viene variato contemporaneamente il duty cycle di un’onda quadra (rect~) e l’ampiezza del suono finale. L’onda quadra (che varia tra 0 e 1, più il ripple dovuto al fatto che è un’onda limitata in banda) moltiplica un valore (9575) a cui ne viene sommato un altro (50), abbiamo così un’alternanza tra 9625 e 50 (più ripple), e questa alternanza è casuale perché il duty cycle varia casualmente. Questi valori sono passati come frequenza ad un cycle~ la cui ampiezza viene moltiplicata dal sample and hold di cui sopra: economico ed efficace, come dicevo prima.

Volendo, c’è un piccolo “errore” nella parte alta della patch: il [+~ 0.5] e il [*~ 0.5] che presumibilmente dovevano servire a rendere positivi tutti i valori casuali, sono invertiti, così che i valori variano tra -0.25 e 0.75 (e non tra 0 e 1). Comunque ho provato a correggere la patch invertendo i due operatori e devo dire che il risultato è meno efficace.

A questo punto io ho aggiunto un delay che, sfasando leggermente il canale destro e il canale sinistra, dà un effetto pseudostereofonico noto come “slapback delay”. E Lorbi ha aggiunto un trucco geniale per mettere in mono i suoni gravi e in pseudo stereofonia i suoni acuti: quando il rect~ è nella parte bassa del ciclo (suono grave), il gate~ a cui è collegato fa passare il suono non ritardato per il canale destro (e quindi abbiamo il suono al centro), quando il rect~ è nella parte alta (suono acuto), il gate~ fa passare il suono ritardato (e quindi abbiamo la pseudo stereofonia).

Ci sono stati altri “pezzi facili” nel forum, di cui probabilmente parlerò più avanti. Nel frattempo se volete potete presentare le vostre patch nel forum (magari alla fine facciamo un catalogo di sound design minimale con maxmsp)