Primi passi con Reaktor – settima parte

Written by Enrico Cosimi on . Posted in Software, Tutorial

Ci eravamo lasciati l’ultima volta con un inquietante interrogativo: come è possibile che, nonostante i prolungati valori di Release Time (impostati nel generatore d’inviluppo sull’amplificatore) non ci sia percepibile prolungamento del suono?. Cosa tronca inesorabilmente il segnale? Cerchiamo di fare chiarezza.

Di Enrico Cosimi

Schermata 11-2456622 alle 11.09.55

Probabilmente, molti lettori avranno risolto facilmente il problema; per tutti gli altri, la soluzione è qui sotto…

Studiamoci, complice lo schema qui sotto, il funzionamento dell’inviluppo classico – quello teorico raccontato ai musicisti dal lontano 1966…

envelope

 

L’escursione di controllo è compresa tra i due punti di Nota On e Nota Off, cioè il primo timer (Attack), il secondo (Decay) e il segmento di Sustain prendono vita quando il musicista tiene aperto il Gate di tastiera mediante pressione prolungata sulla nota. Appena il Gate torna in Off (cioè, appena il musicista rilascia il tasto), l’inviluppo mette in funzione il terzo contatore di Release. Fin qui, nulla di misterioso.

Schermata 11-2456622 alle 11.13.43

 

Se, però, torniamo nei nostri oscillatori, cioè nelle Macro Oscillator 1Oscillator 2, scopriamo con orrore che l’ampiezza A degli oscillatori è controllata – genericamente – dal MIDI Gate di tastiera, cioè (attenzione…) il volume d’uscita dell’oscillatore è moltiplicato x 1 quando si preme la nota e moltiplicato per 0 (cioè silenziato) quando si rilascia la nota.

Questa è la condizione di conflitto: l’oscillatore smette di suonare quando si lascia il tasto ed entra in funzione il Release sull’Amplificatore; come è ovvio, l’ampli non trova più nulla di “sonoro” da amplificare… quindi, il musicista rimane con un palmo di naso.

Come risolvere? Semplice: sostituendo al modulo MIDI Gate usato per moltiplicare l’ampiezza degli oscillatori (di tutti gli oscillatori usati nelle due Macro…) un più logico generatore di Constant, che con valore pari a 1, provvederà a tenere sempre attivo l’oscillatore, demandandone il controllo di livello all’accoppiata Amplifier + Envelope Generator.  Provare per credere.

Schermata 11-2456622 alle 11.19.12

Dove esce fuori il generatore di Constant? Reaktor ne prevede la costruzione, dopo aver eliminato il Midi Gate, semplicemente facendo click destro sulla porta A di uno qualsiasi degli oscillatori; selezionando la voce Create Constant (e confermando, nella Property Window, il valore 1), non rimarrà che collegare la costante a tutti gli altri oscillatori. Logicamente, dovremo ripetere l’operazione anche nella Macro del secondo “oscillatore di pannello”.

 

Diamo un inviluppo anche al filtro

Un sintetizzatore che si rispetti deve avere la possibilità di articolare il proprio filtro nel tempo; l’operazione è semplice e può essere ancora più veloce ricorrendo alla copia e alla duplicazione dell’inviluppo sull’ampiezza, rendendolo – dopo opportuno copy and paste – parte integrante della Macro Filter.

Schermata 11-2456622 alle 11.23.46

 

All’interno della Macro Amplifier, è necessario selezionarecopiare i componenti dell’inviluppo (li vedete evidenziati in rosso nell’immagine qui sopra); dopo averli copiati, non rimane che incollarli all’interno della Macro Filter, avendo cura di non affastellare graficamente le cose.

Schermata 11-2456622 alle 11.25.57

 

E’ facile notare che, per collegare alla porta P del 4-Pole Filter anche l’inviluppo, occorrerà un sommatore Adder (reperibile nei BuiltIn Modules/Math) con cui fondere insieme i due percorsi di controllo.

Schermata 11-2456622 alle 11.31.02

 

Quando, dopo aver previsto tutti i moduli, proverete a collegare l’uscita dell’inviluppo all’ingresso del Adder, vi scontrerete contro il cortese diniego di Reaktor; in pratica, il programma vi sta dicendo che non è possibile collegare un segnale di densità audio (dot di colore nero nella porta d’uscita) con un modulo che aspetta dati di densità event (dot di colore rosso nella porta di entrata).

Come fare? Semplice, si ricorre al BuiltIn-Module/Auxiliary/A to E (converter); il nostro nuovo amico si prenderà cura di risolvere i problemi di compatibilità degradando il segnale audio in uscita all’envelope rendendolo di densità compatibile con gli ingressi event.

Schermata 11-2456622 alle 11.35.06

 

