Il simpatico gioco dell’autunno: parte terza

Written by Attilio De Simone on . Posted in no-categoria, Tutorial

Andiamo sul concreto. Come detto nel precedente articolo, l’obiettivo della mia intuizione è quello di creare una catena di modulazione in grado di gestire indipendentemente ogni singolo parametro di controllo del Moog Slim Phatty. Di solito si considerano molti parametri di gestione del suono come parametri statici che contribuiscono a determinare il suono e anche se vengono modulati, la modulazione avviene solo per qualcuno di essi ma non per tutti, contemporaneamente e con sorgenti di modulazione indipendenti. Io, invece, volevo una o più sorgenti di modulazione destinata ad un solo parametro.

Di Attilio De Simone

02

In buona sostanza, per me ogni singolo parametro non deve essere più considerato un semplice elemento di controllo, ma un vero e proprio musicista che deve costantemente “eseguire” qualcosa, e la “partitura” da eseguire è rappresentata dalle impostazione della modulazione.

Per fare questo ho sfruttato la mappatura midi dello Slim Phatty tramite i messaggi di control change. Come sistema di controllo ho utilizzato il ben noto software della Native Instruments: Reaktor. In pratica ho mandato dei messaggi di CC nel midi out del Reaktor, a cui è stato collegato lo Slim Phatty connesso al PC tramite porta USB.

Vi è da dire che, di solito, programmi e interfacce vengono usati per pilotare strumenti hardware ricopiando la struttura dell’hardware che si intende pilotare, ma non per creare un’architettura differente che vada a sovrapporsi aggiungendo funzioni di gestione all’hardware che si vuole pilotare. Ritengo che l’approccio innovativo consista proprio in questo: un’architettura software che si sovrappone a quella hardware e la arricchisce con nuove possibilità di intervento. Reaktor si è rivelato la piattaforma ideale per raggiungere l’obiettivo che mi sono prefissato.

In pratica, nei limiti dell’architettura hardware (se abbiamo due oscillatori, due oscillatori ci restano), sintetizzatori con una struttura molto semplice diventano molto complessi fino a poter essere paragonati a strumenti modulari (ripeto, sempre nei limiti dell’architettura impiegata). Se riprendete gli esempi audio che vi ho lasciato da ascoltare, non sarà possibile riconoscere il Phatty, si è più propensi a ritenere che il comportamento sia quello di un complesso Buchla o di un modulare.

Questo approccio riserva delle sorprese inaspettate: per prima cosa, perché la gestione dei parametri diventa assolutamente semplice nonché efficace; poi, perché l’interazione coi parametri di controllo è molto più gestibile rispetto a quella che si ha con un modulare. Interagire con un LFo su un modulare o anche su un altro tipo di synth è una cosa estremamente delicata, che può compromettere l’andamento ritmico di una sequenza inceppando il meccanismo del groove o del suono creato. Andiamo a capirne di più.

 

frattale

 

Innanzitutto per la realizzazione dell’architettura mi sono lasciato ispirare dai frattali, che sono oggetti omotetici, i quali posseggono una forma che si ripete identica a sé stessa su scale differenti.

 

frattale2

I frattali sono anche presenti in natura, ma questa informazione c’entra con l’articolo come i cavoli (per l’appunto) a merenda.

Sono andato a creare, pertanto, uno schema di modulazione che ho replicato n volte per il numero di parametri su cui ho deciso di intervenire (che sono, come scritto nell’articolo precedente, 14). Non contento, ho deciso di creare una struttura piramidale in cui con un sistema di modulazione identico sono andato a modulare i parametri della modulazione sottostante. Ho deciso di fermarmi ad un secondo livello perché ho notato che creando ulteriori livelli (per es. una modulazione che va a controllare un parametro di una modulazione che controlla un parametro di una modulazione che controlla un parametro del Phatty) ottenevo risultati poco significativi dal punto di vista musicale.

Vediamo pertanto lo schema di modulazione che ho creato.

 

a

 

