Audulus per iPad – seconda parte

Written by Antonio Antetomaso on . Posted in Software

Ben ritrovati. Dopo una panoramica delle caratteristiche di Audulus per iPad è arrivato il momento di andare a toccare con mano “la ciccia” offerta da questo linguaggio di programmazione. E cosa c’è di meglio del lanciarci in una forsennata attività di reverse engineering di un synth analogico del passato?

Di Antonio Antetomaso

COPERTINA

Dato che, credete a me, non c’è niente di meglio, com’è ormai tradizione su Audio Central Magazine, scegliamo una macchina vintage non troppo complessa da riprogettare in ambiente Audulus, per vedere fin dove riusciamo ad arrivare.

Come inoltre anticipato nella prima puntata, il synth su cui ci concentreremo è il pluridesiderato Moog Prodigy.

FIGURA1

Un breve cenno alle caratteristiche dello strumento: concepito come una macchina entry level ma poi divenuto un cult in produzioni musicali elettroniche e techno per i poderosi bassi in grado di tirare fuori e per le timbriche lead aggressive grazie anche all’hard sync degli oscillatori, il Prodigy vide la luce nel 1979 e venne prodotto fino al 1984 circa, per un totale di circa 11000 esemplari “all around the world”. Se volete sentire come suona lo strumento originale date un’occhiata a questo video.

Tornando a noi, diamo una breve scorsa allo schema dell’interfaccia dello strumento per individuare il percorso del segnale audio, le sorgenti sonore, le modulazioni, i filtri e compagnia cantante.

FIGURA2

Facile facile dai…due oscillatori capaci di produrre dente di sega, quadra e triangolare. Il primo regolabile in pitch per piedaggi di ottava, a 32’, 16’, 8’, il secondo a 16’, 8’, 4’. Del secondo è possibile effettuare un detuning rispetto al primo oscillatore, fino a una quinta in su o in giù.

Ancora, il secondo oscillatore può essere messo in hard sync con il primo: esso resetterà i propri cicli ad ogni “passaggio allo zero” del primo oscillatore con il risultato di timbriche ricche di armoniche e particolarmente aggressive.

Entrambi gli oscillatori finiscono nel mixer e da lì nel filtro passa basso risonante a 24 DB, come da tradizione Moog. Il mixer consente di dosare il livello di ogni oscillatore e il livello del segnale miscelato che confluisce nel filtro, fino a farlo saturare.

L’amplificatore, mascherato come altri strumenti “entry level” di casa Moog (leggi MODEL D), è controllabile mediante un invilluppo ADS con tempo di Release pari (eventualmente) al tempo di decadimento oppure pari a zero. Tale inviluppo è chiamato (come per il Minimoog Model D) “Loudness contour”, mentre con il nome “Filter contour” si indica il secondo inviluppo che governa l’apertura del filtro organizzato come l’inviluppo dell’amplificatore.

Un LFO regolabile in rate e forma d’onda (quadra o triangolare) e dosabile mediante modulation wheel può modulare pitch degli oscillatori e frequenza di taglio del filtro. Il filtro è sensibile all’altezza di nota secondo due valori discreti “half” e “full”.  Oltre a ciò, lo strumento offre un controllo per la regolazione dell’intonazione generale e uno per dosare la quantità di “glide” desiderata. Infine, è offerta la “rotella” di pitch bending….un’analisi più a volo d’uccello così non credo mi riuscirebbe.

Cominciamo senza indugio la modellazione in Audulus: presto presto, apriamo il programma, clicchiamo sul tasto “+” in alto a destra sulla toolbar, rinominiamo la patch in “iProdigy” (si…si…lo so, non vi piace il nome….ma dato che “ogni scarrafone è bell’a mamma soja” la chiamiamo così, punto) e iniziamo.

FIGURA3

Iniziamo ad eliminare l’ input 1, non ci occorre: effettuamo un tap e teniamo premuto il ditino su di esso, per poi selezionare la voce “Delete”.

