Maurizio Giri Music etc.

10Mar/103

5 pezzi facili con MaxMSP – 5: Glitch Machine

Ultimo “pezzo facile” per MaxMSP (come al solito vi ricordo che le caratteristiche di queste patch sono spiegate nella prima puntata della serie).
Questa volta la patch non è proprio facile-facile: per l’elaborazione del segnale sono stati infatti impiegati una quarantina di oggetti.
Si tratta di un generatore di “suoni glitch”: con questo termine si indicano generalmente suoni digitali inattesi o derivati da errori di procedura e/o malfunzionamenti di sistemi digitali (vedi la voce relativa nella Wikipedia).
In questo caso si tratta naturalmente di un simulatore di errori di procedure e/o malfunzionamenti, anche se mi piace più pensare a questo tipo di patch come “simulatori di macchine digitali immaginarie”.

Prima di tutto ecco un’immagine della patch:

Questa volta non ci sono preset, ma una serie di toggle, da attivare in sequenza, che rendono il suono progressivamente più complesso.

Sentiamo un esempio: qui, partendo con tutti i toggle disattivati, li ho attivati uno dopo l’altro lentamente, e poi li ho velocemente disattivati per tornare al suono iniziale:

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.

Il file mp3 può essere scaricato qui e ovviamente è anche disponibile il file maxmsp (zip).

Per sommi capi funziona così: in alto c’è un phasor~ “master” che controlla tutti gli altri generatori, e nella parte bassa c’è un cycle~ che produce tutti i suoni che si sentono. I cambiamenti avvengono infatti quasi tutti tramite una modulazione di fase a cascata di questo oggetto cycle~ che è quindi la portante del suono. All’uscita del cycle~ portante due oggetti delay~ il cui tempo di ritardo è modificato dal cycle~ stesso, creano un effetto di movimento stereofonico.

Per capire meglio la patch dividiamo in 6 colonne il percorso di controllo/modulazione gestito dal phasor~ in alto:

I colonna: tramite l’oggetto >~ e il successivo moltiplicatore, viene mandata al cycle~ portante una frequenza alternativamente di 0 Hz e 440 Hz. Dal momento che il phasor~ va a 1 Hz, il cycle~ sarà per mezzo secondo a 0 Hz (silenzio) e per mezzo secondo a 440 Hz.

II colonna: qui c’è un secondo cycle~ che modula la fase del primo. Con un meccanismo identico a quello della prima colonna, questo oscillatore modulante alterna una frequenza di 0 Hz a una frequenza di 25 Hz. Non viene controllato direttamente dal phasor~ in alto, ma da un oggetto rate~ che è sincronizzato al phasor~ e genera una rampa ogni volta che il phasor~ ne ha generata una e mezza. Se non conoscete l’oggetto rate~ vi consiglio di consultare l’help: è un oggetto utilissimo per mettere in sync i diversi generatori di suono.

III colonna: un oggetto saw~ modula, sempre con un meccanismo simile ai precedenti, la fase del cycle~ della seconda colonna. Questa volta è controllato da un rate~ che fa un ciclo ogni tre del phasor~ “master”. L’oggetto [<~ 0.25] fa sì che il saw~ sia attivo per un quarto del ciclo generato dal rate~.

IV colonna: un rate~ che fa un ciclo ogni 4 del phasor~ “master” controlla un train~ che per un ottavo di ciclo di rate~ genera un treno di impulsi a 1000 Hz. Il segnale si aggiunge al segnale prodotto dal saw~ in terza colonna e contribuisce quindi a modulare la fase del cycle~ in seconda colonna.

V colonna: questa è abbastanza complessa. Innanzitutto c’è un rate~ che fa 16 oscillazioni per ogni oscillazione del phasor~ master. L’oggetto [<~ 0.5] collegato al rate~, fa sì che durante la prima metà di queste oscillazioni venga fatto passare un generatore rand~ a 2 Hz. I valori prodotti da rand~ vengono moltiplicati per 8000 e vengono aggiunti al valore di frequenza del saw~ in terza colonna. Non tutti i valori di rand~ vengono utilizzati, però: soltanto quelli che vengono generati durante l’ultimo ottavo del ciclo prodotto dal rate~ della quarta colonna! (ciò è dovuto all’oggetto [>~ 0.875])

VI colonna: per fortuna è molto semplice. C’è un oggetto rate~ che genera una rampa ogni due cicli e mezzo del phasor~ master. Durante la prima metà di questa rampa viene prodotto il valore “-330” e durante la seconda il valore “0”. Questi due valori si sommano alla frequenza del cycle~ portante in prima colonna, trasformando la pulsazione fissa in un pattern melodico (per sentirlo bene provate a tenere attivato solo l’ultimo toggle).

Ok, termina così la serie di 5 pezzi facili, che spero abbiate trovato interessante e divertente quanto io mi sono divertito a realizzarla.

Durante l’elaborazione delle patch ho riflettuto sul fatto che la creazione di piccoli moduli che creino un particolare tipo di effetto o suono può essere molto efficace: si mette a fuoco un singolo problema e si concentra lo sforzo sulla sua risoluzione.

Mi chiedo se non sia un approccio migliore rispetto alle mega-patch omnicomprensive che in genere tendo a creare per i miei pezzi... ma probabilmente la risposta (come sempre) è che entrambi gli approcci hanno pregi e difetti, e se sia meglio applicare l’uno o l’altro dipende dal progetto.

Come al solito se avete qualche patch interessante da proporre, e/o qualche problema MaxMSP da risolvere, vi invito a partecipare al forum di Virtual Sound.

5 PEZZI FACILI - INDICE:

1 - Swarm

2 - Boiler

3 - Rythmic Distortion

4 - Microsound

5 - Glitch Machine

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