Maurizio Giri Music etc.

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)

10Feb/100

5 Pezzi Facili con MaxMSP- 2: Boiler

Secondo “pezzo facile” della serie di 5, per le caratteristiche di queste patch vi rimando al primo articolo della serie.

Questa volta la patch elabora un segnale audio e non messaggi MIDI come la precedente: entriamo quindi nel campo del sound design. Dico subito che non si tratta di un esempio spettacolare, ma come al solito vogliamo vedere cosa si riesce a fare di interessante con una manciata di scatolette.

Come si evince dal titolo, si tratta di un generatore di bollicine, anzi, di un boiler (bollitore), con cui si possono fare delle variazioni. Vediamo innanzitutto la patch:

Se escludiamo i number box e i message box, stavolta gli oggetti che contribuiscono alla generazione del suono sono 10. I number box servono a modificare i parametri, e quindi il suono, ma non contribuiscono direttamente a generarlo. C’è poi un oggetto preset nel quale ho memorizzato 5 diverse configurazioni.

Potete scaricare la patch da questo link.

Sentiamo innanzitutto come suona il "boiler" (preset 1)

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.

Ecco come funziona la patch: un rumore bianco viene inviato ad un filtro svf~ (state-variable filter) che ha una frequenza di taglio di 25 Hz. L’oggetto svf~ ha l’interessante caratteristica di essere quattro filtri in uno. Dalle sue quattro uscite infatti esce il segnale filtrato rispettivamente da un passa basso, un passa alto, un passa banda e un notch.

Il rumore bianco viene filtrato dal passa basso, e questo genera un’onda casuale con energia spettrale concentrata intorno ai 25 Hz. Questo segnale viene moltiplicato per 10000 e l’oscillazione tocca così valori molto alti (intorno a +-1000): questi valori vengono usati per modulare la frequenza della sinusoide (cycle~) che vediamo sulla destra: questa modulazione produce il suono delle bollicine.

Oltre a ciò l’uscita passa banda di svf~ viene utilizzata (dopo essere stata addolcita con il filtro passa basso del primo ordine onepole~) per modulare la fase di cycle, e questo aggiunge al suono una componente di rumore (diciamo che è il rumore prodotto dal vapore e dalla fiamma che fa bollire l’acqua).

Infine per rendere stereofonico il suono, e dargli quindi maggiore profondità, è stata aggiunta un’altra sinusoide (a sinistra) la cui frequenza viene modulata dallo stesso segnale filtrato dal filtro svf~, ma con un ritardo rispetto alla sinusoide di destra. Il segnale modulante, infatti, passa per un oggetto delay~. Notate che il tempo di delay (in campioni) è variato dallo stesso segnale modulante (che infatti viene mandato anche all’ingresso destro di delay~): la relazione tra i due oscillatori sinusoidali cambia quindi in continuazione.

Variando i parametri della patch (frequenza di taglio e fattore Q di svf~, tempo di delay per la modulazione a sinistra e frequenza di taglio di onepole~) si possono ottenere differenti suoni. Ecco i 5 preset che ho preparato, tra i tanti possibili.

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.

In realtà in precedenza avevo preparato un altro generatore di bollicine, che poi ho scartato in favore di quello che vi ho appena mostrato.

Vi faccio però vedere anche il primo generatore, e vi spiego perché l’ho scartato. Eccolo:

ecco come suona:

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.

E può essere scaricato qui.

Come vedete le bollicine vengono generate tramite dei glissandi esponenziali di sinusoidi, racchiuse in inviluppi anch’essi esponenziali. I due filtri comb leggermente differenti che si trovano alla fine servono a dare un effetto stereofonico di “stanza” (da bagno...) che dovrebbe rendere più realistico il suono.

Perché l’ho scartato? Perché non sfrutta nessuna tecnica particolare (la retroazione per il tempo di metronomo l’avevo già usata per il primo pezzo), perché in fondo non ha un alto rapporto risultato/complessità (serve ad un singolo effetto) e perché onestamente è difficile che possa essere ascoltato con interesse per più di mezzo minuto.

Nel frattempo vi segnalo che nel forum di virtual-sound.com, su mia “istigazione”, sono stati pubblicati diversi esempi di “pezzi facili”, e variazione degli stessi che devo dire sono molto interessanti. Probabilmente in un prossimo futuro li illustrerò qui.

La prossima volta parlerò (probabilmente) di distorsori.

5 PEZZI FACILI - INDICE:

1 - Swarm

2 - Boiler

3 - Rythmic Distortion

4 - Microsound

5 - Glitch Machine

9Feb/100

5 Pezzi Facili con MaxMSP- 1: Swarm

Inizio da oggi una serie di articoli su MaxMSP, dal titolo “5 pezzi facili”.

In questa serie mi propongo di realizzare 5 piccole patch che dimostrino come generare suoni (o sequenze) dalle caratteristiche insolite, e in ogni caso siano realizzate mediante tecniche di programmazione non banali (il che non significa complicate!).