Iniziamo quindi a modellare le sorgenti sonore, che ne dite? Un tap sul pulsante “+” per veder comparire la lista di categorie di moduli offerti da “Audulus”. Apriamo la categoria “Synthesis” e selezioniamo “Osc”.

Come per magia verrà aggiunto alla nostra patch il nodo “Oscillatore”, diamogli un’occhiata.

FIGURA4

Un tap prolungato su di esso farà comparire un menu da cui è possibile (tra le altre cose) selezionare l’help in linea del nodo in oggetto. Comodo, ma per fare subito vi illumino io.

Il tondino in alto è l’ingresso del pitch (in HZ purtroppo, non in toni o semitoni), quello in basso il segnale da ricevere per mettere l’oscillatore in sync (e meno male che c’è sennò erano dolori). I due sliders in alto e in basso consentono di regolare l’intonazione per semitoni (a meno che non cambi 0.5 in un altro valore) e per centesimi di semitono. Tale oscillatore offre onda sinusoidale, dente di sega, triangolare, quadra a simmetria fissa (niente PWM, sob). Per scegliere la forma d’onda desiderata basta operare un tap prolungato al centro del nodo ed operare una selezione.

Se dal punto di vista delle forme d’onda siamo a posto con la nostra modellazione (anche troppo), dal punto di vista degli ingressi e delle uscite è un disastro, convenite? Abbiamo a che fare con gli HZ e dobbiamo invece lavorare per piedaggi d’ottava, senza contare l’intonazione “fine” fino a una quinta sopra o sotto da realizzare. Inoltre, per pulizia….la forma d’onda sinusoidale non c’è, quindi non dovremmo proprio offrire la possibilità di selezionarla.

Sarebbe ottimo se riuscissimo a creare una sorta di “MACRO”, come si fa con Reaktor…vediamo un po’, uhm….TROVATO! Il nodo “Patch” sembra fare al caso nostro. Bene, aggiungiamone una senza indugio, rinominiamolo “Osc 1” (teniamo premuto il ditino su di essa e, quindi “Rename Patch”) ed operiamo un doppio tap per entrare al suo interno allo scopo di iniziare a “buttare dentro roba”.

Andiamo veloci, dobbiamo risolvere il problema di abbassare il pitch per piedaggi di ottava (32’, 16’, 8’), selezionare la forma d’onda desiderata ed inserire solo le forme d’onda previste nello strumento originale.  In merito a quest’ultimo punto, non ci sono Santi, devo creare tre copie del nodo “Osc” ciascuna impostata su una delle tre forme d’onda del Prodigy e poi utilizzare uno switch per impostare la forma d’onda desiderata in uscita. Vediamo un po’….switch, switch….uhm, non c’è. Beh, ci sarebbe il modulo MUX8 ma è a pagamento e inoltre offre 8 ingressi anzichè n con n programmabile. Mi sa che ci tocca farcelo a mano, fortunatamente abbiamo acquistato l’espansione “Math Expression Node”, altrimenti sarebbe stata dura ragazzi. Un po’ di logica booleana e passa la paura:

FIGURA5

Manca da risolvere il problema del pitch: anche qui, dividiamo gli HZ in ingresso alla patch per un multiplo di 8 e il gioco è fatto. In pratica, divido il valore “coarse” (32, 16, 8) per 8, prendo il quoziente, divido gli HZ in ingresso per il quoziente e mando tutto in ingresso agli oscillatori. Facile facile no? Dai….che c’è di difficile? E’ vero o no che ogni salto di ottava la frequenza raddoppia? E allora devo dividere per 2 o per 3 se voglio abbassare di una o due ottave, vi torna?

Insomma, per farvela breve, ecco il nostro oscillatore bello e pronto:

FIGURA6

I nodi marcati come “input” saranno visibili come pallocchi a cui inviare i segnali, sulla nostra macro. I nodi marcati come output (2 in questo caso) invece, come pallocchi da cui far partire i nostri “virtual patch cord”.

