Midi e OSC - Il vecchio e il nuovo al confronto

midi-vs-osc

MIDI e OSC sono i protocolli di comunicazione tra computers, sound synthesizers e altri dispositivi multimedia maggiormente utilizzati dall'industria e dal mondo dell'open source.

Entrambi non trasmettono alcun segnale audio o media ma semplicemente messaggi (o dati) come ad esempio  pitch e intensità di note musicali da riprodurre, segnali di controllo come volume, vibrato, panning e segnali di sincronizzazione.

MIDI
Il MIDI (Musical Instrument Dinamic Interface) ( www.midi.org - www.midi.com )  può essere considerata l'invenzione che ha dato la possibilità di controllare più strumenti musicali, attraverso una midi interface, che permette lo scambio di dati musicali utilizzato una lista standard di parametri (GM - General MIDI).

Introdotto nell'industria degli strumenti musicali nel 1983, il collegamento tra le apparecchiature avviene, in primis, tramite cavi con connettori DIN 5/180, e poi, per adattarsi all'avvento del digitale, con usb/firewire con possibilità di trasmettere i dati anche via Ethernet.

L'uso del MIDI e' stato facilmente esportato nell'ambito delle visual performances grazie alla progettazione di software per il mixing video che prendevano spunto dalla modularità e più in generale dalla architettura dei synth e dal mondo della produzione audio.

I segnali trasmessi si possono dividere in: event messages (Note on, Note off, aftertouch), timing messages (Midi clock, Midi Timeline) per la sincronizzazione e controller messages da parte di knobs, wheels e fade.

Una delle applicazioni più semplici si basa sul collegare una tastiera midi con un qualunque modulo sonoro, la pressione sulla nota DO (C) manda un messaggio di note on e di pitch, la velocità con la quale viene premuto il tasto genera un messaggio di velocity che normalmente viene tradotta nel volume audio al quale verrà riprodotta la nota, la continua pressione produce un messaggio di aftertouch che viene molto spesso utilizzato per la modulazione del suono ed infine il rilascio del tasto genera l'informazione di note off.

Allo stesso modo da un sequencer viene generato il messaggio di sincronizzazione (Midi clock, Midi Timeline) premendo il tasto play e da una superficie di controllo con Knobs, wheels e faders vengono inviati segnali di controllo per vari parametri che possono esseri modificati all’interno di un qualsiasi software o hardware musicale o video.

Dal punto di vista prettamente tecnico, ogni dispositivo MIDI ha a disposizione 16 canali per la trasmissione dei dati con la possibilità di mandare 16 messaggi (Sincronizzazione, eventi e controller) per ogni canale; ogni messaggio midi di controllo, incluso il segnale di velocity, è espresso come un numero nell’intervallo 0-127.

Dal momento della sua pubblicazione fino a pochi anni fa, la programmazione MIDI era uno degli argomenti più complessi nel bagaglio di chiunque si occupasse di musica elettronica ma allo stato attuale delle cose molte difficoltà sono state superate con l’utilizzo di interfacce software che hanno semplificato di molto le cose grazie all'apporto di elementi come il MIDI learn e le mappature midi per le più utilizzate interfacce di controllo nei preset.

Un esempio pratico può essere la configurazione MIDI di un qualsiasi software audio e video per il controllo dei parametri da modificare durante la performance e per la sincronizzazione basata su midi clock.

Il comando MIDI learn permette di configurare la superficie di controllo facilmente assegnando ogni knob, wheel e fader al comando desiderato semplicemente muovendo il relativo controller, il midi clock può essere facilmente inviato dal software master (in cui si setta il BPM) al software slave (in cui si riceve il segnale di sync senza possibilità di modificare il tempo) essendo il tutto già implementato a parte la configurazione del canale su cui ricevere (generalmente OMNI) e l’interfaccia di comunicazione (tastiera midi, interfaccia midi nella scheda audio o stand alone).

L’unico aspetto su cui porre attenzione è di non saturare il canale midi con troppi segnali assieme (più di 16 contemporaneamente, può avvenire quando si hanno troppi parametri controllati in automatico e una tastiera/controller midi utilizzato in real time) e di non creare midi loop che porterebbero al crash dei due sistemi; una semplice soluzione è quella di inviare segnali univocamente dal computer master al computer slave e utilizzando più canali midi assieme.