Lo schema di riferimento è molto semplice.

  • Abbiamo lo switch di on/off che attiva/disattiva la modulazione sul singolo parametro.
  • Il controllo di Amount che determina la percentuale di intervento della modulazione sul parametro.
  • Il controllo di Level che lavora quando la modulazione è disabilitata (switch on/off spento) e mi consente di dare un valore statico al parametro che sto controllando.
  • Lo switch multiselettore che mi consente di selezionare una sorgente di modulazione tra un LFO, un inviluppo, un sequencer e un generatore di modulazione FM.

 

b

Per l’LFO abbiamo la possibilità di lavorare con un classico rate con i cicli in Hertz di chiara ispirazione analogica, oppure attivando lo switch “Tempo Sync” l’andamento ciclico sarà ancorato al bpm del master clock (che in questo caso è il clock del Reaktor). Per determinare la velocità del rate, ho inserito nel menu a tendina le sequenti possibilità: 1/1, ½, ¼, ¼ terzinato, 1/8, 1/8 terzinato, 1/16, 1/16 terzinato e 1/32. Sarebbe stato possibile inserire ulteriori configurazioni ritmiche ma per questioni pratiche ho preferito limitarmi a quelle che mi davano dei risultati effettivamente utilizzabili. Non contento, mi sono fatto ispirare da alcune funzioni presenti sui nuovi synth della Clavia e ho creato il pulsante denominato Triplets, che resta attivo il tempo che viene tenuto premuto, che moltiplica il tempo della modulazione per 1,5 ed è molto utile per far partire delle “mitragliate” ritmiche improvvise, come si può ascoltare nell’esempio audio

 

01.mp3

 

Ovviamente, nel menu a tendina, denominato LFO Wave, possiamo scegliere la forma d’onda dell’oscillatore. Ho messo a disposizione le seguenti forme d’onda: dente di sega, rampa, quadra, triangolare, sinusoidale, rumore bianco e random (per emulare il comportamento del sample & hold).

Per l’inviluppo, per ora mi sono fermato al classico inviluppo a quattro stadi ADSR, ma con i tempi di escursione molto più lunghi rispetto a quelli del Phatty, in modo da ottenere comportamenti differenti. Ho pensato anche ad inserire uno switch per mettere in loop le sezioni AD, AS e DS. Ci sto lavorando.

 

c

Passiamo alla sezione sequencer:  abbiamo un sequencer a 16 step molto semplice, con l’aggiunta della tendina clok che mi consente di regolare la velocità della ciclicità del sequencer restando ancorato al bpm del clock di riferimento. Con questo accorgimento lo step sequencer diventa uno strumento di controllo molto sofisticato, soprattutto considerando le possibili combinazioni con gli altri parametri controllati da sequenze cicliche dell’LFO o di un altro step sequencer. Esempio: sul cutoff ho un sequencer con una cadenza di ¼, sulla resonance il sequencer si muove con una cadenza di 1/8 terzinato e la distorsione interviene con una cadenza lenta di 1/1 (semmai alternando i valori minimi -0- e massimi -127). Gli incastri ritmici che si possono ottenere sono praticamente infiniti.

 

d

Per quel che concerne la sezione FM, ho deciso di creare una modulazione in FM esponenziale per ottenere degli andamenti di modulazione più sperimentali, soprattutto andando a modulare parametri su cui di solito non si pratica la FM. Qui ho i classici controlli della FM, cioè il pitch (molto utile quando si fa a modulare la frequenza di un oscillatore o il cutoff), l’ampiezza, la frequenza e la tipologia di forma d’onda modulante (dente di sega, triangolare, parabolica, sinusoidale, quadra, rumore rosa, random).

Questo è quanto. Il risultato è quello che avete ascoltato nei demo. Abbiamo un suono molto ritmico, perfettamente a tempo, che si incastra benissimo con una drum machine, per esempio. In questo modo si riesce a sfruttare “fino all’osso” il sintetizzatore, non resta disponibile “nemmeno un angoletto” di esso. E la cosa interessante è la semplicità dell’iterazione. Fruttando la possibilità di mettere tutto in sync è molto semplice creare delle sonorità in continua evoluzione modificando in tempo reale i parametri per una nuova tipologia di musica drone.

