BLOG, www – articoli dal web

MIDI 2.0 : MIDI-CI : Profili e scambio di proprietà

BLOG | 22 Febbraio 2020 Cristiano Alberghini

MIDI 2.0 : MIDI-CI

Profili e scambio di proprietà

Traduzione dell’articolo pubblicato sul sito MIDI.org

 

MIDI 2.0

Specifiche MIDI 2.0 adottate al Winter NAMM 2020

Già nel 1983, le aziende produttrici di strumenti musicali che gareggiavano ferocemente l’una contro l’altra, si sono comunque coalizzate per creare una specifica visionaria – MIDI 1.0, la prima interfaccia digitale universale per strumenti musicali (Musical Instrument Digital Interface).
Quasi quarant’anni dopo, è chiaro che il MIDI è stato realizzato così bene che è rimasto valido e rilevante. La sua capacità di unire computer, musica e arte è diventata una parte essenziale della performance dal vivo, della registrazione, degli smartphone e persino dell’illuminazione del palco.
Ora, il MIDI 2.0 porta le specifiche ancora più avanti, pur mantenendo la retrocompatibilità con l’attrezzatura e il software MIDI 1.0 già in uso.
Ecco perché il MIDI 2.0 è il più grande progresso nella tecnologia musicale degli ultimi decenni.

MIDI 2.0 Significa Conversazioni MIDI bidirezionali

I messaggi MIDI 1.0 andavano in una sola direzione: da un trasmettitore ad un ricevitore. MIDI 2.0 è bidirezionale e cambia MIDI da un “monologo” a un “dialogo”. Ad esempio, con i nuovi messaggi MIDI-CI (Capability Inquiry – Richiesta di capacità), i dispositivi MIDI 2.0 possono parlare tra loro e auto-configurarsi per lavorare insieme. Possono anche scambiarsi informazioni sulla funzionalità, che è la chiave per la compatibilità a ritroso: i dispositivi MIDI 2.0 possono scoprire se un dispositivo non supporta il MIDI 2.0, e quindi comunicare semplicemente usando il MIDI 1.0.

Maggiore risoluzione, più controllori e migliore tempistica

Per offrire un livello di espressività musicale e artistica senza precedenti, il MIDI 2.0 reinventa il ruolo dei parametri di controllo, l’aspetto del MIDI che traduce i gesti delle prestazioni umane in dati informatici in grado di comprendere. I controller sono ora più facili da usare, e ce ne sono di più: oltre 32.000 controller, compresi i controlli per le singole note. La risoluzione a 32 bit migliorata dà ai controlli una sensazione di fluidità, continua e “analogica”. Sono state aggiunte nuove opzioni Note-On per il controllo dell’articolazione e l’intonazione precisa delle note. Inoltre, è stata potenziata la risposta dinamica (Velocity). Per di più, importanti miglioramenti di temporizzazione nel MIDI 2.0 possono essere applicati ai dispositivi MIDI 1.0 – in effetti, alcune apparecchiature MIDI 1.0 possono persino beneficiare di determinate funzionalità del MIDI 2.0.

Configurazione del profilo

Le apparecchiature MIDI possono ora avere Profili che possono configurare dinamicamente un dispositivo per un particolare caso d’uso. Per esempio se una superficie di controllo interroga un dispositivo con un Profilo “mixer”, allora i controlli mappano i fader, i panpot e altri parametri del mixer. Ma con un Profilo “drawbar organ” (registri dell’organo), quella stessa superficie di controllo può mappare automaticamente i controlli dei drawbar virtuali e altri parametri della tastiera – oppure mappare un dimmer se il profilo è un controller designato all’illuminazione (lighting design). Ciò fa risparmiare tempo per la configurazione e migliora il flusso di lavoro eliminando la noiosa programmazione manuale.

Scambio di proprietà (Property Exchange)