Le limitazioni del protocollo MIDI ricadono nella quantità di dati limitata che si possono inviare contemporaneamente e sulla velocità con cui questi dati vengono inviati poiché il supporto principale rimane sempre il vecchio cavo DIN 5/180 analogico che ha le sue limitazioni sulla lunghezza e la velocità di trasmissione in sé.

Essendo il protocollo MIDI uno standard ben consolidato nell’industria della creatività audio visuale, non sarà descritto alcun prodotto specifico, di cui è oltretutto facilmente reperibile ogni tipo di  informazione, ma vale la pena dare un’occhiata a MIDI YOKE uno dei tanti software free disponibili.

MIDI YOKE e’ un midi driver che crea un’interfaccia midi virtuale che permette il collegamento midi tra vari software che supportano il protocollo MIDI.

Un esempio semplice può essere quello di utilizzare il software GLOVE PIE che permette di utilizzare qualunque tipo di device (joysticks, gamepads, mouse, keyboards, MIDI input devices, HMDs, Wiimotes, trackers e Virtual Reality gloves) per controllare qualsiasi software poiché gestisce in output sia MIDI che OSC.

MIDI YOKE permette di inviare su un canale midi virtuale i dati midi generati attraverso la codifica del segnale inviato per esempio da un wiimote ricevuto sulla periferica BLUETOOTHtm.