Ecco il decalogo delle 5 patch:

1 - Sono realizzate esclusivamente con oggetti della dotazione standard
2 - Sono composte da un numero minimo di oggetti (qualche decina al massimo)
3 - Non comprendono né subpatch, né bpatcher, né abstraction
4 - Non utilizzano oggetti Jitter
5 - Non utilizzano routine scritte appositamente in Java (mxj) o Javascript, solo Max e MSP, insomma
6 - Sono “pezzi facili”, ma non facilissimi: presuppongono cioè una certa conoscenza di MaxMSP per poter essere compresi in pieno (in ogni caso chiunque li può eseguire, visto che al massimo è necessario fare clic su un oggetto).
7 - In ciascuna patch c’è almeno una tecnica di programmazione insolita o comunque interessante (l’ho già scritto prima, ma lo metto in lista se no non arrivo a 10!)
8 - Hanno un alto rapporto risultato/complessità: ovvero con pochi oggetti producono suoni (o sequenze di) che possono essere ascoltati con interesse per più di mezzo minuto (!).
9 - Nonostante ciò hanno un consumo di CPU non superiore all’1% in un moderno laptop (almeno così risulta al mio Mac Book Pro a 2.8 GHz)
10 - I metodi di generazione del suono sono completamente diversi nelle 5 patch (generazione di sequenze, granulazione, modulazione, filtraggio, distorsione...)

Veniamo alla prima patch: Swarm (Sciame).
Questa patch genera veloci raffiche di note MIDI, che procedono zigzagando, con crescendi, diminuendi, rallentando, accelerando...
Vediamo innanzitutto la patch:

Piccola no? 11 oggetti, per la precisione. Ed ecco un esempio sonoro, realizzato con un pianoforte campionato:

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 audio può essere scaricato qui.

Quasi dimenticavo, potete scaricare la patch a questo link
La cosa più interessante di questa patch è probabilmente l’uso della retroazione (feedback) per modificare il tempo di scansione dell’oggetto metro: ogni volta che l’oggetto drunk sulla destra riceve un bang dal metro, genera un valore che modifica il tempo del metro stesso. L’oggetto drunk, inoltre, creando un random walk (passeggiata casuale) tra i valori 0 e 100, genera un flusso continuo di rallentando e accelerando. Lo stesso flusso inoltre controlla l’intensità delle note: tramite l’oggetto [!- 169] collegato  all’ingresso della velocity in makenote, ad ogni accelerando corrisponde un crescendo di intensità, ad ogni rallentando un diminuendo. Se al posto di drunk avessi usato un semplice generatore random avrei ottenuto spruzzate di note senza una chiara direzionalità.

Anche l’altezza delle note è ottenuta tramite un generatore drunk (immeditamente sotto il metro), il primo argomento dell’oggetto è 48, questo significa che l’intervallo delle possibili note è (quasi) 4 ottave. Il secondo argomento è -3, ovvero i passi del random walk possono avere ampiezza 1 o 2, ma mai 0 (ovvero abbiamo sequenze di semitoni o toni, ma mai ribattuti). Per ogni nota generata da drunk, ne vengono suonate in realtà tre, trasportate rispettivamente sul DO0 (24), DO1 (36) e DO2 (48). Le due note più acute inoltre vengono ritardate di 1 e 2 “passi” dall’oggetto bucket, questo crea una sorta di canone all’ottava in cui le tre voci sono a distanza di 1 nota l’una dall’altra: l’andamento verticale degli intervalli non è quindi per ottave parallele (come sarebbe se non ci fosse bucket), ma procede per lo più per settime e none, maggiori e minori.

Come vedete, ciascun oggetto nella patch ha un effetto decisivo sul risultato sonoro finale.

Se conoscete MaxMSP, provate a divertirvi creando variazioni sul tema: si potrebbero cambiari i parametri degli oggetti drunk, gli intervalli di trasposizione delle note, oppure riscalare le sequenze di note prodotte da drunk tramite oggetti scale (uno per ogni flusso parallelo), invece di usare una semplice trasposizione.

Se non conoscete MaxMSP, ma questo articolo vi ha incuriosito, vi ricordo che potete trovare il programma al sito www.cycling74.com.
Vi ricordo inoltre che c’è un consistente libro che spiega punto per punto come impadronirsi delle tecniche di programmazione di MaxMSP e delle principali tecniche di sintesi ed elaborazione del suono: il libro si intitola Musica Elettronica e Sound Design, ed è stato scritto da Alessandro Cipriani e dal sottoscritto.

Per oggi è tutto, la prossima volta parleremo di bollicine.

5 PEZZI FACILI - INDICE:

1 - Swarm

2 - Boiler

3 - Rythmic Distortion

4 - Microsound

5 - Glitch Machine