Mentre i Profili configurano un intero dispositivo, i messaggi di Property Exchange forniscono una specifica e dettagliata condivisione di informazioni. Questi messaggi possono scoprire, recuperare e impostare molte proprietà come i nomi dei preset, le impostazioni dei singoli parametri e le funzionalità uniche – in sostanza, tutto ciò che un dispositivo MIDI 2.0 deve sapere su un altro dispositivo MIDI 2.0. Per esempio, il vostro software di registrazione potrebbe visualizzare sullo schermo tutto ciò che dovete sapere su un sintetizzatore, portando efficacemente i sintetizzatori hardware allo stesso livello di richiamabilità delle loro controparti software.

Costruito per il futuro

MIDI 2.0 è il risultato di uno sforzo di sviluppo decennale a livello globale. A differenza del MIDI 1.0, che inizialmente era legato ad una specifica implementazione hardware, un nuovo formato Universal MIDI Packet rende facile l’implementazione del MIDI 2.0 su qualsiasi trasporto digitale (come USB o Ethernet). Per consentire applicazioni future che oggi non possiamo immaginare, c’è ampio spazio riservato ai messaggi MIDI nuovi di zecca.

L’ulteriore sviluppo delle specifiche MIDI, così come le salvaguardie per assicurare la compatibilità e la crescita futura, continueranno ad essere gestite dalla MIDI Manufacturers Association che lavora in stretta collaborazione con l’Association of Musical Electronics Industry (AMEI), l’associazione di categoria giapponese che supervisiona le specifiche MIDI in Giappone.

Il MIDI continuerà a servire musicisti, DJ, produttori, educatori, artisti e hobbisti – chiunque crei, esegua, impari e condivida musica e opere artistiche nei decenni a venire.

1.1 Richiesta di capacità MIDI (MIDI-CI) – Capability Inquiry

Le capacità aggiuntive che il MIDI 2.0 porta ai dispositivi sono abilitate dal MIDI-CI (MIDI-Capability Inquiry). L’idea di base è che se i dispositivi hanno una connessione bidirezionale, possono scambiare le loro capacità tra loro. I dispositivi possono condividere la loro configurazione e quali funzioni MIDI sono supportate.

I dispositivi usano un collegamento bidirezionale per configurare le funzioni MIDI quando entrambi i dispositivi accettano di supportare tale funzione. Il MIDI-CI scopre e configura le caratteristiche del dispositivo utilizzando 3 categorie di richiesta: Configurazione del profilo, scambio di proprietà e negoziazione dei protocolli.

Se un dispositivo non supporta nuove funzionalità, utilizza il MIDI 1.0 come di consueto. I dispositivi collegati a quel dispositivo continueranno a utilizzare il MIDI 1.0 nella comunicazione con quel dispositivo.

L’espansione del MIDI con nuove funzionalità richiede un nuovo protocollo con messaggi MIDI estesi. Per proteggere la compatibilità all’indietro in un ambiente con funzioni estese, i dispositivi devono confermare le capacità di altri dispositivi collegati. Quando 2 dispositivi sono collegati tra loro, essi usano il MIDI 1.0 e confermano le capacità dell’altro prima di usare le funzioni espanse. Se entrambi i dispositivi condividono il supporto per le stesse funzioni MIDI espanse, possono accettare di utilizzare le funzioni MIDI espanse. MIDI-CI fornisce questo meccanismo.

MIDI-CI: espandere il MIDI mentre si protegge la compatibilità all’indietro:

MIDI Capability Inquiry (MIDI-CI) è un meccanismo che ci permette di espandere il MIDI con nuove caratteristiche, proteggendo al contempo la retro compatibilità con i dispositivi MIDI che non comprendono queste nuove caratteristiche.

Il MIDI-CI separa i vecchi prodotti MIDI dai nuovi prodotti con nuove funzionalità e fornisce un meccanismo per due dispositivi MIDI per capire quali nuove funzionalità sono supportate.