Inoltre sono possibili escursioni estreme nel bpm pur mantenendo le modulazioni rigidamente ancorate al clock, come nell’esempio audio che segue

 

02.mp3

 

Questo approccio espande in modo notevole le possibilità dei synth (non per forza analogici, si può interagire con tutti i synth che abbiano una mappatura MIDI) lasciandoli liberi di lavorare finalmente in modo totale e, azzardo, definitivo, almeno per quel che riguarda la sintesi sottrattiva.

Ovviamente le sperimentazioni non finiscono qui. Dato che questo sistema ha un peso sulla cpu molto limitato (su vecchia macchine è inferiore al 2%), sto sviluppando dei prototipi di ensamble che prevedono di sfruttare il suono del Patty così ottenuto e di farlo confluire in uno degli strumenti del Reaktor che fanno la sintesi granulare, in modo da ottenere ulteriori grani che si uniscono al suono e che si somma a quello di una drum machine sempre del Reaktor.

In pratica è come se utilizzassi la sezione VCO-VCF-VCA dello Slim Phatty come una macro all’interno del Reaktor, con il vantaggio di avere un suono genuinamente analogico (e la differenza si sente ancora….) trattato e manipolato con mai era accaduto prima via software.

Oltre a ciò sto pensando ad uno step sequencer più evoluto, penso ad una specie di piano roll a 64 step (sto lavorando ad un prototipo) che mi consenta di realizzare delle vere e proprie “partiture” di modulazione più complesse di quelle ottenibili con il “banale” sequencer a 16 step.

Il risultato è un suono molto presente sebbene sia prodotto da un semplice synth monofonico e che si appropria da solo dell’intero spettro sonoro di un mix. Sicuramente, riascoltando gli esempi, vi sarà difficile pensare ad ulteriore spazio sonoro per altri strumenti. Ciononostante il suono risulta non banale e, spero, in grado di catturare l’attenzione di chi ascolta.

 

Questa serie di articoli deve servire da stimolo ad approfondire la tecnica dei synth. Bisogna studiare, conoscere le tecniche del passato per poterne pensare di nuove, per cercare l’innovazione.

Rinnovando la tecnica si rinnova l’ispirazione e si aprono nuove prospettive sonore.

Vi lascio con una nuova serie di suoni, frutto di una combinazione del Phatty con un delay stereofonico settato a tempo con il bpm di riferimento.

 

Buon ascolto!

Tags: , ,

Trackback from your site.

