Avventure nel Primary Level – Quinta puntata
L’oscillatore Voyager
Dopo aver apprezzato il comportamento Sequential, che con soli due controlli permette di gestire la transizione fluida triangle-saw-pulse e la simmetria dell’impulso, perché non recuperare il circuito ormai ventennale messo a punto da Bob Moog per il Minimoog Voyager…
Di Enrico Cosimi
L’oscillatore Voyager fornisce un unico controllo denominato Wave che può coprire in fluida transizione il passaggio triangle – saw – square – pulse fino alle estreme asimmetrie di impulso. Il comportamento è eletto a destinazione di modulazione e, giocando pazientemente con la posizione di partenza e l’escursione del controllo applicato, si riescono ad ottenere transizioni limitate e/o semplici variazioni nella simmetria d’impulso. Ovviamente, è un circuito un pochino più impegnativo da affrontare.
La struttura che realizzeremo permette la transizione fluida, lungo l’escursione min-max del controllo Position, della forma d’onda triangle – saw – square – pulse, con capacità di intervento manuale, automatico attraverso modulazione LFO a bassa frequenza e manuale più LFO per concentrare la transizione in determinate sezioni dell’escursione complessiva.
Come al solito, un’implementazione minima di amplificazione e articolazione ADSR viene messa in piedi per garantire il funzionamento sindacale della macro di oscillatore.
Oltre all’ADSR con amplificatore Math/Mult, è presente il solito EasyScope che permette di verificare il comportamento timbrico ottenuto.
La macro Voyager Osc
Il cuore timbrico del sistema è composto – come facilmente intuibile – dai tre oscillatori Triangle, Sawtooth e Pulse; anche questa volta i tre segnali raggiungono un Signal Path/Selector posto sotto controllo di un comando Pos(ition) che però svolge il duplice compito di transizione audio nell’apertura delle tre porte 0, 1, 2 di selezione e anche di impostazione del valore di Pulse Width per la sola onda impulsiva.
Come è facile immaginare, tutta la complessità giace nella conversione selettiva del valore Position con escursione da 0 a 2 sufficiente alla transizione delle tre forme d’onda principali in un’escursione secondaria e dedicata alla sola variazione di simmetria applicata alla porta W del solo oscillatore Pulse.
Il risultato è ottenibile prolungando l’escursioine del controllo Pos(ition) oltre le normali esigenze del modulo Signal Path/Selector in modo da riservare una porzione di valori alla sola gestione della simmetria espressa alla porta W dell’oscillatore Pulse.
In questo modo, il funzionamento di Pos(ition) viene impostato su:
- Max = 3.8 (si evita 3.9 o 4.0 per non chiudere eccessivamente l’onda impulsiva).
- Min = 0
- Default = 0
- StepSize = 0.01
Come smistare i valori necessari (0-2 per Selector e 2.1-3.8 per W)? E, ancora, come fare in modo che l’onda impulsiva non passi in rassegna le asimmetrie 10 – 49%, ma si limiti alla variazione 50-99%?
Smistare i dati di controllo
Il valore Pos(ition) compreso tra 0 e 3.8 è collegato all’ingresso In di un modulo Event Processing/Separator che smista il risultato sulle porte di uscita Hi o Lo in base alla comparazione per il valore di soglia ricevuto all’ingresso Threshold.
Nel nostro caso, il valore Pos(ition) compreso tra 0 e 3.8 viene paragonato alla costante di separazione 2 e, in base a quanto rilevato, viene inviato come valore Lo (contenuto tra 0 e 2.0) alla porta Pos del Selector (in questo modo, si garantisce la fluida escursione Triangle – Saw – Square); il valore Pos(ition) compreso tra 2.1 e 3.8 isolato post comparazione con la costante di separazione 2 viene smistato sull’uscita Hi e, da questo, dovrebbe essere poi collegato all’ingresso W del solo oscillatore Pulse.
Ricordiamo che alla porta W dell’oscillatore Pulse il valore ricevuto viene interpretato bipolarmente con escursione compresa tra -1 e +1 applicata alla transizione 1-99%.
In questo modo, purtroppo, la transizione da quadra a impulsiva procederebbe coprendo tutte le variazioni comprese tra 10 e 90% di simmetria, realizzando una “strozzatura” nel flusso audio corrispondente al passaggio tra rampa (a pieno livello) e impulsiva stretta (ben più debole timbricamente).
Per evitare questo problema, è necessario comprimere/convertire l’escursione di controllo ricavata dalla porta Hi al solo valore utile compreso in ricezione tra 0 e +1, cioè tra 50 e 99% di variazione nella simmetria.
Compressione e scalatura del valore di controllo
L’uscita Hi del primo Separator riprodotto nell’illustrazione isola i valori Pos(ition) compresi tra 2 e 3.8 indirizzandoli verso il modulo Math/A*B+C.
In questo modo, il valore ricevuto al primo ingresso “A” viene moltiplicato per la costante 0.5 collegata all’ingresso “B” (ovvero, viene dimezzato in escursione) e, successivamente, viene addizionato con la costante -1 (ingresso “C).
In questo modo, quando il valore Pos(ition) supera 2.x, all’uscita del modulo viene prodotto 0.x, fino ad un massimo di 0.9 ottenuto quando Pos(ition) è pari a 3.8.
Scegliere la sorgente di modulazione
Per scopi puramente dimostrativi, basterebbe permettere al musicista il controllo manuale sulla posizione timbrica desiderata; in un impeto di iperattività, proponiamo un comportamento selezionabile tra controllo manuale, controllo automatizzato attraverso oscillatore a bassa frequenza LFO e somma delle due possibili sorgenti per definire da dove partirà l’eventuale modulazione automatizzata.
La scelta delle tre possibili sorgenti avviene, ovviamente, attraverso Panel/Switch a tre porte denominate Manual, LFO e Man & LFO.
- Ingresso Manual = riceve l’uscita diretta del controllo di pannello Pos(ition).
- Ingresso LFO = riceve il segnale prodotto dalla macro LFO (ulteriori particolari in seguito) collegata al terminale di ingresso lfo.
- Ingresso Man & LFO = riceve la somma (modulo Math/Add) delle due precedenti sorgenti scalata attraverso costante -1.5 con cui si evita l’immediato raggiungimento del fondo scala.
La macro LFO
Contiene un modulo LFO utilizzato con la sola onda sinusoide. I comandi implementati comprendono Freq (con escursione Min/Max pari a 0.01/1 Hz) e Pos Amt (cioè, Amplitude con escursione Min/Max pari a 0/1).
Il segnale bipolare (di ampiezza compresa tra +/-1) deve essere reso compatibile con le escursioni richieste nella macro Oscillator vera e propria. Per questo motivo, si implementano i seguenti trattamenti:
- Offset nella sola escursione positiva: si somma una costante 1 all’escursione originale; ora, la sinusoide si muove tra 0 e +2.
- Scalatura del valore e sua riduzione: si divide il valore raggiunto per 0.5 riportandolo alla corsa 0/1 necessaria per i successivi trattamenti.
- Espansione e adeguamento al valore del controllo lineare Pos(ition): si moltiplica l’escursione 0/1 per 3.8 raggiungendo la stessa escursione di Pos(ition).
Un lettore Panel/Numeric Readout velocemente denominato lfo value viene attivato per verificare la consistenza dei valori numerici richiesti.
Tags: Avventure, Reaktor, Sound Design