MIDI-CI presuppone e richiede una comunicazione bidirezionale. Una volta stabilita una connessione MIDI-CI tra i dispositivi, i messaggi di interrogazione e risposta definiscono le capacità di ogni dispositivo.

Il MIDI-CI negozia o si auto-configura per usare quelle caratteristiche che sono comuni tra i dispositivi. Il MIDI-CI fornisce meccanismi di test quando si abilitano nuove funzionalità. Se un test fallisce, i dispositivi ripiegano sull’uso di MIDI 1.0 per quella caratteristica. MIDI-CI migliora le capacità MIDI in diverse aree chiave.

MIDI-CI permette ai dispositivi di utilizzare un protocollo MIDI espanso ad alta risoluzione e più controller per nota (multipli). Esso consente di incrementare le nuove funzionalità MIDI fornendo la retro compatibilità ai dispositivi MIDI 1.0 in tutti i casi.

MIDI-CI Include interrogazioni per 3 aree principali di funzionalità MIDI espanse:

  1. Configurazione del profilo
  2. Scambio di proprietà
  3. Negoziazione del protocollo

1.2 CONFIGURAZIONE DEL PROFILO

Ci sono alcuni tipi comuni di dispositivi MIDI che tendono tutti a fare cose molto simili. Possiamo definire dei Profili per definire come il MIDI controlla le caratteristiche comuni. La configurazione dei profili MIDI-CI permette ai dispositivi di scoprire e attivare i profili per una migliore interoperabilità e facilità d’uso, riducendo al contempo la necessità di configurazione manuale dei dispositivi da parte degli utenti.

Per capire meglio, consideriamo i pianoforti controllati via MIDI. I pianoforti hanno molte caratteristiche in comune e possiamo controllare queste caratteristiche con un insieme comune di messaggi MIDI. I messaggi MIDI utilizzati da tutti i pianoforti includono Note On/Off e Sustain Pedal. Un profilo di pianoforte potrebbe definire che la nota numero 60 è la C centrale, definire una specifica curva di risposta in velocità, definire l’uso di un messaggio variabile Sustain Pedal (non solo On/Off), definire un messaggio di controllo per l’angolo di apertura del coperchio, definire un messaggio per selezionare il tipo di accordatura stretch e altro ancora. Qualsiasi dispositivo che riporta il supporto per il Profilo del Pianoforte dovrebbe essere conforme a questa configurazione.

Gli utenti MIDI avanzati potrebbero avere familiarità con la “mappatura” manuale di tutti i controller da un dispositivo ad un altro dispositivo per farli parlare tra loro. Se 2 dispositivi accettano di usare un profilo comune, la configurazione del profilo MIDI-CI può auto-configurare le mappature. I profili possono essere scritti per i tipi di dispositivi o per applicazioni uniche che vengono utilizzate su più tipi di dispositivi. I profili possono essere scritti per strumenti come pianoforti, pianoforti elettrici, organi a timone, drum set, sintetizzatori analogici. I Feature Profiles possono definire messaggi comuni per controllare l’articolazione orchestrale, modelli di controllo diretto dell’intonazione, o l’espressione per nota. I profili possono anche servire ad applicazioni non musicali come i controller di illuminazione o le macchine industriali.

Il seguente video ha una dimostrazione di come funziona la configurazione dei profili.

ESEMPIO DI CONFIGURAZIONE DEI PROFILI

  • Definire un profilo per ogni strumento con una applicazione
  • Confermare la compatibilità prima/dopo l’attivazione del Profilo
  • Verificare che il profilo fuzioni sia tra PC-Strumento che Strumento-Strumento

1.3 SCAMBIO DI PROPRIETA’

Property Exchange è un insieme di messaggi System Exclusive (di proprietà) che i dispositivi possono utilizzare per scoprire, ottenere e impostare molte proprietà dei dispositivi MIDI stessi. Le proprietà che possono essere scambiate includono le impostazioni di configurazione dei dispositivi, una lista di patch con nomi e altri metadati, una lista di controller e le loro destinazioni e molto altro ancora.