Comments (22)

  • Bruno DC

    |

    Bellissimo articolo !
    Grande idea quella di utilizzare uno strumento programmabile come Reaktor per controllare i vari paramentri del synth hardware in modo così approfondito; io per ottenere un risultato simile (ma meno sofisticato) ho utilizzato il VST Kirnu Cream (ma anche il fratello minore Kirnu1 potrebbe andare bene) per controllare i filtri (e altri parametri) in sincronismo con la parte ritmica; tale arpeggiatore/step sequencer permette infatti di creare dei pattern non solo delle note ma anche di qualsiasi control change (ed inviare il tutto al midi out) .
    Con questo metodo sto riscoprendo diversi vecchi synth hardware che non utilizzavo da tempo.
    Reaktor (che purtroppo non possiedo) immagino ti apra possibilità di intervento infinite !
    Attendo quindi di ascoltare anche cosa riuscirai ad ottenere dal Waldorf Pulse !!

    Reply

    • Antonio Antetomaso

      |

      Quando me ne parlasti, non colsi fino in fondo la genialità dell’idea e le potenzialità di essa.
      Ora mi è tutto chiaro, non posso che rinnovarti i miei complimenti, per l’articolo, per l’idea e per il lavoro svolto.

      Reply

      • Attilio De Simone

        |

        Si aprono potenzialmente strade infinite.

        Reply

  • frabb

    |

    CIAO, bellissimo articolo complimenti, per l’amico Bruno (ma anche per tutti gli altri) ho un consiglio: se vuoi un software completamente gratuito (open source) di livello ben superiore a Reaktor stesso e con il quale sia possibile programmare complicatissimi sistemi di ctrlchange e grainsynth vai tranquillo qui:

    http://www.puredata.info

    E’ la versione “da battaglia” di MAX (di cui è il cugino non-commerciale usato principalmente per sperimentare nuove implementazioni) e pur non essendo potente come linguaggi tipo CSound e SuperCollider permette di fare tranquillamente tutto quanto descritto in questo articolo con pochi click del mouse (certo bisogna sapere bene COSA si sta facendo).
    L’ho usato per fare un lavoro identico a quello dell’articolo, ma usando 2 mopho collegati via midi (non è necessaria una connessione USB per fare questo tipo di giochetti).
    Ho sperimentato molto in passato anche con la grainsynth in “feedback” sulla scheda addizionando il segnale granulare a quello di origine, ma devo dire che non si ottiene quasi mai un “gran” suono, sempre sibili e fischioni tipo luigi nono, non fa per me….
    ciao e complimenti ancora!

    Reply

    • Enrico Cosimi

      |

      sul livello “ben superiore” ho più di un dubbio:

      a) lo sviluppo di pD è fermo da anni, e la sua impostazione accademicamente antica (o anticamente accademica, a scelta) è evidente tanto nella definizione degli inviluppi – non si può procedere per segmenti lineari da esponenziale o logaritmizzare successivamente quanto in decine di altre condizioni operative

      b) non si può lavorare con un amplificatore di segnale che in realtà è il classico moltiplicatore matematico – che discrimina tra unipolare e bipolare a seconda dell’inlet utilizzato…

      c) non esiste un’interfaccia grafica degna di questo nome: capisco nel 1980, quando potevano andare bene slider e spaghi tirati con il mouse, ma oggi come oggi lavorare con pD (come con Max – e parlo da utente registrato) è una tortura per lo spirito e per gli occhi

      se poi si vuole discutere sulla convenienza della gratuità, siamo perfettamente d’accordo, ma da un punto di vista di funzioni, facilità d’interfacciamento e gestione uomo/macchina, Reaktor (specie col suo Core Level firmato Zavalishin) è un capolavoro di eleganza insuperata

      diciamo che la differenza è tra uno strumento musicale (Reaktor) e un ambiente di programmazione (pD)

      😀

      Reply

      • Attilio De Simone

        |

        Concordo, perchè passare ad un sistema vecchio, obsoleto, che non si aggiorna da un bel pò di tempo, che ha un approccio e una grafica da anni novanta, più da sviluppatore che da musicista, che non è in grado di offrire tutti i nuovi approcci di programmazione strettamente collegati ai nuovi hardware (che consentono un netto miglioramente nella generazione sonora, abbattendo l’aliasing e la distorsione di fase) quando è disponibile una piattaforma come Reaktor, moderna, costantemente lincata agli sviluppi degli hardware, con una grafica accattivante che consente di utilizzare il software con lo stesso approccio di uno strumento hardware (quando suono, devo sentirmi un musicista e non un programmatore)? Per me passare a Pure Data dopo oltre 17 anni spesi sulla piattaforma Generator/Reaktor sarebbe un passo indietro.
        Inoltre perchè dover connettere le macchine via Midi facendo pure un passaggio in più (sintetizzatore>scheda audio>computer) quando esiste la pratica connessione USB, che alla fine svolge la stessa funzione di una connessione midi (anzi è una connessione midi, visto che l’hardware connesso via usb viene riconosciuto tra le periferiche midi in/out)? Perchè non facilitarsi la vita?

        Reply

        • frabb

          |

          rispondo ad entrambi:
          come evidenziato perfettamente da enrico, pd è un linguaggio di programmazione audio pensato per il progettista software e/o per il mondo accademico, mentre reaktor è uno strumento musicale dedicato al musicista che vede alle questioni matematiche da un punto di vista artistico più che formale-ingenieristico.
          Io stavo semplicemente suggerendo una via completamente gratuita e sicuramente efficace (ho valanghe di patch in pd che fanno esattamente quanto descritto nell’articolo) per implementare velocemente e su qualsiasi pc le idee esposte nel pezzo, e scusatemi se è poco.
          In seconda analisi: pure data è sicuramente un orrore per gli occhi (patchare 200 oscillatori a mano è una cosa tremendamente tediosa e che può seriamente tagliare le gambe anche alle migliori intenzioni, lo so bene) ma è un compromesso efficace che tiene assieme tre cose principali: 1) la possibilità di programmare liberamente 2) la componente “visuale” del workflow audio, che a quanto pare per molti è fondamentale (torno dopo su questo punto) 3) la possibilità di creare interfacce di controllo in modo sostanzialmente contestuale alla stesura della patch, cosa che rende – almeno per il “programmatore” più inesperto – assai più appetibile e gratificante il lavoro.
          Di bello ci sono decenni di librerie, patch, abstractions e macchinette varie create da una comunità ancora oggi viva e vegeta, per cui si possono mettere assieme progetti anche complessi riciclando e adattando “pezzi” di materiale provenienti dai più svariati contesti senza troppi sforzi (alla fine si tratta solo di connettere dei cavetti col mouse). Anche MAX, che va tanto per la maggiore oggi, vive sostanzialmente della stessa roba, anche se l’interfaccia grafica è leggermente migliore (leggermente) e l’integrazione con le DAW più popolari è totale.
          Io vengo dal mondo della programmazione pura, ma capisco benissimo il discorso “io voglio suonare, non programmare”; ben vengano strumenti come reaktor e simili, ma io mi sentirò sempre più a mio agio viappiù il livello di interazione con la macchina si fa più ampio: più che puredata, posso consigliarvi di dare un’occhiata a linguaggi completamente “old school” come SuperCollider (con il quale, semplicemente, si possno realizzare cose che con Reaktor non si possono fare) e soprattuto CSound, che nonostante il suo aspetto e la sua struttura dannatamente “retro” cela potenzialità sonore ancora di assoluto livello.
          Ciao!

          Reply

          • Attilio De Simone

            |

            Premesso che io non uso patch di terzi (se non per studio) perchè per ottenere i risultati che ho progettato devo avere il controllo di tutto partendo da zero, i software che citi sono noti, credo che tutti bene ho male ci abbiano messo le mai sopra. Onestamente non vedo alcun motivo per fare un passo indietro.

            Reply

          • Attilio De Simone

            |

            chiedo scusa per gli errori del correttore automatico dovuti alla precarietà.

            Reply

        • frabb

          |

          Un’ultima cosa sul midi/USB: non so perchè, ma tendo ad escludere sempre la connessione USB da qualsiasi setup. Non mi piace. Qui parlo da fissato e senza la pretesa di giustificare la mia posizione se non da un punto di vista esclusivamente personale e di gusto: non mi piace vedere cavetti USB, portano la corrente, generano interferenze, sono un cordone ombelicale con una macchina (il pc) che mi ha sempre – sempre – dato un’idea di fondo di instabilità musicale: va bene per farci bonifici online per milioni di euro, per carità, ma non mi piace che stia in mezzo tra il sequencer e il doepfer, non so se mi spiego :)
          ciao e buona notte!

          Reply

          • Attilio De Simone

            |

            Non devi giustificare nulla, ho chiesto semplicemente per capire. Ognuno usa la configurazione che ritiene ideale per raggiungere i propri obiettivi.

            Reply

  • Bruno DC

    |

    Bellissima discussione, molto interessante !
    e cosa ne pensate di CTRLR http://ctrlr.org/
    anche questo open source…
    l’avete provato ?
    da quanto leggo sul sito mi sembra più semplice e immediato di Pd.

    Reply

    • Enrico Cosimi

      |

      ci vuole poco… 😀
      onestamente, non lo conosco… appena posso, ci faccio un giro!!!

      Reply

      • Attilio De Simone

        |

        Potrebbe essere interessante, ma non ho capito se sia in grado di aggiungere funzioni a quelle presenti sull’hardware (tipo incrementare il numero di lfo, inviluppi o sequencer come nel mio esempio) o se sia “solo” in grado di pilotare via midi le funzioni già presenti sull’hardware fornendo un’interfaccia su pc. lo proverò e riferirò.

        Reply

    • frabb

      |

      a quanto ne so questo dovrebbe essere solo un builder di interfacce per controllare device tramite control/program change via midi…. si poteva fare lo stesso con PD… con un affare chiamato PdDroneParty ero riuscito a creare una interfaccia per comandare delle macchine via midi usando un pad e un ponte midi/wireless…. inutile a fini artistici ma molto pratico/fico da usare live… ciao!

      Reply

  • Bruno DC

    |

    Vi ringrazio tutti le informazioni, l’articolo mi ha dato diversi spunti e, in ogni caso, mi ha fatto tornare la voglia di “rispolverare” i vari synth a rack in mio possesso, che proprio per via della loro scomodità di utilizzo, era un pò di tempo che non utilizzavo.
    Utilizzando uno dei vari metodi sopra citati pensavo di integrarli nei progetti musicali pilotandoli (perlomeno nei loro comandi basilari) con qualche interfaccia software creata ad hoc.
    Mmhh… ora devo solo trovare il tempo !
    Ciao !

    Reply

  • Davide

    |

    salve, complimenti per l’articolo e per l’idea davvero geniale. Ho preso spunto infatti per creare con ableton e gli strumenti di max for live, una struttura simile, utilizzando LFO, Envelope e sequencer di max. Vi posto l’immagine http://imageshack.com/a/img905/2035/cnjstj.png

    Ho un piccolo problema, quando seleziono l’uscita dei segnali midi della catena LFO ed Envelope e li mando allo slim phatty via usb è tutto ok e senza latenza, ma invece suonando i pad del mio arturia beat step, noto che suonano con latenza. sarà dovuto alla potenza di calcolo del mio pc che non è proprio eccellente? o ad altro? grazie!

    Reply

    • Enrico Cosimi

      |

      purtroppo, conosco poco Max/MSP per poter essere utile…

      Reply

    • Attilio De Simone

      |

      Non credo sia un problema del pc, in quanto stai mandando dei semplici messaggi midi e, a meno che non stai lavorando con un pc di 20 anni fa, le risorse impiegate per il midi sono bassissime. La prova è che con il Phatty non hai problemi. Io ci vedo di più qualche problema di comunicazione tra il pc e l’arturia. È possibile che all’interno dei parametri dell’Arturia sia impostata una latenza o qualcosa del genere?

      Reply

  • Davide

    |

    Il fatto è che quando deseleziono le uscite degli envelope e degli lfo l’arturia suona senza latenza come al solito. ho provato anche a connettere le porte usb dirette al pc, senza l’hub insomma, ma niente.

    Reply

  • Pier

    |

    Salve, vorrei riprendere questo splendido articolo per porre una domanda, per chi ha voglia ancora di rispondere… La cosa che mi ha sorpreso di più è l’utilizzo del midi per inviare messaggi molto complessi, sia per escursione che per velocità di invio dati… Quindi è possibile? Io pensavo che il midi fosse un protocollo poco sfruttabile per trasferire una mole di dati del genere a quella velocità, per realizzare fm esponenziale, mettere in fila 42 controlli indipendenti e tutto modificabile in tempo reale!… Pensavo che una tale raffinatezza fosse prerogativa solo del controllo di voltaggio smistato in apparecchiature modulari o simulato virtualmente e mandato attraverso cavi di segnale. C’entra il fatto che sia stato scelto un cavo usb per trasferire midi invece del cavo standard? Insomma, questo articolo ci insegna che il midi non ha limiti? Grazie e spero di non essere stato troppo contorto…

    Reply

    • Enrico Cosimi

      |

      il MIDI è un protocollo che ha 33 anni e, da quando è stato concepito, è stato spremuto in tutte le possibili maniere; non è il modo più veloce che esista per far dialogare due macchine o un computer e una macchina, ma opportunamente utilizzato può dare molte soddisfazioni – come al solito, il limite è nella mole di cose che deve fare simultaneamente.

      Non ho capito il discorso relativo ai 42 controlli indipendenti, eccetera; calcola che la trasmissione dati è SERIALE, quindi superata una certa soglia di complessità, le cose possono diventare più lente.

      Reply

Leave a comment

Inserisci il numero mancante: *

ga('send', 'pageview');