MIDI à sa porte

Si vous vous intéressez un tant soit peu à la musique, électronique ou non, vous avez sans doute été confronté, à un moment ou un autre, à cet acronyme : le MIDI. Pour les musiciens, le MIDI n’est ni un repas, ni une région du sud : c’est un état d’esprit.

Penser la musique en termes de MIDI peut parfois changer radicalement notre conception de la musique, c’est pourquoi il est important de bien comprendre cet univers. Dans cet article, un peu de technique, que je simplifie un peu puisque ça n’est pas le cœur du sujet.

Fonctionnement

MIDI est un acronyme signifiant Musical Instrument Digital Interface, et conçu en 1982 – c’est pas tout jeune. Il s’agit, en termes techniques, d’un protocole d’échange de données de contrôle, conçu spécialement pour la musique, permettant à deux périphériques d’échanger des données. Ce protocole, c’est-à-dire cette convention établie dans le milieu de la musique, permet à deux instruments de se comprendre rapidement et parfaitement en échangeant le moins de données possibles. En gros, tout le monde s’est mis d’accord pour dire que, quand on envoie un message MIDI, ça ressemble à ça :

10010001 00011000 00100000

Et tout le monde sait ce que ça veut dire. Ça nous avance bien, hein ? Bon.

Avant tout, le MIDI est un protocole numérique, c’est-à-dire que les messages sont constitués de 1 et de 0 envoyés les uns après les autres, en série. Traditionnellement, on les regroupe par paquets de 8. Vous l’aurez compris, la suite de l’article fera référence au code binaire. Un petit coup d’œil sur ce lien vous aidera à comprendre un peu mieux la suite de l’article :

http://eskimon.fr/89-arduino-102-quelques-bases-elementaires#559277

Dans un message MIDI, la structure est normée, donc toujours la même. Les 4 premiers chiffres indiquent le type de message envoyé : il peut s’agir de jouer une note donnée (note on, 1001), arrêter de jouer une note (note off, 1000), commande de contrôle (CC, 1011) ou commande de programme (PC, 1100), et quelques autres déclinaisons ésotériques. Un message MIDI débute systématiquement par un 1, indiquant le début du message. Dans l’exemple plus haut, il s’agit un message de type Note On (1001).

Les quatre suivants indiquent le numéro du périphérique à qui le message s’adresse, entre 1 et 16 : l’idée est qu’un même message peut être envoyé à 16 périphériques, mais seul l’appareil concerné réagira. Dans l’exemple, le message est adressé au canal 1 (0001).

Le chiffre suivant est nécessairement un 0 ; les 7 chiffres suivants indiquent la hauteur de la note, avec 128 notes possibles (pour un CC ou un PC, il s’agit simplement d’un numéro de paramètre ou de programme). Dans l’exemple, 00011000 correspond au nombre 24, soit un Do1 en convention MIDI.

La convention MIDI pour les notes est résumée dans ce tableau :