Lo scambio di proprietà può consentire ai dispositivi di mappare automaticamente i controller, scegliere i programmi per nome, cambiare stato e fornire anche editor visivi alle DAW senza alcuna conoscenza preliminare del dispositivo o di un software appositamente realizzato. Questo significa che i dispositivi possono funzionare su Windows, Mac, Linux, IOS e browser web e possono fornire integrazioni più strette con le DAW e i controller hardware.

Property Exchange utilizza JSON all’interno dei messaggi System Exclusive. JSON (JavaScript Object Notation) è un formato leggibile dall’uomo per lo scambio di set di dati. L’uso di JSON espande il MIDI con un’area di potenzialità completamente nuova.

1.4 NEGOZIAZIONE DEL PROTOCOLLO 
La negoziazione del protocollo MIDI-CI consente ai dispositivi di scegliere tra il protocollo MIDI 1.0 o il protocollo MIDI 2.0. Due dispositivi che hanno stabilito una sessione MIDI-CI a 2 vie possono selezionare un protocollo e le caratteristiche di tale protocollo.
Il protocollo MIDI è il linguaggio del MIDI, o l’insieme di messaggi che il MIDI utilizza. L’ architettura e la semantica del MIDI 1.0 sono gli stessi del Protocollo MIDI 2.0. La compatibilità per la traduzione da/verso il protocollo MIDI 1.0 ha un’alta priorità nella progettazione del protocollo MIDI 2.0.
Il protocollo MIDI 1.0 e il protocollo MIDI 2.0 hanno molti messaggi in comune, messaggi identici in entrambi i protocolli. Il protocollo MIDI 2.0 estende alcuni messaggi MIDI 1.0 con una risoluzione più alta e nuove funzionalità. Ci sono messaggi definiti di recente. Alcuni possono essere utilizzati in entrambi i protocolli e altri sono esclusivi del protocollo MIDI 2.0.
MIDI 2.0 Protocollo

1.5 Protocollo MIDI 1.0, Protocollo MIDI 2.0 e il pacchetto universale MIDI

Il MIDI 2.0 utilizza un nuovo formato di pacchetto universale MIDI Packet per il trasporto dei messaggi di protocollo MIDI 1.0 e dei messaggi di protocollo MIDI 2.0. Un pacchetto Universal MIDI Packet contiene un messaggio MIDI composto da una a quattro parole a 32 bit.

MIDI 2.0 Packet 32bit 1-4 Parole

Il formato Universal MIDI Packet è adatto all’invio di dati MIDI su trasporti ad alta velocità come USB o una connessione di rete o tra applicazioni in esecuzione all’interno del sistema operativo di un personal computer.

Il tradizionale trasporto DIN a 5 pin da MIDI 1.0 utilizza un flusso di byte piuttosto che pacchetti. Al momento non si prevede di utilizzare il pacchetto Universal MIDI Packet sul trasporto DIN a 5 pin. A meno che questo piano non cambi, la DIN a 5 pin supporterà solo il protocollo MIDI 1.0.

1.5.1 Tipi di messaggio

I primi 4 bit di ogni messaggio contengono un tipo di messaggio. Il Tipo di messaggio è utilizzato come classificazione delle funzioni del messaggio.

MIDI 2.0 Message Types
MIDI 2.0 Messages in UMP – AB

1.5.2 Gruppi

L’Universal MIDI Packet trasporta 16 Gruppi di messaggi MIDI, ogni Gruppo contiene un set indipendente di messaggi di sistema e 16 canali MIDI. Pertanto, una singola connessione che utilizza l’Universal MIDI Packet porta fino a 16 gruppi di messaggi di sistema e fino a 256 canali.

Ognuno dei 16 Gruppi può trasportare sia il Protocollo MIDI 1.0 che il Protocollo MIDI. Pertanto, una singola connessione può trasportare entrambi i protocolli contemporaneamente. I messaggi MIDI 1.0 Protocol e MIDI Protocol non possono essere mescolati insieme all’interno di 1 Gruppo.

