4. VMCI (VIRTUAL MIDI CONTROL INTERFACE)
VMCI è un programma con interfaccia grafica che permette di inviare quasi tutti i tipi
di messaggi a qualsiasi porta MIDI installata nel computer MIDI (supporta tutti i
messaggi di canale: note-on, note-off, after-touch polifonico e after-touch di canale,
control-change, program-change e pitch-bend). VMCI è totalmente configurabile e
permette un controllo totale nella definizione dei messaggi MIDI. VMCI può essere
usato al posto di una master-keyboard MIDI o di qualsiasi controller MIDI esterno; è
possibile controllare DirectCsound via MIDI anche senza che nel computer sia installata
alcuna interfaccia MIDI.
Questo programma è stato ideato per controllare DirectCsound, ma può essere
usato anche per controllare qualunque altro strumento MIDI, sia hardware che
software.
4.1 Versioni di VMCI.
Ci sono due versioni di VMCI:
1. VMCI (freeware)
2. VMCI Plus (versione shareware che include il supporto della Hyper-Vectorial
Synhtesis e di altre funzionalità avanzate).
La versione freeware può essere usata in due modalità:
• modo Lite
• modo Pro
La modalità LITE è completamente freeware, quindi può essere usata gratis, è
possibile dare copie agli amici ecc.
La modalità PRO è donationware. Questa modalità può essere attivata per mezzo di
un codice segreto che viene fornito alle persone che fanno una donazione di qualunque
entità all’autore del software.
Per controllare DirectCsound con VMCI, è necessario installare il software “Hubi's
LoopBack device”, che consiste in una porta MIDI virtuale. Il pacchetto “Hubi's
LoopBack” è freeware. Con questo pacchetto è possibile connettere diversi dispositivi
MIDI software alla stessa porta MIDI, rendendo possibile il controllo di DirectCsound
sia con VMCI, sia con una master-keyboard hardware, sia con entrambi i dispositivi
contemporaneamente.
La modalità Pro fornisce le seguenti funzionalità:
• quattro pannelli contenenti slider a 7-bit, per un totale di 256 slider configurabili
per trasmettere qualunque messaggio MIDI di control-change;
• due pannelli contenenti slider a 14-bit, per un totale di 64 slider configurabili che
trasmettono messaggi a risoluzione doppia (supportata da DirectCsound);
• due pannelli contenenti joystick virtuali, per un totale di 16 aree di joystick
configurabili, ciascuna delle quali in grado di controllare due parametri alla volta;
• una tastiera virtuale capace di gestire fino ad un totale di 960 messaggi MIDI
differenti; questi messaggi possono essere di qualunque tipo, completamente
configurabili dall’utente. E’ possibile assegnare alla tastiera alfanumerica del
computer ciascuno di questi messaggi;
• bottoni per avviare Csound o editare al volo un’orchestra o uno score, che rendono
le operazioni relative a Csound più veloci;
• un pannello di copia, che permette di copiare e incollare i valori dei parametri da
VMCI ad una orchestra o partitura di Csound.
4.2 Il pannello di attivazione
Quando si avvia VMCI, appare il pannello di attivazione:

