CASE STUDY: ARP ODYSSEY Terza Parte

Written by Enrico Cosimi on . Posted in Tutorial

Concludiamo la nostra cavalcata di (ri)programmazione affrontando un problemino non da poco, relativo alla generazione di controllo bifonico all’interno della struttura di sintesi squisitamente monofonica a nostra disposizione.

Di Enrico Cosimi

Bifonia Low – High Priority
L’implementazione della bifonia è meno banale di quanto potrebbe sembrare ad una prima analisi; l’ostacolo maggiore è – all’interno del Demo Editor – il combattimento contro la monofonia di base su cui è impostato il programma; per sconfiggerla, è necessario costruire un percorso che, nella singola voce generata, renda indipendenti i due oscillatori nei confronti del controllo di tastiera. Vediamo di capire come fare.

Nello strumento originale, sotto le tre ottave di tastiera ci sono due tecniche CV indipendenti che sono lette da sinistra e da destra per fornire le informazioni bifoniche di nota più bassa (VCO 1) e nota più alta (VCO 2); se il musicista preme una sola nota sulla tastiera, tutti e due i VCO sono sotto il controllo del sistema impegnato, diciamo il low note; se il musicista preme una seconda nota simultaneamente sulla tastiera, l’oscillatore 1 rimane agganciato alla low priority, mentre l’oscillatore 2 inizierà a tracciare le note più acute. In pratica, è solo il VCO 2 che può “saltare” da un sistema all’altro; il VCO 1 è sempre e comunque agganciato alla logica low note.

Quindi, nella nostra simulazione/riprogrammazione, dovremo fare in modo da mandare al VCO 2 il CV generale nel 99% dei casi e il CV più acuto quando si suonano due note insieme; sciogliamo il problema grande in diversi problemi più piccoli:

  • per ottenere simultaneamente il controllo high note/low note, è necessario instanziare due moduli Mono Keyboard (disponibili nel menu In/Out);
  • è necessario creare un meccanismo che alterni il segnale di controllo low/high nei confronti del VCO 2; l’alternanza è comandata dall’esecuzione di due note simultanee.

La struttura che stiamo ipotizzando prevede, quindi, un interruttore intelligente che sia in grado di decidere se mandare il low CV o l’high CV alla volta del VCO 2; la decisione intelligente deve essere presa solo quando il musicista suona due note per volta; fintanto che l’esecuzione si mantiene monofonica, il già citato interruttore intelligente unifica i due VCO sotto lo stesso controllo di tensione; ma quando arriva la seconda nota… zac! il VCO 2 si becca il CV high note priority.

Esistono diversi sistemi per innescare lo scambio di controllo; a seconda del linguaggio di programmazione utilizzato, si può sfruttare un voice count (cioè un conteggio che tenga nota del numero delle voci impegnate) per innescare il passaggio da CV low a CV high in direzione del VCO 2; questo sistema potrebbe cozzare contro l’impostazione rigorosamente monofonica del Demo Editor Clavia (al lettore coraggioso spetterà il compito di verificarlo…).

Oppure, si può utilizzare un più blando meccanismo per comparazione; cioè si può fare in modo che sia la valutazione dei comportamenti low/high stessi a generare il codice di controllo: se colleghiamo le uscite dei due generatori di CV low e high agli ingressi di un comparatore (il simpatico modulo che produce A>B=1 e A<B=0), avremo un codice 1 ogni volta che A (il CV High) è di valore nota maggiore di B (il CV Low), ovvero ogni volta che il musicista sta suonando due note per volta.  Lo schema qui sopra, riproduce il meccanismo per blocchi concettuali.

L’illustrazione qui sopra riproduce – in una patch molto più semplice – l’implementazione del meccanismo monofonia/bifonia. Purtroppo, la patch non è dimostrabile all’interno del Clavia Nord Modular G2 Demo Editor a meno di non avere un controller MIDI esterno, perchè la tastiera virtuale del Demo non prevede la pressione simultanea su due note. Comunque, il sistema funziona. A questo punto, non rimane che trasferire il tutto – con le debite cautele – all’interno della patch principale. Ma prima…

 