1.5.3 Timestamp di riduzione del jitter

Il formato Universal MIDI Packet aggiunge un meccanismo Jitter Reduction Timestamp. (Con Jitter si intende il fenomeno della irregolarità del clock in un segnale digitale).
Un Timestamp può essere preparato a qualsiasi messaggio di protocollo MIDI 1.0 o MIDI 2.0 per una migliore precisione di temporizzazione.

1.5.4 Protocollo MIDI 1.0 all’interno del pacchetto MIDI universale

Tutti i messaggi MIDI 1.0 esistenti vengono trasportati nell’Universal MIDI 1.0. Come esempio, questo diagramma della specifica del protocollo mostra come i messaggi MIDI 1.0 Channel Voice Messages sono trasportati in pacchetti a 32 bit:

MIDI 1.0 CVM in UMP 2

I messaggi di sistema, diversi da quelli del Sistema Esclusivo (System Exclusive), sono codificati in modo simile ai messaggi Chanel Voice. I messaggi di Sistema Esclusivo hanno dimensioni diverse, possono essere molto grandi e possono abbracciare più pacchetti MIDI universali.

1.5.5 Messaggi di protocollo MIDI 2.0

Il protocollo MIDI 2.0 utilizza l’architettura del protocollo MIDI 1.0 per mantenere la retro compatibilità e la facilità di traduzione, offrendo al contempo funzionalità estese.

  • Estende la risoluzione dei dati per tutti i messaggi Chanel Voice del canale
  • Rende alcuni messaggi più facili da usare aggregando combinazioni di messaggi un unico messaggio
  • Aggiunge nuove proprietà per diversi messaggi Chanel Voice del canale
  • Aggiunge diversi nuovi messaggi Channel Voice per fornire un maggiore controllo per nota e un’espressione musicale
  • Aggiunge nuovi messaggi di dati che includono System Exclusive 8 e Mixed Data Set. Il messaggio System Exclusive 8 è molto simile al System Exclusive MIDI 1.0 ma con formato dati a 8 bit. Il messaggio Mixed Data Set di dati misti è usato per trasferire grandi set di dati, inclusi i dati non-MIDI.
  • Mantiene tutti i messaggi di sistema uguali a quelli del MIDI 1.0.

Risoluzione ampliata e capacità ampliate

Questo esempio di messaggio MIDI 2.0 Protocol Nota On, mostra il potenziamento rispetto al  protocollo MIDI 1.0.
Il MIDI 2.0 Protocol Nota On ha una risoluzione più alta della Velocity. I 2 nuovi campi, Attribute Type e Attribute data field, forniscono spazio per ulteriori dati come l’articolazione o i dettagli dell’intonazione.

MIDI-2.0 Note On

Più facile da usare: Controllori registrati (RPN) e controllori assegnabili (NRPN)

La creazione e la modifica di RPN e NRPN con il protocollo MIDI 1.0 richiede l’uso di messaggi composti. Questi possono creare confusione o essere difficili sia per gli sviluppatori che per gli utenti. Il protocollo MIDI 2.0 sostituisce i messaggi composti RPN e NRPN con messaggi singoli. I nuovi Registered Controllers e Assignable Controllers sono molto più facili da usare.

Il protocollo MIDI 2.0 sostituisce RPN e NRPN con 16.384 Registered Controllers e 16.384 Assignable Controller che sono facili da usare come i messaggi Control Change.

La gestione di così tanti controller potrebbe essere ingombrante. Pertanto, i Registered Controllers sono organizzati in 128 Banchi, ognuno dei quali ha 128 controllori. Anche i Controllers assegnabili sono organizzati in 128 Banchi e ogni Banco ha 128 controllori.

I Registered Controllers e gli Assignable Controllers supportano valori di dati fino a 32 bit di risoluzione.

