Gli inviluppi di MASSIVE

Written by Enrico Cosimi on . Posted in Software, Tutorial

Un “inviluppo” (terrificante neologismo che italianizza il termine envelope) è un circuito con cui programmare una traiettoria di valori espressa nel tempo e nell’ampiezza. In pratica, programmare un inviluppo è come stabilire, sulla carta geografica, il viaggio che si vuole compiere e la velocità che si ritiene necessaria per coprire le diverse tappe: parto da Roma, arriverò a Firenze a 100 kmh; poi mi sposterò a Bologna viaggiando a 70 kmh; poi scenderò a Pescara a 130 kmh; poi arriverò fino a Bari a 80 kmh e, finalmente, mi godrò una settimana di vacanza.

Di Enrico Cosimi

apertura

Fino a qui, è tutto facile; i problemi nascono quando – nelle diverse piattaforme operative – il costruttore decide di implementare inviluppi particolarmente complessi, sofisticati e performanti; nel caso di N.I. MASSIVE, le cose sono (a seconda dei punti di vista) molto gustose o molto impegnative.

La struttura del programma prevede, nella porzione centrale della Synth View, la possibilità di selezionare otto possibili sorgenti di modulazione; di queste, ben la metà è dedicata alla gestione di quattro envelope generator indipendenti (il quarto è permanentemente agganciato alla Amp Modulation, ma può essere sfruttato anche su altre destinazioni di modulazione.

 

Schermata 03-2456377 alle 10.58.24

La modulazione secondo MASSIVE

Il processo di modulazione, all’interno di qualunque struttura di sintesi, prevede l’azione simultanea di tre attori:

  • una sorgente di modulazione che genera il segnale di controllo desiderato;
  • una destinazione di modulazione che riceve il segnale prodotto dalla sorgente e si uniforma ad esso variando il proprio valore parametrico;
  • un indice di modulazione che permette di dosare, scalare e/o eventualmente invertire la quantità di modulazione ricevuta alla destinazione.

Dentro MASSIVE, le sorgenti di modulazione sono identificate dal numero progressivo di slot che occupano (nella porzione centrale della Synth View), o dal numero di Macro, o dall’abbreviazione del nome; in tutti i casi, l’accoppiamento tra sorgente e destinazione avviene:

  • per selezione del numero identificativo e click di conferma in una delle finestre di modulazione previste a destinazione;
  • draggando direttamente la handle bar quadripartita presente in ogni intestazione di modulazione e trascinandola sulla finestra di modulazione a destinazione.

Il passaggio finale è la definizione dell’ampiezza di modulazione, cioè del ruolo assegnato all’indice; dentro MASSIVE, dopo aver “depositato” la sorgente di modulazione all’interno della finestra di destinazione, non rimane che fare click sull’identificativo di modulazione e draggare in alto (increase value) o in basso (decrease value); attorno al parametro di destinazione, apparirà una campitura colorata la cui estensione visualizza, in maniera chiara, l’escursione assegnata al controllo del parametro. Se l’escursione assegnata supera i margini consentiti, l’arco di circonferenza colorato sarà terminato con una piccola barretta interrotta.

C’è un preciso codice colore che permette, a colpo d’occhio, di riconoscere la sorgente di modulazione o, perlomeno, la sua famiglia di appartenenza: blu = inviluppi; verde = LFO, Stepper, Performer; giallo =  KeyTrack, Aftertouch, Velocity, Trigger Random; arancione = le otto Macro configurabili.

 

Schermata 03-2456367 alle 18.39.55

MASSIVE Envelope

L’inviluppo di MASSIVE è una raffinata variazione sul classico tema ADSR; si compone di:

  • Delay Time iniziale; definisce l’intervallo di tempo che passa tra il comando di Nota On e l’inizio del segmento di Attack;
  • Attack Time; la velocità con cui l’inviluppo si sposta dal livello zero di partenza per raggiungere il livello impostato con il successivo parametro di…
  • Attack Level; definisce il livello di arrivo del segmento di Attack; a differenza dei classici inviluppi ADSR, non sempre l’Attack Level corrisponde con il massimo livello disponibile.
  • Decay Time; definisce l’intervallo di tempo calcolato tra l’Attack Level e il Decay Level.
  • Decay Level; è il livello di arrivo per il Decay Time; per assonanza con il normale comportamento ADSR, è assimilabile alla logica di sustain: può cioè servire per prolungare indefinitamente – fintanto che permane la condizione di Gate On – la durata dell’evento.
  • Release; definisce l’intervallo di tempo necessario per muoversi dal Decay Level (ma, come diremo in seguito, potrebbe esserci uno stadio intermedio) e raggiungere il livello zero di arrivo.

Tutti questi parametri possono divenire a loro volta destinazione di modulazione, cioè possono essere influenzati da interventi esterni; in aggiunta, è possibile definire il comportamento lineare per la traiettoria di Decay (facciamo notare che – qualora non specificato –  l’attacco è sempre lineare, mentre decadimento e rilascio sono di tipo logaritmico.

Schermata 03-2456377 alle 10.52.28

Capacità di ripetizione in Loop

In aggiunta alla struttura sopra descritta, è possibile innescare una ripetizione (numericamente condizionata tra 1 e 32 iterazioni o indefinitamente prolungata) che innesta, tra Decay Level e Release Time, un nuovo segmento di Loopable Sustain; la traiettoria aggiuntiva è caratterizzata da un gruppo di parametri che permettono di impostare:

  • Sustain Loop Lenght; la durata del segmento aggiuntivo; considerato come una sorta di “LFO ausiliario”, permette di ottenere rapide ripetizioni o più lente transizioni con valenza ritmica;
  • Loop Number, quante volte è ripetuto il segmento definito dalla Sustain Loop Lenght; la ripetizione è impostabile con valore 0 (nessuna ripetizione), 1-32 (il numero delle ripetizioni arbitrariamente impostabili) o 33 (indicazione convenzionale per la ripetizione incondizionata);
  • Sustain Level, il livello che conclude il segmento messo in ripetizione; se il valore coincide con quello del Decay Level, l’unico modo per percepire la variazione consiste nell’utilizzare una transizione non lineare, cioè una traiettoria scelta tra le 22 possibili variazioni previste.

Schermata 03-2456367 alle 18.56.10

Per maggior flessibilità, sempre relativamente alla traiettoria applicata nella transizione ripetuta tra Decay Level e Sustain Level, si può optare per un comportamento di Morph applicato all’andamento grafico; facendo riferimento alle 22 possibili traiettorie (semplicemente lineari, increspate ritmicamente, caotiche o zigzaganti in maniera variata), è possibile scegliere due curve differenti “di partenza” e “di arrivo” per la procedura di morbido crossfade grafico; la durata della transizione rimane sempre la stessa, quella scelta con il parametro Sustain Loop Lenght, ma l’effetto ritmico/espressivo potrebbe subire sottili variazioni.

 

Subordinazione alle modulazioni esterne

Come accennato in precedenza, praticamente tutti i parametri che compongono l’inviluppo di MASSIVE sono eleggibili a destinazione di modulazione seguendo le procedure standard già illustrate. In aggiunta, si può subordinare l’intera ampiezza dell’inviluppo ai due parametri indipendenti di Key Velocity e Key Tracking. Nel primo caso, l’inviluppo sarà scalato in base all’energia applicata dal musicista durante l’esecuzione delle singole note; nel secondo caso, si può decidere che la tessitura bassa abbia un’ampiezza d’inviluppo differente dalla tessitura media e/o acuta della tastiera.

 

Schermata 03-2456377 alle 10.59.19

Personalizzazioni nella subordinazione ai codici di Gate On/Off

Un inviluppo, per tradizione, può essere subordinato alla persistenza di Gate o all’impulso di Trigger; perlomeno, questo è quello che succede nelle macchine “normali”… All’interno di MASSIVE, è possibile definire tre tipi di comportamento che influenzano la gestione della traiettoria precedentemente programmata:

  • Gate; è il normale funzionamento subordinato al Gate On. Fintanto che il musicista non interrompe la tensione di Gate, ci sarà un prolungamento artificiale del Decay Level e/o del segmento di Sustain Loop eventualmente abilitato.
  • One Shot; l’inviluppo parte e prosegue nella sua traiettoria  – ripetizioni comprese – anche se la tensione di Gate viene a mancare prematuramente. Detto in maniera meno grossolana, l’inviluppo è sganciato dalla persistenza del Gate e risponde solo al suo fronte ripido positivo, assimilabile all’impulso di Trigger.
  • Hold; adattissimo allo sfruttamento in contesto ritmico (specie quando c’è una cospicua struttura di Sustain Loop in ballo), il comportamento prevede la normale esecuzione fino al Sustain Loop e poi il prolungamento indefinito anche in assenza di Gate; l’’inviluppo viene liberato e fatto proseguire con il Release Time quando il musicista preme una seconda nota. E’ possibile sovrapporre diverse note, a patto di catturarle durante le fasi preliminari dell’inviluppo; in questo caso, tutte le note eventualmente impegnate saranno terminate, passando al Release, quando il musicista impegna un nuovo codice di Nota On.

Quale che sia il suo profilo, un inviluppo ha una durata definita e definibile; cosa succede se il musicista suona una seconda nota prima che l’inviluppo della prima sia terminato? Possono succedere due cose, in base allo stato del parametro Trig Zero Reset; l’inviluppo azzera il proprio livello e riprende forzatamente la traiettoria dall’inizio dell’Attack Time; l’inviluppo parte da dove si trova (come livello) e prosegue normalmente verso il segmento di Release Time.

 

Schermata 03-2456367 alle 19.19.08

Funzioni di memorizzazione e preset

Un inviluppo così flessibile richiede la possibilità di salvataggio indipendente dal resto della patch; in questo modo, con logica tutto sommato parallela a quanto implementato dentro Absnth, è possibile fare riferimento a una Envelope Preset Library che è già ricca di traiettorie factory preset e user’s preset. Non avrebbe senso elencarle in questa sede, basterà fare veloce riferimento all’illustrazione. Inutile dire che l’esplorazione delle proposte disponibili, specie se applicate a diversi contesti/destinazione di modulazione, può aprire ampi orizzonti espressivi.

 

Ma quali sono i “profili” disponibili?

Massive fornisce un certo numero di preset, cioè di inviluppi preconfigurati, che possono essere utilizzati come modelli con cui lavorare o da cui partire per successive personalizzazioni; con la stessa filosofia disponibile – guarda tu il caso… – dentro Absynth, si può fare riferimento ad una vera e propria libreria di base (factory e user’s) liberamente popolabile con le nuove programmazioni. Queste sono le opzioni fornite a corredo:

 

01 AD Vibrato

AD Vibrato

Struttura in loop, con percorso di staticità che è modificato per ottenere l’andamento ritmico applicabile come vibrato alle destinazioni selezionate; non c’è Morph tra la curva modulata e la transizione lineare (o, perlomeno, l’opzione non è utilizzata nella condizione di default) ed il musicista, come in tutti gli esempi successivi, può arbitrariamente spostare il livello di Sustain – che nell’immagine superiore è posto al minimo – per ottenere percorsi di loop e, più genericamente, di inviluppo caratterizzati da diverso peso ritmico.

 

02 Alternative AD Curve

Alternative AD Curve

Niente ripetizione di loop e curva morbidamente discendente da max level a sustain level.

 

03 Jitter Loop

Jitter Loop

Il nome dice tutto: che ci sia o meno la ripetizione incondizionata, le imprecisioni lungo il percorso di decadimento possono essere utilizzate in maniera ritmicamente funzionale o – più elusivamente – per destabilizzare il comportamento timbrico del sintetizzatore. Da non sottovalutare, specie con certe tabelle, l’applicazione dell’inviluppo sulla lettura delle wavetable.

 

04 plugged

Plugged

Maggior velocità nella discesa, per andamenti percussivi più evidenti e caratterizzabili a discrezione del musicista.

 

Schermata 03-2456377 alle 12.12.13

Rotor

Appositamente studiato per la ripetizione, offre un comportamento AR caratterizzabile nella diversa regolazione dei tempi e – ovviamente – dei livelli.

 

Schermata 03-2456377 alle 12.08.58

Simple ADSR 2

Come recita il titolo, con in più, la ripetizione (disinseribile) in loop e la predisposizione per il segmento di Sustain modificabile.

 

06 simple adsr

Simple ADSR

Niente punto di sustain predisposto per il loop.

 

07 simple gate

Simple Gate

Si preme il tasto e si apre il segmento di staticità, si lascia il tasto e si scende al minimo del livello; i due transienti di attacco ed estinzione sono velocissimi. Come ci si aspetterebbe da una qualunque struttura di Gate On/Off.

 

08 stuttering

Stuttering

Come far balbettare l’inviluppo messo in loop.

A questo punto, non rimane che sbizzarrirsi nel collegare gli inviluppi alle destinazioni di modulazione desiderate. Buon lavoro.

 

Tags: , , ,

Trackback from your site.

Leave a comment

Inserisci il numero mancante: *