Primi passi con Reaktor – Terza parte
La volta scorsa abbiamo visto come mettere il nostro oscillatore sinusoide sotto il controllo dell’intonazione (Pitch) e della cruda articolazione (Amplitude). Il meccanismo così realizzato è lungi dall’essere perfetto – in realtà, è appena un gradino sopra la disperazione totale – ma ci permette di approfondire, passo dopo passo, le tecniche costruttive di base… Quelle tecniche, per intenderci, che si dimostreranno indispensabili quando partiremo con il reverse engineering delle ensemble costruite dai grandi programmatori.
Di Enrico Cosimi
Carichiamo nuovamente la ensemble Sine Osc 01 e affrontiamo, dritto per dritto, il problema dell’intonazione. Da che mondo è mondo, un oscillatore di sintetizzatore – quale che sia il dominio in cui è realizzato – deve permettere al musicista di variare la propria intonazione nominale in base alle esigenze d’utilizzo.
In questo modo, sarà necessario intervenire sull’intonazione inserendo un valore corrispondente alla “trasposizione” richiesta; a seconda delle attitudini personali, questo modo di trasporre potrà essere per ottave, semitoni e centesimi di tono, o per valori assoluti espressi in Hertz, o per rapporti di frequenza espressi (appunto) per rapporti 1:1, 1;2, eccetera.
Banalmente, nel nostro caso, metteremo in piedi un meccanismo che ci permetta di variare ottava, semitono e centesimo di tono generato dal Sine Osc ogni volta che lo si vuole utilizzare. Prima di partire, è necessario imparare a memoria e ripetere come un mantra ciò che l’help on line di Reaktor ci dice a proposito dei valori numerici applicati alla porta P.
Come recita il fumetto dell’help on line qui sopra (non vedete l’help on line? Siete sicuri di aver abilitato – sulla parte della toolbar superiore – il tastone con la “i” minuscola?), ogni numero applicato a P è considerato logaritmicamente come un semitono MIDI. Detto in maniera meno antipatica, se l’oscillatore riceve il numero 60, produrrà il Do centrale della tastiera MIDI, se il numero passa a valore 48, la nota prodotta sarà il Do sotto all’ottava centrale, e così via, numero per numero, semitono per semitono.
Organizzare una trasposizione
Trasporre l’intonazione di un oscillatore significa sommare, rispetto al valore di nota definito suonando sulla tastiera (o su altra periferica di controllo), un offset definito a seconda delle convenienze: singoli semitoni, intere ottave, centesimi di semitono. Il primo passo – tutti gli altri saranno molto simili… – è la conquista delle ottave. Come anche i pianisti riccioluti sanno, un’ottava è composta da dodici semitoni; il che significa che, per trasporre di ottava il nostro oscillatore, occorrerà inviare alla sua porta P la somma del segnale ricevuto dalla tastiera (modulo NotePitch) e una quantità numerica variabile che può o non può procedere per salti di 12.
Ci occorrerà un generatore di numeri controllabile dall’utente ed un sommatore con cui addizionare i nuovi numeri alle note di tastiera.
Il primo, misterioso, oggetto è, semplicemente, un controllo di pannello che ricorda in tutto e per tutto il tradizionale potenziometro: ruotandolo verso destra, il suo valore numerico cresce, ruotandolo in senso antiorario, il suo valore numerico decresce.
Con il comando Built-In Modules/Panel/Knob, creiamo un nuovo potenziometro Knob pronto ad essere personalizzato (prima) e collegato (dopo); per velocizzare le cose, si potrebbe anche fare click destro sulla porta P e scegliere se creare un controllo o una costante, ma useremo più tardi cotanta comodità intrinseca. Per ora, scegliamo le cose dai menu di appartenenza.
Il nuovo potenziometro Knob è comparso dal nulla nella finestra Structure, ma è comparso dal nulla anche nel pannello “ufficiale” della nostra ensemble. Dovremo fare i conti dopo con le possibili personalizzazioni grafiche del controllo (dimensione, aspetto grafico, corredo di label, control, scala numerica, finestra dei valori, eccetera). Per ora, ci limiteremo a continuare la connessione di funzionamento.
Il nuovo controllo produce, sua sponte, una variazione numerica corrispondente a 0 di minima e 1 di massima escursione. Dove prendiamo tutte queste notizie? Semplice: basta cliccare una volta sul modulo Knob, per avere visualizzato nella parte sinistra dello schermo tutte le informazioni che ci servono all’interno della Property Window. Ricordiamo, per chi si fosse messo in collegamento solo ora, che la Property è suddivisa in quattro sotto finestre relative a Function (proprio quello che ci serve), Info, View (facciamo finta di nulla) e Connect.
Nella sotto pagina Function, diventa possibile vedere gli attributi numerici applicati al comando Knob:
- Max; il valore numerico raggiunto con la massima escursione oraria del parametro.
- Min: il valore numerico raggiunto con la minima escursione oraria del parametro.
- Default: il valore numerico generato quando si carica la patch.
- Stepsize: gli scatti numerici tra un incremento/decremento di valore e l’altro.
- Mouse Resolution: il legame tra incremento decremento e passi numerici computati dal mouse.
- Fine-Tuning Factor
Dal momento che vogliamo usare questo controllo per gestire la trasposizione di semitoni, converrà impostare i suoi valori su un’escursione sufficientemente corposa, ad esempio Max = 127, Min = 0, Default = 60, Stepsize = 1; possiamo tralasciare gli ultimi due parametri.
Dopo aver impostato questi valori, è il caso di rinominare il controllo (verificare l’aggiornamento sul pannello comandi) Transpose, in modo da evitare generiche indicazioni come knob, button, switch, eccetera…
Ora, non rimane che collegare Transpose alla porta P dell’oscillatore Sine.
Il problema è che la porta P è già impegnata dal modulo NotePitch, che trasmette le informazioni di tastiera; come nel mondo reale, quello che ci serve è un miscelatore, cioè un sommatore; nel numerico panorama di Reaktor, il sommatore è un operatore matematico di somma, logicamente depositato presso Built-in Modules/Math/Add. Non rimane che generarlo.
A questo punto, i collegamenti da fare sono:
- al primo ingresso del sommatore Add, portiamo l’uscita del controllo Transpose
- al secondo ingresso del sommatore Add, portiamo l’uscita del controllo NotePitch
- all’ingresso porta P dell’oscillatore Sine, colleghiamo l’uscita del sommatore Add
in questo modo, l’oscillatore suonerà la note specificata dalla tastiera più l’eventuale valore di trasposizione.
Ora, funziona tutto… però, però, però, il comportamento del nostro sintetizzatore è quantomeno di difficile collocazione, a meno di non essere pipistrelli.
L’errore che abbiamo commesso è di aver sommato alle note di tastiera un possibile valore compreso tra 0 e 127 (corrispondente all’intera escursione della tastiera MIDI); che succede se il musicista suona nota Do centrale (valore 60) e somma a quel 60 un offset di trasposizione pari ad un altro valore 60? Ottiene un’esecuzione di semitono 120… una nota molto acuta.
Quello che ci serve non è sommare 0-127 con il controllo Transpose, ma – casomai – poter sommare un offset bipolare compreso tra -60 e + 60 (in termini MIDI, un’escursione pari a +/- 5 ottave di semitoni); non rimane che correggere i valori Max, Min e Default del controllo Transpose.
Raggiungete la Property Window del controllo e sostituite i tre valori con le indicazioni appena fornite.
Come al solito, dentro Reaktor, fatta una cosa, se ne sfascia un’altra… Ora, è possibile controllare bipolarmente la trasposizione dell’oscillatore, ma sul pannello frontale non si riesce più a centrare un valore intero col potenziometro: compaiono sempre due decimali dopo la virgola!
Dove è l’errore? Torniamo alla sotto pagina Function/Property Window del controllo Transpose, per realizzare che il parametro Mouse Resolution è rimasto a 127, mentre i possibili step sono compresi tra -60 e +60 (cioè, sono 120 valori confermabili): basterà portare la Mouse Resolution a 120, per riconquistare l’escursione di pannello in valori interi. Provare per credere.
Ma non avevamo parlato di ottave?
Un’ottava è un salto pari a 12 semitoni: il problema del nostro parametro Transpose è che ha una Stepsize pari a 1…
Per avere, sullo stesso controllo, dei salti d’ottava, è necessario definire una dimensione di passo, una Stepsize appunto, pari a 12. In questo modo, ogni volta che col mouse sposteremo il potenziometro disegnato sul pannello, gli faremo generare un salto di +12 o -12 semitoni, per un’escursione sempre compresa nei margini Max e Min precedentemente definiti.
Dopo aver apportato le modifiche numeriche, come qui sopra, è il momento di abbandonare il vecchio nome Transpose per ribattezzare in Octave il nostro nuovo controllo: la sua escursione di 12 in 12 ci permette di trasporre per ottave l’intonazione dell’oscillatore.
A questo punto, non rimane che creare altre due controlli di Semitone (con escursione libera, ma Stepsize pari a 1) e di Cent (con escursione pari a +0.5/-0.5 e Stepsize pari a 0.01) per avere le regolazioni che ci mancano.
Ovviamente, sarà necessario sommare i due nuovi controlli prima di raggiungere la porta P e, per fare questo, agiremo sulle Property/Function del sommatore Add, portando a 4 il numero delle sue porte attive in ingresso.
Purtroppo, sul pannello di comando, i nuovi controlli si sono ammassati uno sopra all’altro, rendendo inutilizzabile la nuova ensemble (a proposito! Ricordatevi di salvarla come Simple Synth 02).
Per rimettere ordine, occorre sbloccare il pannello comandi agendo sulla chiave inglese in alto nella colonna di sinistra; la vedete nell’illustraazione qui sopra; appena cliccato sulla chiave inglese (oppure, richiamando Unlock Panel con la combinazione di tasti Command+P), compare una griglia di puntini neri disposti a 4 pixel di distanza, che ci faciliterà il riordinamento dei controlli a colpi di click and drag. Date fondo al vostro senso estetico e mettete ordine nel pannello. Dopo aver richiuso in Lock Panel la superficie di comando (altro Command+P o altro click sulla chiave inglese), i comandi tornano ad essere funzionali.
Questa è una possibile soluzione, non particolarmente originale, ma semplice da controllare a colpo d’occhio.
Ora, non rimane che arricchire con nuove forme d’onda il “potente” oscillatore creato, magari implementando anche i meccanismi di FM Lin/Exp, di Hard Sync, eccetera.
Stay Tuned
Post Scriptum: in Reaktor, esistono infiniti modi per arrivare allo stesso risultato; in queste righe, presentiamo i più semplici e banali, senza lanciarci in eccessivi virtuosismi di programmazione. Per dire, il motore di Octave Select potrebbe essere realizzato creando uno switch con cui selezionare diverse costanti di valore -24-, -12, 0- +12, +24, in modo da avere un’ordinata serie di tastini “di ottava” sul pannello comandi… 😉
Tags: Native Instrument, Reaktor, tutorial
Trackback from your site.
Comments (3)
andrea
| #
Mitico! Chiarezza espositiva unita ad una simpatia che rende fare queste cose un puro divertimento! Grazie!! 😉
Reply
Enrico Cosimi
| #
yuk
Reply
Daniele Pulciani
| #
Riguardo al centrare la posizione del potenziometro su un numero intero, la soluzione che ho individuato è impostare lo stepsize su 1, il che risolve il problema indipendentemente dalla mouse resolution…
Reply