MIDI 2.0 Registered and Assignable Controllers

1.5.6 Messaggio di Program Change MIDI 2.0

Il protocollo MIDI 2.0 combina il meccanismo di Program Change e Bank Select del protocollo MIDI 1.0 in un unico messaggio. Il meccanismo MIDI 1.0 per la selezione di Banchi e Programmi richiede l’invio di tre messaggi MIDI. Il MIDI 2.0 modifica il meccanismo replicando il Banks Select e il Program Change in un nuovo messaggio MIDI 2.0 Program Change. Banchi e Program Change nel MIDI 2.0 si traduce direttamente in Banks and Programs in MIDI 1.0.

MIDI 2.0 Program Change con Bank Select

Nel MIDI 2.0 il messaggio di Program Change seleziona sempre un programma. Un bit Bank Valid (B) determina se un Bank Select viene eseguito anche dal messaggio.

Se Bank Valid = 0, il ricevitore esegue il Program Change senza selezionare un nuovo Bank; il ricevitore mantiene il Bank attualmente selezionato. I campi dei dati del Bank MSB e del Bank LSB sono tutti zeri.

Se Bank Valid = 1, il ricevitore esegue sia il Bank che il Program Change.

Altri flag di opzione non sono ancora definiti e sono riservati.

1.5.7 Nuovi messaggi di dati per il protocollo MIDI 1.0 e il protocollo MIDI 2.0

I nuovi messaggi di dati includono System Exclusive 8 e Mixed Data Set. Il messaggio System Exclusive 8 è molto simile al System Exclusive MIDI 1.0 ma con formato dati a 8 bit. Il messaggio Mixed Data Set di dati misti viene usato per trasferire grandi set di dati, compresi i dati non-MIDI. Entrambi i messaggi possono essere usati quando si usa il formato Universal MIDI Packet per il protocollo MIDI 1.0 o MIDI 2.0.

1.6 Il futuro del MIDI 1.0

MIDI 1.0 non viene sostituito. Piuttosto viene esteso e si prevede che continui, ben integrato con il nuovo ambiente MIDI 2.0. Fa parte dell’Universal MIDI Packet, il fondamentale formato di dati MIDI. Molti apparecchi MIDI non avranno bisogno di nessuna delle nuove caratteristiche del MIDI 2.0 per poter svolgere tutte le loro funzioni. Alcuni dispositivi continueranno ad utilizzare il protocollo MIDI 1.0 mentre altre estensioni del MIDI 2.0, come Profile Configuration o Property Exchange, continueranno ad utilizzare il protocollo MIDI 1.0.

1.7 E poi?

Esiste già un gruppo di lavoro USB-IF che sta lavorando su una specifica MIDI 2.0 USB. Si è tenuto un incontro al Winter NAMM con tutti i principali fornitori di sistemi operativi (Apple, Google e Microsoft), nonché con le società di DAW e di plugin.

Nel frattempo, MIDI 1.0 funziona molto bene. In realtà, MIDI 2.0 è qualcosa in più nel MIDI. Con l’arrivo di nuove funzionalità su nuovi strumenti, questi funzioneranno con i dispositivi e i sistemi esistenti. Lo stesso vale per la lunga lista di altre aggiunte fatte al MIDI dal 1983. Il MIDI 2.0 è solo una parte dell’evoluzione del MIDI che va avanti da 36 anni. L’evoluzione continua passo dopo passo.

Roland ha rilasciato un controller pronto per il MIDI 2.0 – A-88MKII

MIDI 2.0 Roland-a-88mk2

Le specifiche le puoi trovare sul sito Roland

tags

MIDI, MIDI 2.0

blog

ultime dal blog

Iscriviti alla newsletter

Cliccando su "Iscriviti" accetti la Privacy Policy (consultabile qui) e accetti di ricevere la newsletter di tutorial Video.IT.
Potrai cancellarti in qualsiasi momento tramite apposito il link presente sulla newsletter stessa.