Naturalmente le applicazioni sono molteplici e includono, tra quelle da noi sperimentate, l’utilizzo del mouse pad come XY controller (http://www.livelab.dk/touchpad2midi.php) e il già citato WIIMOTE.

OSC
Open Sound Control e’ un protocollo di trasmissione che permette a strumenti musicali, computer ed altri dispositivi multimedia di scambiare quello che i creatori semplificano in “music performance data” in tempo reale attraverso una semplice rete interna (TCP/IP, Ethernet) o internet.

OSC lavora ad altissima velocità sulla rete (broadband network speed), permette di scambiare un maggior numero di dati in confronto al MIDI, dando inoltre maggiore flessibilità al tipo di dati a disposizione; tutto questo comporta la possibilità di un più alto livello di interazione tra le macchine/software. Il protocollo di scambio dati su rete utilizzato e’ l’UDP .

Un software può decidere qualsiasi numero di porte, limitate solo dalla banda di trasmissione, per inviare dati e ugualmente per riceverne; ogni segnale ha un percorso assegnato che può essere associabile ad una URL (http://en.wikipedia.org/wiki/Uniform_Resource_Locator).

La tecnologia che è alla base è la stessa dello scambio di dati su internet e permette di inviare diversi tipi di dati tra cui pacchetti MIDI a 32 bit; per chi volesse andare più in profondità consiglio di visitare la pagina ufficiale (http://opensoundcontrol.org/) e la pagina di wikipedia (http://en.wikipedia.org/wiki/OpenSound_Control) per iniziare.

I vantaggi nei confronti del MIDI sono molteplici oltre alla differenza di velocità e di mole di dati che può essere trasmessa e riguardano anche la risoluzione dei tipi di dato (il midi utilizza una risoluzione a 8 bit mentre con l’OSC siamo ben oltre); unico neo al momento è che il protocollo necessita di una controller WiFi o Ethernet che non è installato su alcun hardware musicale o video.

Per quanto riguarda il software, sono ancora poche le applicazioni commerciali e di larga diffusione che lo includono ma nel mondo dell’Open source e’ stato accolto con molto entusiasmo.

PD (http://puredata.info/), Super Collider (http://www.audiosynth.com/), Csound (http://www.csounds.com/), Plogue Bidule (http://www.plogue.com/), VVVV (http://vvvv.org/tiki-index.php) sono alcune tra le applicazioni open source che gia’ includono l’OSC mentre l’implementazione in Processing (http://www.processing.org/) e’ ancora in corso  (http://processing.org/discourse/yabb_beta/YaBB.cgi?board=os_libraries_to...) ed esistono delle patch per l’utilizzo con software commerciali programmate in VVVV (http://vvvv.org/tiki-index.php?page=OSCGlue&highlight=osc).

Un’altra interessante applicazione e’ mrmr (http://poly.share.dj/projects/#mrmr) che permette di utilizzare l’Ipod Touch/Iphone come un’interfaccia di controllo utilizzando le potenzialita’ del touchscreen e la presenza di un controller WiFi per la trasmissione dei dati via OSC.

See you later.

Bassik

 

midi controllers

sempre dettagliato ed esaustivo il mio bassik, grazie!

sto dando un'occhiata a vari controllers midi... ne ho trovati 2 in particolare:

Korg Nano Kontrol che è superportatile e costa pochissimo

Numark Total Control Digital Dj System che è il più economico in commercio con i JOG wheel 

poi c'è il B-CONTROL DEEJAY BCD3000 che ha anche la scheda audio ma esteticamente è brutto ed è ingombrante...

Stamane ho testato un pò Resolume 3 e mi sembra la soluzione più pratica e veloce per integrazione audio/video...

Secondo te quale controller mi conviene acquistare???

Io pensavo Numark Total Control che potrei integrare con Korg Nano Control...

Tu che ne pensi??? Ma 2 controller si possono utilizzare???

Grazie

 

p.s.: magari se hai il tempo di passare da turnkey lunedì mi fai anche l'acquisto così pz me lo porta... sarebbe perfetto!!!

 

Submitted by Giuseppe Guariniello on 16. November 2008 - 12:59.
Ciao Mutech, I controller

Ciao Mutech,

I controller Korg Nano Kontrol sembrano molto interessanti e convenienti cosi' come il Numark, unico neo entrambi non hanno porte midi ma solo usb.

E' possibile utilizzare piu' controller via usb ma questo deve essere fatto con un software host che supporta questa modalita' (Ableton Live lo fa non so quale tra i software video).

Io utilizzo due controller ma uno e' linkato ad un altro attraverso un collegamento MIDI analogico e funziona benissimo, via usb potresti avere dei conflitti oltre al fatto che non so se il tuo mac ha 2 porte usb.

 

See Ya

 

Bassik

 

P.S. per turnkey fammi sapere.

 

Submitted by bassik on 16. November 2008 - 23:36.
Ciao,  il protocollo OSC

Ciao, 

il protocollo OSC e' supportato da pochissimi controller al momento.

A parte il Lermur che per il suo costo non e' accessibile a tutti, c'e' quello che al momento sembra essere il controller piu' in voga, il Monome.

Dal sito: "monome is brian crabtree and kelli cain. we aim to refine the way people consider interface.we
seek less complex, more versatile tools: accessible, yet fundamentally
adaptable. we believe these parameters are most directly achieved
through minimalistic design, enabling users to more quickly discover
new ways to work, play, and connect. we see flexibility not as a
feature, but as a foundation."

 

L'interfaccia e' completamente customizzabile a livello software attraverso la programmzaione ad oggetti (PD, Max/Msp, VVVV ecc...) o con Java o Processing.

 

altra possibilita' e' quella di utilizzare un qualsiasi Host (Ableton Live o altri software che supportano i vst) con OSCGlue che ti permette di convertire tutti i dati midi ricevuti su un canale midi in messaggi OSC via UDP.

 

Naturalmente i controller commercializzati al momento sono pensati per il MIDI e quindi i singoli componenti (ROtary, Fader, Slider e bottoni vari) sono progettati per quel tipo di risoluzione.

 

Sperando che l'OSC vengo preso maggiormente in considerazione in futuro o che l'organizzazione che fa capo al MIDI renda disponibile il nuovo protocollo MIDIHD (o 2.0 come molti altri lo chiamano) cosi' i produttori si allineranno con le nuove specifiche.

 

dal sito di Wikipedia sul MIDI 2.0:

 

HD-MIDI

Development of a major modernization of MIDI is now under discussion
in the MMA. Tentatively called "HD Protocol", this new standard would
support modern high-speed transports, provide greater range and/or
resolution in data values, increase the number of Channels, and support
the future introduction of entirely new kinds of messages.
Representatives from all sizes and types of companies are involved,
from the smallest speciality show control operations to the largest
musical equipment manufacturers. No technical details or projected
completion dates have been announced.[4][5]

It has been proposed that ACN be used as the sole or primary transport for HD-MIDI.

 

See ya

 

Bassik

 

 

Submitted by bassik on 16. November 2008 - 12:33.
controllers

ciao bassik,

volevo chiederti quali controller supportano l'osc, nel senso: posso usare qualsiasi controller per inviare segnali osc ad un software che supporta questo protocollo o devo per forza usare controller specifici tipo il Lemur???

grazie 

Submitted by Giuseppe Guariniello on 16. November 2008 - 12:02.

Post new comment

The content of this field is kept private and will not be shown publicly.