Fig1 - Pannello di attivazione
Il pannello di attivazione è la finestra principale del programma e permette le seguenti
operazioni:
• Aprire e salvare file di Setup (con estensione .stp). I file di Setup contengono le
impostazioni fatte dall’utente durante le sessioni di lavoro. Le impostazioni principali
consistono nelle posizioni degli slider e dei joystick (vedi sotto), le etichette contenenti
testi per ricordare i parametri impostati, e la configurazione della tastiera virtuale.
• Mostrare e nascondere i pannelli (contenenti sliders, joysticks, e la tastiera
virtuale), cliccando le caselle corrispondenti.
• Aprire la finestra di dialogo “MIDI Setup”, che permette di selezionare la porta
MIDI OUT (nella versione “Plus” è possibile attivare anche la porta MIDI IN).
• Mostrare e nascondere le barre degli strumenti dei pannelli, per guadagnare spazio
ed allargare la lunghezza degli slider verticali.
• Abilitare/disabilitare l’invio automatico di messaggi di note-on e note-off ogni volta
che viene mosso uno slider, per inizializzare uno “strumento globale” (cioè uno
strumento di Csound che gestisce variabili globali usate poi in un altro strumento).
• Abilitare/disabilitare la visualizzazione dei valori dei parametri mentre cambiano.
Siccome l’aggiornamento della visualizzazione dei parametri sottrae molto tempo
di calcolo alla CPU, questa opzione è utile per migliorare la performance in tempo
reale di Csound, liberando risorse preziose di calcolo.
• Visualizzare e pulire la “Copy Board” che contiene i valori relativi alle posizione
correnti degli slider.
• Bottoni relativi a Csound (“Csound settings”, “Run Csound”, “Edit orc” e “Edit
sco” che permettono di avviare fino a due istanze di Csound allo stesso tempo, e di
editare le corrispondenti coppie di orchestra/partitura. Il bottone “Csound Settings”
permette di impostare tutti i parametri corrispondenti all’avvio di Csound da VMCI).
4.3 I pannelli degli Slider
I pannelli degli Slider contengono un banco di slider (il numero di slider disponibili è
differente nei modi LITE e PRO). Muovendo questi slider vengono inviati messaggi MIDI di
control-change alla porta MIDI OUT. Ciascun pannello emula le funzionalità di un “faderbox”
hardware o di un mixer MIDI. Sono possibili due diverse risoluzioni per i valori dei
parametri che vengono inviati: i messaggi a 7-bit, che coprono un intervallo da 0 a 127, e quelli
a 14-bit (consistenti in una coppia di messaggi a 7-bit), che coprono un intervallo da 0 a 16383.

Fig.2 - Pannello di Slider a 7-bit (orizzontale)

Fig.3 - Pannello di Slider a 7-bit (verticale)

Fig.4 - Pannello di Slider a 14-bit (verticale)
La modalità Pro permette di usare fino a 6 pannelli di slider allo stesso tempo: due pannelli
orizzontali a 7-bit (fig.2), due verticali a 7-bit (fig.3) e due a 14-bit (fig.4).
Ciascun pannello a 7-bit contiene un totale di 64 sliders; di cui, quelli orizzontali
possono visualizzarne fino a 32 alla volta, mentre quelli verticali possono visualizzare
tutti i 64 slider; d’altra parte quelli orizzontali permettono la visualizzazione di etichette
contenenti commenti forniti dall’utente.
Quando si trascina uno slider col mouse, viene inviato un flusso di messaggi MIDI di
control-change, e vengono visualizzate le seguenti informazioni, in accordo alla posizione
dello slider su cui si sta operando:
• il numero del controllo MIDI, corrispondente alla sua effettiva configurazione
corrente (che può essere modificata dall’utente);
• il valore dei dati dei messaggi di control-change che vengono inviati alla porta
MIDI OUT;
• i dati riscalati nel modo in cui vengono interpretati da Csound (l’intervallo
standard di riscalamento è da 0 a 1, ma può essere riconfigurato dall’utente).
Questo valore è utile per monitorare ciò che effettivamente succede nello
strumento di Csound corrispondente;
• un’etichetta di commento che può essere definita dall’utente per ogni slider.
VMCI permette di salvare tutte le posizioni correnti degli slider di tutti i pannelli in
un file di setup, e di inviare tutti i messaggi relativi allo stato corrente dei pannelli,
cliccando sul bottone “Send current CC positions”. Questo permette di ripristinare la
stessa situazione sonora (contenente le impostazioni di parecchi parametri) in sessioni di
Csound differenti. Questa funzionalità è normalmente assente nei “fader-box” hardware.