La realizzazione di librerie sonore è uno degli aspetti più affascinanti delle professionalità tecnologico musicali in quanto in essa sono racchiuse tutte le competenze possibili ed immaginabili: la fonia, la microfonazione, l’organologia e la scienza del suono, l’editing e il processing audio, la programmazione MIDI, la programmazione informatica, il campionamento del suono, la sintesi del suono, l’orchestrazione virtuale. E’ un mix fantastico di competenze tecnologiche e musicali che spesso riunisce persone molto differenti tra loro che hanno un unico obiettivo: costruire virtual instrument con suoni e operatività tali da poter essere utilizzati da tutti i mestieri tecnologici e musicali: il sound designer, il performer elettronico, il sound engineer, il programmatore MIDI, il compositore, l’orchestratore, l’arrangiatore, il produttore.
Per la realizzazione della libreria il campionatore di casa Native Instrument, Kontakt, è sicuramente lo strumento più utilizzato al mondo per le innumerevoli possibilità offerte soprattutto nella programmazione delle infinite funzioni di controllo che potete aggiungere ai vostri instrument (effetti audio, step sequencer, harmonizer, manopole, fader, pulsanti, ecc. ecc.) grazie ad un potente e semplice linguaggio di programmazione interno chiamato KSP (Kontakt Script Processor) e dell’ambiente di programmazione gestibile tramite lo Script Editor. Uno Script non è altro che una o più lista di istruzioni, presenti all’interno di strutture chiamate callbacks, che indicano il modo di lavorare di uno strumento virtuale. In questa serie di articoli vedremo di capire come funzionano gli script e come programmarli.
Le funzioni operative contenute negli script possono agire automaticamente senza il controllo dei parametri da parte dell’utente oppure essere manipolate tramite manopole o altri oggetti che vedremo nel corso di questi articoli.
Prima di addentrarci nella programmazione vera e propria cerchiamo di capire gli ambienti che è possibile utilizzare in Kontakt. Se non avete un Kontakt potrete scaricare la versione gratuita (Kontakt player) che vi consentirà di poter svolgere passo passo le istruzioni che via via costruiremo insieme. Potete scaricare questa versione gratuita al seguente LINK.
Se volessimo creare un nuovo strumento in Kontakt, dovremmo mappare i campioni nei vari gruppi, realizzare i loop eventuali nell’editor audio e poi utilizzare lo script editor per programmare le istruzioni KSP. Esploriamo l’ambiente offerto dallo script editor. Apriamo Kontakt che mostrerà la seguente schermata.
Creiamo un nuovo strumento per cui sulla barra degli strumenti clicchiamo su Files e nel menu che compare selezioniamo New Instrument.
Nell’area chiamata rack compare uno strumento vuoto chiamato New Instrument
Cliccando sul pulsante con l’icona di una chiave inglese, posizionato sulla sinistra del nome del nuovo strumento, è possibile entrare nella modalità Edit Instrument grazie alla quale è possibile mappare i campioni, decidere il routing del segnale audio, aggiungere effetti, realizzare loop e ovviamente scrivere gli script.
Clicchiamo sul pulsante Script Editor presente nella fila dei pulsanti che attivano i vari editor.
Si apre subito sotto un’area che presenta 5 slot etichettati con la scritta <empty>.
Ognuna di queste cinque aree è chiamata performance view e potrà ospitare oggetti di controllo per l’utente ed avere script e dimensioni indipendenti rispetto alle altre. Finchè resteranno vuote non avranno alcun effetto sulla funzionalità e visibilità dello strumento realizzato. Per modificare le caratteristiche di queste performance view ed inserire le istruzioni facenti parte degli script occorre cliccare sul pulsante Edit collocato sulla sinistra dell’area.
Si apre in basso il text editor dove sarà possibile inserire le istruzioni.
Si può dare il nome allo script e di fatto alla performance view inserendolo nel riquadro Title for this script. Subito dopo, il nome compare come titolo dello slot.
Diamo un nome anche al secondo slot, cliccate sul suo nome per aprire la performance view e cliccate sul pulsante di Edit. Inserite il nome SECONDO e premete [Invio] per assegnare il nome allo script.
Abbiamo rinominato due slot e quindi abilitato due performance view ma se chiudiamo la modalità di Edit dello strumento (cliccando ancora sul pulsante con l’icona della chiave inglese) non noteremo alcuna differenza con la visualizzazione dello strumento precedente l’azione svolta.
Per visualizzare una performance view occorre abilitarla e quindi dobbiamo scrivere un’istruzione apposita. Rientriamo nella modalità di Edit e selezioniamo lo slot PRIMO. Nel Text Editor dobbiamo quindi scrivere la nostra prima istruzione che ci permetterà di visualizzare la performance view. Le istruzioni vengono scritte all’interno di una callback ovvero un blocco di istruzioni che vengono eseguite quando vengono ricevuti o triggerati determinati eventi. Le callback hanno nomi caratteristici: ad esempio quelle che agiscono su note MIDI si chiamano note, quelle sui control change controller. La callback principale, nella quale si attivano le performance view, si effettuano le dichiarazioni di variabili ed altre operazioni si chiama init. Una callback si attiva con l’istruzione on <nome callback> e terminano con l’istruzione end on. Nel caso della callback init occorre scrivere quindi le seguenti istruzioni. E’ importante sapere che ogni istruzione deve essere su una riga indipendente e pertanto non si possono inserire due istruzioni sulla stessa riga.
Per rendere operative le istruzioni dello script occorre cliccare sul pulsante Apply che si trova in alto a destra rispetto al text editor. Un pulsante quadrato sulla sinistra di tale pulsanti visualizzerà determinati messaggi: se è di colore giallo vuol dire che è stato inserito del codice che ancora non è operativo. Cliccando su Apply le istruzioni scritte vengono rese operative, la spia gialla si spenge e nella barra di status (sotto il text editor) compare un messaggio che dirà che le istruzioni applicate sono corrette (come mostrato nell’immagine seguente) o errate.
Qualora avessimo effettuato degli errori di sintassi, sbagliato un nome sensibile o la modalità di scrivere le istruzioni, l’errore sarà visualizzato non solo nello Status ma anche colorando di rosso la riga che ospita l’istruzione.
Abbiamo inserito due istruzioni che abilitano la callback init aprendola e chiudendola; ma poiché dentro la callback non è presente alcuna istruzione, nel momento in cui abbiamo cliccato su apply non è successo nulla. Per abilitare la visualizzazione della performance view dobbiamo scrivere all’interno della callback init l’istruzione make_perfview.
Cliccando su Apply sembrerà non essere accaduto nulla ma se chiudiamo la modalità Edit Instrument possiamo vedere come sotto l’immagine dello strumento sia apparsa un’area vuota (è proprio la performance view!!).
Pur avendo dichiarato il nome di due performance view (PRIMO, SECONDO) ne vediamo una soltanto ovvero quella chiamata PRIMO. Per visualizzare anche la seconda dobbiamo ripetere le stesse istruzioni sul secondo slot. Per fortuna possiamo selezionare le istruzioni scritte nel primo slot, copiarle ed incollarle sul secondo.
Cliccate su Apply ed uscite dalla modalità Edit. Come possiamo vedere, sotto l’area dove viene mostrata la performance view, sono presenti i due pulsanti per visualizzare la performance view PRIMO o quella SECONDO.
Pingback: Kontakt: gli script (parte 2) | tecnologiamusicale
Pingback: Kontakt: gli script (parte 3) | tecnologiamusicale