Gestione del Portamento
Il Glide, o Portamento (questa volta, ci divertiamo a essere volontariamente imprecisi…), addolcisce il valore di CV generato tasto per tasto integrandolo con variazioni più o meno marcate; fintanto che, nella patch principale, il segnale di tastiera era uno solo, il problema era facilmente risolto attraverso inserimento di un modulo Glide lungo il percorso Keyboard CV – Glide – Oscillatore. Ma ora che i CV sono due (high e low note), un solo modulo Glide non basta più…
Il lettore frettoloso potrebbe considerare l’inserimento di due Glide – uno su High e l’altro su Low CV Out – come sufficiente, ma si creerebbe il problema del controllo: sul pannello frontale dell’ARP Odyssey, c’è un solo regolatore di portamento e la presenza obbligata di un high portamento e un low portamento comporterebbe sicuramente qualche perplessità da parte del musicista meno esperto. Da un certo punto di vista, la cosa potrebbe essere anche considerata “di prestigio”, ma per semplicità, saremo costretti ad accomunare i due processori di portamento sotto l’azione di un’unica manopola di controllo. Il problema è che il Glide previsto da Clavia non può essere controllato a distanza, a meno di non ricorrere alle automazioni MIDI che sono proibite nel Demo Editor…
L’unica soluzione pratica consiste nell’instanziare due blandi low pass filter (uno su High CV Out e l’altro su Low CV Out), mettendoli tutti e due sotto il controllo di un generatore di costante esterno. Il neonato generatore di costante risulterà essere l’unico controllo di glide/portamento presente sul pannello comandi. Laborioso, ma funzionale.
Bene, torniamo alla struttura.

(Patch ODY 21)

Dopo aver realizzato tutte le modifiche, dopo cioè aver trapiantato il meccanismo di comparazione sui due generatori di CV, la patch si presenta come nell’illustrazione qui sopra. Il particolare dell’illustrazione visualizza la porzione relativa al doppio CV. Attenzione! Il Keyboard Gate utilizzato sarà sempre e comuque quello collegato al Low Note CV. (A margine, segnaliamo come attraverso l’istanza di un ulteriore modulo Poly Keyboard, si potrebbe utilizzare un “gate polifonico” adatto a riprodurre il classico comportamento delle prime tastiere parafoniche; andate ad ascoltarvi The Model dei Kraftwerk per capire a cosa ci stiamo riferendo).

l’insieme della patch finita è riprodotto – inevitabilmente sotto forma di miniatura – nell’immagine qui sopra.

Dopo aver terminato le operazioni di programmazione, può essere cosa e giusta fermarsi cinque minuti a riflettere non solo sulla caducità delle umane cose, ma anche sulla complessità che – quasi sempre – si cela al di sotto del pannello comandi di apparecchi che a prima vista possono sembrare facili facili. Come al solito, il reverse engineering è una micidiale tecnica di apprendimento.
Basta solo avere la pazienza e la concentrazione necessarie.

 

Tags: , , , , ,

Trackback from your site.

Comments (4)

  • Fabrizio

    |

    Ciao Enrico…ti ringrazio per lo splendido articolo e per il continuo apporto che dai alla nostra sete di conoscenza…oggi attraverso i tuoi insegnamenti riesco finalmente a “leggere” un synth…e non sai che piacere è per me!
    ciao
    ps: ti volevo segnalare che nelle patches 12, 14, 15 del secondo articolo c’è sempre la la patches 01.

    Reply

    • Enrico Cosimi

      |

      grazie per la segnalazione!!! correggo subito…
      sono contento che gli articoli risultino utili!!!!
      :-)

      Reply

      • Astrolabio

        |

        Ti sbagli Enrico! Questi articoli non sono utili, sono utilissimi :)

        Reply

Leave a comment

Inserisci il numero mancante: *

ga('send', 'pageview');