Ecco quindi la nostra bella macro pronta a ricevere in ingrezzo il pitch dalla tastiera, il valore per scalare di ottava e il numero della forma d’onda desiderata. Il tutto andrà poi a confluire nel mixer, come avremo modo di vedere.

FIGURA7

Passiamo all’oscillatore 2 che, come potrete immaginare senza difficoltà, sarà progettato come una naturale evoluzione della patch precedente. Naturale evoluzione perchè avremo da gestire diverse cosette aggiuntive, tra cui l’hard sync e la possibilità di intonare in modalità “fine” fino a una quinta sopra o sotto, rispetto all’oscillatore 1.

Niente paura, copiamo la patch “Osc 1” mediante tap prolungato e quindi “Copy” ed effettuiamo un ricco “Past” mediante il medesimo meccanismo. Entriamo nella patch con un doppio tap e prepariamoci a modificare. Da che inziamo? Beh, visto che ce l’abbiamo pronto pronto, creiamo un nodo “input” che rinominiamo in “Sync” e inviamolo all’ingresso “sync” dei tre oscillatori. E il meno è fatto, come disse Celentano. Occupiamoci dell’intonazione “fine”: qui arrivano i guai perchè devo risolvere il problema di spostarmi per semitoni in sopra o in sotto, avendo a disposizione gli HZ. Tirata qualche bestemmiuccia verso il nostro Taylor per non aver previsto un ingresso che ricevesse il numero di semitoni direttamente (ho provveduto a segnalarlo come possibile miglioramento), fatta qualche ricerca su Wikipedia, mi sono ricordato, che data la frequenza di una nota, per ottenere la frequenza del semitono superiore basta moltiplicare per….RADICE DODICESIMA DI 2!! E vabbè dai, che sarà mai, calcolatrice alla mano, preleviamo il valore esatto e “schiaffiamolo” in un meraviglioso nodo “expr” messo a disposizione da Audulus. Moltiplichiamo tutto per il pitch in ingresso e il gioco è fatto.

FIGURA8

Ecco qui il nostro OSC 2, basta inviargli in ingresso il pitch dalla tastiera, i valori “coarse” e “fine” desiderati e il segnale del primo oscillatore per l’hard sync (moltiplicato per 1 o 0 secondo se vogliamo abilitare o escludere l’hard sync):

FIGURA9

Difficile? Ma no, ma no…il bello deve ancora venire, occupiamoci di mixer e filtro. Riguardo al primo c’è il nodo “Mixer4x1” che fa proprio al caso nostro, basta corredarlo con un paio di potenziometri in ingresso e uno in uscita e il gioco è fatto. I nodi “Level” fanno al caso nostro.

FIGURA10

Arriviamo al filtro…per scoprire con sommo dolore che Audulus prevede, per lo meno in questa versione, un solo filtro passa basso risonante a 12 DB. A me ne serve uno a 24 DB, come faccio? E qui intervenne sua santità Enrico notiziando il sottoscritto in merito alla “cascata di due filtri 12 DB” che produce di fatto un filtro 24 DB, a patto che entrambi i filtri vengano controllati in frequenza di taglio e risonanza dai medesimi controlli.

Detto fatto, creiamo un’altra patch che chiamiamo “24db LP Res Filter” e infiliamoci dentro due filtri 12 db in cascata pilotati dagli stessi ingressi:

FIGURA11

FIGURA12

Cosa mandiamo in ingresso al filtro? Sicuramente il risultato del mixing dei due oscillatori, un valore per la frequenza di taglio e uno per la risonanza ovviamente. Che valore devo assegnare alla frequenza di taglio?

Pazientate la prossima ed ultima puntata quando parleremo di inviluppi, sorgenti di modulazione e tutto il resto.

Ad maiora!

Tags: , ,

Trackback from your site.

Leave a comment

Inserisci il numero mancante: *

ga('send', 'pageview');