Sul pannello comandi, ovviamente, sarà necessario fare ordine e riallineare i nuovi comandi del filter envelope in modo da non trovarli sovrapposti alle vecchie regolazioni; per semplificare le cose, vi conviene selezionare preventivamente all’interno della Structure i moduli da spostare: in questo modo, quando vi sposterete sul main Panel, li troverete già evidenziati in rosso e pronti per essere spostati in blocco con un semplice movimento del mouse.

Risolto anche il problema grafico, non rimane che godersi il funzionamento dell’inviluppo e, a questo punto, esce fuori un altro bel problema… questa baracca sembra proprio non funzionare.

Per quanto si agisca sui tempi e sul livello del neonato Filter Envelope, nella frequenza di taglio del filtro non ci sono cambiamenti evidenti. Cosa sta (o non sta) succedendo?

Il problema è abbastanza semplice, ma rappresenta una delle più insidiose trappole che Reaktor si diverte a seminare lungo il nostro cammino:

in Reaktor, i dati numerici sono contestualizzati a destinazione; la sorgente che li genera non sa nulla di come verranno utilizzati e delle loro eventuali scalature.

Nel caso specifico, l’uscita del generatore d’inviluppo è compresa tra 0 e 1 (min e max non modificabili), per avere un comportamento unipolare di facile accoppiamento con le altre parti della struttura; il problema è che quell’escursione 0-1 è stata collegata alla porta P del modulo di filtro che si aspetta un valore numerico interpretato come semitono…

Cioè (colpo di scena), il nostro inviluppo sta modificando la frequenza di taglio del nostro filtro facendola variare di un solo semitono, un intervallo troppo piccolo per poter essere apprezzato in termini di drammatico filter sweept. Per avere un risultato timbricamente congruo, occorrerebbe portare il nostro inviluppo a lavorare su escursioni almeno pari a 5 ottave (60 semitoni) o più (tenendo presente che la tastiera MIDI generica prevede 128 semitoni di escursione).

Come fare per pompare l’uscita 0-1 dell’inviluppo fino a farle raggiungere un più congruo range 0-60 o, a seconda dei gusti, 0-127? La risposta è abbastanza semplice: moltiplicando per 60 o per 128 il valore generato dall’inviluppo stesso.

Prima che corriate a recupera un BuiltIn-Module/Math/Mult e una Constant di valore 60 (o 128) fermatevi un solo secondo a ragionare su quest’altro problema: più avanti, occorrerà poter dosare l’inviluppo – cioè la sua quantità – inviato alla frequenza di taglio del filtro; il parametro, che sui pannelli comandi siamo abituati a vedere come Envelope Amount, è di fatto un moltiplicatore che scala (cioè moltiplica) l’uscita dell’inviluppo per un valore liberamente selezionabile con continuità tra 0 e 60 o tra 0 e 127.

In tutti i casi, quello che ci serve è un moltiplicatore e un regolatore di pannello (un moltiplicando) che chiameremo Envelope Amount e a cui daremo l’escursione ritenuta più adatta.

Schermata 11-2456622 alle 11.47.04

Come al solito, sul pannello comandi è necessario fare ordine…

Schermata 11-2456622 alle 11.49.25

E’ probabile che, per avere maggior risposta sull’Envelope Amount, vi convenga selezionarne il range min/max su 0/127.

Buon divertimento.

Tags: ,

Trackback from your site.

Comments (2)

  • Alessandro

    |

    Ciao Enrico! Complimentissimi per i tutorial, per la simpatia e la competenza! Dopo aver comprato Reaktor 5 (solleticato dalle incredibili potenzialità peraltro molto ben accennate qua) sto cercando di utilizzarlo come controller midi del minimoog voyager. In pratica, escludendo su moog in local control i potenziometri, entro in reaktor con il controller midi-in relativo al potenziometro che voglio modulare (esempio: controller midi n.19 per il cutoff dei filtri), e semplificando al massimo ci sommo un lfo. Il valore della somma lo invio al controller midi-out n.19 che viene trasmesso a Moog. Funziona tutto benissimo, il filtro si apre e si chiude a ritmo dell’lfo che viaggia bello sincronizzato con il clock di reaktor, finchè non provo a editare più controller contemporaneamente (per esempio creando lo stesso sistema per il controller relativo al volume dell’oscillatore). In questo caso la velocità degli lfo dimezza, come se avessi dimezzato il clock. Dove sto sbagliando? Grazie mille per l’aiuto :)

    Reply

    • Enrico Cosimi

      |

      senza vedere la patch, è difficile capire cosa sta succendendo; non penso sia un sovraccarico, anche se il midi non brilla per ampiezza di banda; fai una prova CON UN CONTROLLER ALLA VOLTA, aggiungendoli strada facendo… potrebbe anche essere un limite del voyager: controlla se è abilitata la densità dati superiore a 7 bit…

      Reply

Leave a comment

Inserisci il numero mancante: *

ga('send', 'pageview');