tables of note names, frequencies, midi numbers and piano keys(source : http://newt.phys.unsw.edu.au/jw/notes.html)

Enfin, on retrouve un 0, puis les 7 derniers indiquent la vélocité, c’est-à-dire la vitesse à laquelle la note est attaquée, avec 128 nuances possibles (pour un CC, c’est juste la valeur du paramètre). Les PC et CC sont systématiquement interprétés par le receveur comme des modifications de certains paramètres du son (filtres, effets, etc. sans aucune limitation !). Dans l’exemple, la vélocité (00100000) vaut 32.

Une liste exhaustive des messages est disponible sur le site officiel du MIDI, à l’adresse suivante (en anglais) :

http://www.midi.org/techspecs/midimessages.php

Tout ceci peut sembler abstrait, mais dans la pratique, c’est beaucoup plus simple ! Aucun musicien ne pense avec des 1 et des 0, bien sûr.

Lorsque j’utilise un clavier maître relié à mon ordinateur, et que j’appuie sur une touche (mettons un ré), l’ordinateur joue un son. Ce son est un ré, avec une intensité dépendant de la vitesse avec laquelle j’ai enfoncé la touche. Idem lorsque je relâche la touche. Et voilà, c’est le MIDI ! Les messages échangés entre le clavier maître et l’ordinateur suivent la structure décrite plus haut, mais tout cela est absolument transparent pour l’utilisateur. Pour autant, connaître le contenu des messages ouvre de nombreuses possibilités, comme nous le verrons plus loin.

VRAI ou FAUX n°1 : Le MIDI permet-il de transmettre du son ?

Et bien non, le MIDI ne transmet pas de son, mais seulement des informations sur les notes à jouer. On parle souvent de sons MIDI, comme étant des sons peu réalistes, de mauvaise qualité, etc. On fait en fait référence aux premiers expandeurs (les appareils qui émettent, à partir d’un signal MIDI, des sons avec les hauteurs et vélocités correspondantes), qui datent des années 80, aux possibilités très limitées, et qui ont contribué à ce lieu commun.

VRAI ou FAUX n°2 : Le MIDI est-il un format de connectique ?

Il vrai qu’à l’origine, les synthétiseurs des années 80 répondant à la norme MIDI disposaient de connecteurs standardisés de type DIN 5 broches. C’est toujours le cas aujourd’hui, mais on trouve également des périphériques USB, Ethernet, ou même en Wi-Fi ou Bluetooth : le point commun est que la structure des messages échangés reste la même, quelle que soit la connectique employée.

La connectique DIN 5 broches (crédits : looperman.com)

Applications

A l’origine, le MIDI permettait l’échange entre un clavier maître, émettant uniquement du MIDI, et un expandeur, qui transforme ces messages en sons. La norme MIDI avait alors permis l’utilisation de nombreux périphériques différents, par des constructeurs variés, et pouvant communiquer simplement et rapidement, avec une approche modulaire : à chaque musicien de se constituer son assemblage de claviers, d’expandeurs, de synthétiseurs, séquenceurs, etc. Parallèlement à cela, deux appareils peuvent synchroniser leurs tempos par MIDI – on parle alors de la synchronisation d’horloge ; l’un des deux appareils doit être le maître (master), qui indique une pulsation précise à l’esclave (slave), afin que les deux appareils soient en rythme à coup sûr.

De nos jours, la quasi-totalité des appareils destinés à la Musique Assistée par Ordinateur utilise le protocole MIDI. Qu’il s’agisse du Launchpad S de Novation, des claviers maîtres Roland, des surfaces de contrôle de Keith McMillen et j’en passe, tous ces appareils envoient à l’ordinateur des messages MIDI, et en reçoivent même parfois.

Le contrôleur OHM RGB de Livid Instruments. Oui oui, ça aussi, c’est du MIDI. (cérdits : Livid Instruments)

C’est ensuite à l’ordinateur d’interpréter ces messages. Et c’est là que ça devient drôle ! Parce que l’ordinateur est capable de toutes les folies. Jouer un sample de Mariah Carey quand on lui envoie un La4 ? Facile. Ouvrir un filtre passe-bas avec le message de commande 24 ? Ca roule. Ou même : changer la couleur d’un spot lumineux en fonction de la vélocité d’une note ? Easy. Tout est possible… Il s’agit juste de ne pas se perdre !

Prenons le cas du Launchpad S de Novation, comme dans cette vidéo. J’insiste sur le S, qui est la seconde version de ce contrôleur : la première version, présentée dans la vidéo et au fonctionnement similaire, utilisait un protocole non standard d’échange de données (ah, capitalisme, quand tu nous tiens). Ce contrôleur très en vogue, avec ses 64 +16 boutons rétro-éclairés de trois couleurs, semble complexe… Et pourtant, ça n’est que du MIDI de 1982 !
Chaque pad envoie un message MIDI de type Note On (1001) quand il est enfoncé, et Note Off (1000) quand il est relâché ; chaque pad a sa hauteur de note qui lui est propre. Les pads ne sont pas sensibles à la vélocité, les messages transmis sont donc “full velocity” (01111111). La rangée supérieure envoie des messages de type CC, avec un numéro de paramètre pour chaque bouton et une valeur de 127 (0111111).

Tout le traitement est en réalité géré par le logiciel (Ableton Live, pour ne pas le citer). C’est lui qui modifie l’éclairage des boutons, qui permet de lancer des samples, des boucles, des scènes, des sons de batterie, voire de modifier des paramètres (colonnes rouges…). La couleur des pads est adressée de manière simple : le Launchpad reçoit, en provenance du logiciel, des messages MIDI de type Note On et Off. La hauteur de la note indique le pad à éclairer, et la vélocité indique la couleur. Pas con, hein ?

La complexité du contrôleur, permettant des fonctionnalités très, mais alors très étendues, dépasse de loin le cadre du MIDI original. Ces fonctionnalités ne sont permises que par un travail étroit entre les concepteurs du contrôleur et les développeurs du logiciel : pendant très longtemps, le Launchpad ne pouvait être utilisé qu’en conjonction avec Ableton Live. On voit bien qu’on est loin d’un simple échange de notes à jouer, alors que le protocole est strictement identique depuis 1982…

Et après ?

Le protocole MIDI a soufflé ses 33 bougies cette année. Ne serait-il pas temps de penser à la suite ? Le successeur s’appelle OSC, pour Open Sound Control. Les messages sont alors structurés comme des valeurs numériques envoyées à des adresses URL (donc du texte). L’URL, ça n’est pas seulement une adresse Internet : c’est simplement une manière d’écrire des adresses en catégories et sous-catégories, avec des slash comme séparateurs. Ca peut donner quelque chose du type :

/synth/filter/frequency 2500      ou       /drums/snare 120

Tandis que, dans le MIDI, la structure est rigide, l’OSC permet à deux périphériques de se mettre d’accord sur la structure à suivre, ainsi que sur les plages de valeurs. L’ensemble est plus lisible pour l’humain, plus rapide, et plus flexible. L’OSC est destiné à des périphériques numériques puissants, pouvant décoder des URL : peu de chances de les voir apparaître dans des synthétiseurs hardware d’entrée de gamme avant bien longtemps. En revanche, les logiciels dédiés exploitent déjà largement ce protocole, sur ordinateur, iPad, Android, etc.

Le MIDI va-t-il pour autant être remplacé par l’OSC ? J’en doute. Parce que, si le MIDI est encore LE standard de communication numérique en musique, c’est par sa simplicité de mise en oeuvre et sa stabilité ; des qualités qu’on ne retrouve pas toujours dans l’OSC.

Voilà qui termine cet article sur le MIDI et ses applications. Étant donné qu’on le retrouve absolument partout en musique, il me semblait crucial d’établir des bases sur le sujet, pour que tout le monde s’y retrouve. N’hésitez pas à laisser vos remarques, questions et autres en commentaire !

Le Paugator.

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s