Guide sur le protocole MIDI

Publié le 10/03/2020 par Alexandre Criado
Salut copain ! Ça y'est, tes bonnes résolutions de Janvier sont déjà toutes abandonnées tu digères tranquillement ta frangipane et tes crêpes devant ton site préféré, si on se remettait un p'tit dossier de vulgarisation technique ? Aujourd'hui, nous allons parler de quelque chose d'omniprésent dans le domaine des musiques amplifiées : le protocole MIDI. Même les irréductibles du tout analogique ont entendu parler de ce truc, et pourtant je suis prêt à parier que nombre d'utilisateurs, notamment dans le milieu guitaristique, ne savent aucunement les tenants et aboutissants de cette technologie, et parfois la sous exploitent alors qu'elle pourrait être la solution à bien des problèmes !

D'où que ça vient ? 

Comme traditionnellement nous allons commencer par un petit historique, qui va nous éloigner de la guitare pour nous rendre vers l'instrument le moins rock n'roll du monde : le SYNTHETISEUR ! *huées scandalisées* (rigolez pas, pour la petite anecdote dans les années 80 le synthé était le symbole même de la musique formatée et commerciale, au point que certains groupes de Hard/Metal faisaient figurer fièrement dans le livret de leurs disques la mention "NO SYNTHS OR KEYBOARDS USED ON THIS ALBUM" eh ouais.)

C'est au NAMM en 1981 que Dave Smith (Sequential Circuits), Ikutaro Kakehashi (Roland) et Tom Oberheim (Oberheim), trois concepteurs de synthés depuis entrés dans la légende, se mettent à réfléchir à une interopérabilité des instruments électroniques entre eux. En effet, dans l'idée, un synthétiseur est un appareil dont chaque touche est en gros un interrupteur qui envoie la commande "JOUE CETTE NOTE" à un circuit générateur de sons. Il est donc tout à fait possible d'envisager de normaliser cette commande pour qu'elle soit reconnue par tous les appareils !

Deux ans plus tard, toujours au NAMM Show, Kakehashi et Smith faisaient la démonstration publique de la communication entre un Jupiter 6 et un Prophet 600, le Musical Instrument Digital Interface (MIDI) était né ! Au fil des années, le protocole de communication s'est développé avec des fonctions sur lesquelles nous reviendrons, et il est devenu aujourd'hui un standard géré par l'International Midi Association (IMA). Cette gestion permet bien évidemment d'éviter qu'un industriel s'approprie des évolutions du protocole et que celui-ci reste universel.

Comment que ça marche ?

On va essayer de faire simple copain, t'inquiète. Parce que je sais que si je commence à expliquer à quel point le MIDI est quelque chose qui, dans les ingénieries, se situe quelque part entre l'automatisme et l'informatique, certains d'entre vous vont se rouler en boule dans un coin en tremblotant, réclamant du jus de Hiwatt vintage analogique en intraveineuse.

Donc déjà, oui c'est proche de l'informatique mais en BEAUCOUP PLUS SIMPLE. Si tu en es à un niveau où tu ne te lèves pas pour "ouvrir la fenêtre", si tu n'essaies pas de parler dans la souris ou de la pointer sur l'écran, ça devrait aller. A peu près.

Donc comme je disais plus haut, le principe de base du MIDI est celui de la communication entre une interface homme/machine que l'on appellera CONTROLEUR, et la machine elle-même, qui sera donc un instrument ou un processeur, qu'il s'agisse d'un effet, d'un synthé, d'un amplificateur ou même d'un logiciel dans un ordinateur. 

En actionnant le contrôleur (appui sur une touche de clavier, un foot switch, action sur une molette, un joystick, une pédale d'expression) l'utilisateur envoie un ordre à exécuter à la machine, dans un langage codé de manière spécifique qui est le fameux protocole MIDI. La machine décode le langage et exécute l'ordre.

Exemple : Jean-Michel Genre, claviériste de Johnny Duschnol, active un son d'orgue, règle son volume, et plaque un Mi majeur en actionnant sa pédale de sustain. Son "contrôleur" envoie au générateur de son les messages suivants :

 - Program Change : Charge sonorité numéro XXX
 - Control change numéro XXX (volume) : prend la valeur XXX
 - Joue la note MI
 - Joue la note SOL DIESE
 - Joue la note SI
 - Control change numéro XXX (sustain) : prend la valeur XXX

Tu commences à saisir un peu le principe ? Alors évidemment, en guitare, on ne va pas (ou très peu) se servir des messages de note, plutôt des autres types de contrôleurs, que l'on va détailler un peu plus loin. Mais avant ça, je voudrais te parler quand même d'une autre fonction révolutionnaire : le séquenceur. 

En effet, puisqu'on peut envoyer un message à la machine pour lui dire quelle note jouer, sur quel instrument, à quel volume etc., pourquoi ne pas donner à la machine un tempo, et lui faire exécuter une partition complète ? C'est le principe du séquenceur, dont le MIDI, l'électronique numérique et l'informatique ont révolutionné les possibilités et l'usage. Deux ans après la présentation du MIDI au NAMM sortait d'ailleurs l'ordinateur Atari ST, le premier au monde doté d'une interface MIDI, et un an plus tard Steinberg y intégrait PRO 24, un séquenceur audionumérique à 24 pistes ancêtre du maintenant célèbre Cubase.  

Allez je sens que tu en as marre. On revient à la guitare ? On revient à la guitare !

A quoi que ça me sert ?

Evidemment les années 80 en guitare, c'est l'avènement des effets numériques, des multi-effets, et du matériel en rack. Et d'aucuns se sont dit que bah tiens, le protocole MIDI pouvait être bien bien cool pour déclencher depuis un pédalier de contrôle ce qu'on voulait dans la grosse boiboite pleine d'électronique qui trônait en fond de scène. Bien évidemment Boss étant une succursale de Roland, ils ont très vite implémenté le protocole sur leurs machines, mais également certains guitar-techs de l'époque comme le célébrissime Bob Bradshaw ont créé leurs propres contrôleurs, ainsi que ce que l'on appelle maintenant les switchers/loopers, machines capables de patcher et de switcher amplis et effets analogiques via MIDI.

 Le Custom Audio Electronics RS10 et son expandeur, 12 kilos de technologie à l'ancienne qui a équipé tous les gratteux mythiques des années 80/90.

Donc, que va pouvoir faire ton contrôleur ? Il va pouvoir :

 - Appeler des presets
 - Activer des modules d'effets, des switches analogiques, des boucles
 - Modifier des paramètres en temps réel

C'est à peu près tout en ce qui concerne l'usage avec ton instrument favori, mais c'est déjà beaucoup ! Après certains contrôleurs sont limités dans leur usage alors que certains vont bien au-delà de notre usage, on verra ça aussi.

La technologie aidant, les possibilités des machines et leur miniaturisation sont allées croissant. Toutefois le protocole MIDI en lui-même est resté identique, toujours dans un souci d'universalité et de simplicité, n'importe quel contrôleur devant être capable de dialoguer avec n'importe quelle machine. Ainsi, que l'on pilote un AXE FX III avec un énorme pédalier RJM ou une bonne vieille réverbe Yamaha REV100 avec un vieux contrôleur ART X11, le principe est exactement le même ! Principe que nous allons décortiquer un petit peu, va te rechercher une aspirine, courage, car le chapitre suivant est un peu essentiel, il décortique tout ce que tu as besoin de savoir lorsque tu vas te plonger dans la programmation de ton rig !

Comment que je fais ?

Pour commencer, sache juste (on va passer rapidement sur le sujet) que si certaines valeurs max des paramètres MIDI peuvent te sembler aléatoires (16,127, 255, pourkoiiiiii) c'est parce que les informations d'un message midi sont codées sur deux OCTETS, un octet étant un ensemble de 8 données binaires (0 ou 1) nommées BITS.

Là ça fait tilt dans ta tête et tu commences à voir le rapport avec l'informatique. Et à comprendre que si dans l'informatique moderne pour le moindre bidule on parle de Giga-octets (un milliard d'octets donc, fallait suivre en cours de physique), le MIDI avec ses transmissions à deux octets est extrêmement simple.

Et donc pour revenir sur nos fameux paramètres, chaque bit peut avoir deux valeurs, 0 ou 1, ce qui fait que selon le nombre de bits utilisés pour le dit paramètre, le nombre de valeurs différentes possibles sera toujours une puissance de 2. 2 pour 1 bit, 4 pour 2 bits, 8 pour 3 bits, etc.... Jusque 256 (0 à 255) pour un octet entier.

OK, j'ai perdu la moitié de la classe là, donc je vais commencer à abréger avant qu'il y ait des neurones éparpillés partout. Donc bref, un message MIDI, sur deux octets (2x8 bits, un point fayot pour ceux qui ont suivi), va comprendre trois types de données, et là on rentre dans le vif du sujet (qui a dit ENFIN ?)

1 - Le Canal MIDI

Afin d'éviter la confusion entre toutes les machines, le protocole MIDI comporte 16 canaux (Channel en anglais). Pour qu'une machine et un contrôleur dialoguent, il faut s'assurer qu'ils le fassent sur le même canal, comme avec un Talkie-Walkie. Cela peut sembler inutile sur des rigs simples, mais sur un gros rack avec 10 machines, peut-être que par exemple on voudrait que la pédale d'expression ne dialogue qu'avec le préampli, et que tel changement de programme ne s'applique qu'au processeur de réverbe. Dans ce cas-là, on assignera un canal MIDI spécifique à chaque machine avant de programmer le ou les contrôleurs.

 

Pour l'avoir fait plus d'une fois, c'est certes laborieux, mais cela assure une lisibilité du système, c'est comme classer sa paperasse au fond ! 

Après encore une fois, il n'est pas INDISPENSABLE que CHAQUE machine ait son propre canal MIDI. Si sur un système simple avec des presets simples, on a envie que toutes les machines changent de preset en même temps, elles peuvent toutes recevoir le message de PC sur le canal 1.

A noter qu'il existe une fonction sur la plupart des appareils qui s'appelle OMNI, et qui permet au dit appareil de recevoir ou d'envoyer ce qui se passe sur l'ensemble des 16 canaux disponible.

2 - Le type de message MIDI

Maintenant que les appareils savent qui doit dialoguer avec qui (et ils sont pas pénibles sur le sujet, on n'a jamais vu un multi-effets dire à un delay devant une pédale d'expression "quoiii c'est qui celle-là, pourquoi tu lui parles vas-y t'as vu comment elle montre ses prises jack ste vache tu dors sur le canap ce soir"), il va falloir que le récepteur sache quel type de message le contrôleur lui envoie, il va donc lui dire.

Les type de message les plus courants sont :

 - Program Change
 - Control Change
 - Note ON
 - Note OFF
 - Aftertouch
 - Pitch Bend

Bien entendu, les 4 derniers concernent plus l'usage d'instruments électroniques et donc, à part dans le cas des guitare synthés, ne nous concernent pas vraiment. Nous allons revenir sur le détail des deux premiers aux chapitres suivants !

3 – La valeur de donnée

Enfin, maintenant que le dialogue et le type de message sont établis entre les machines, reste à définir la valeur du message, dans l'octet de donnée. Selon le type de message, il s'agira de deux messages pouvant aller de 0 à 127, ou un seul pouvant aller de 0 à 254.

EXEMPLE :

Jimmy John Bidochon passe en Lead (preset 115 de son Lexicon, sur le Canal MIDI 12) et joue de sa Wah MIDI sur son Digitech (CC 7, Canal MIDI 16).

MESSAGE 1: 1er octet (j'envoie un message de PC sur le canal 12) 2e octet (la valeur du PC est 115)

MESSAGE 2: 1er octet (j'envoie un message de CC sur le canal 16) 2e octet (le numéro du CC est 7, la valeur du CC est comprise entre 0 et 127 selon la position de la pédale d'expression)

OK, maintenant qu'on a compris la teneur des messages (enfin j'espère, sinon ben relis !), allons donc explorer en détails les deux types de messages qui vont te concerner.

Changement de programme !

Le Program Change (ou PC) est bien entendu le plus utilisé et courant, il peut donc appeler un total de 255 presets différents, si tant est bien entendu que la machine destinataire en ait autant de disponibles. La répartition des presets en banques, groupes etc... est interne à chaque contrôleur et n'a pas d'influence sur la nature du message envoyé. Il existe pour cela, sur les machines évoluées, ce qu'on appelle le MIDI Mapping et qui permet de faire correspondre à chaque message de PC reçu un preset de la machine. Il est tout à fait envisageable d'affecter plusieurs PC différents à un même preset. 

EXEMPLE :

Johnny Duschnol a trois presets sur son pédalier MIDI :

 1. Rythm avec le son saturé sur son Marshall JMP1 et une légère réverbe sur son GX700
 2. Lead avec le son saturé sur son Marshall JMP1 et un gros delay sur son GX700
 3. Clean avec un son clean sur son Marshall JMP1 et garder le même preset que précédent sur le GX700

Il a affecté le JMP1 au canal MIDI n°1 et le GX700 au n°2. Le saturé est sur le preset 2 du JMP1 et le clean sur 1, tandis que le preset Reverb du GX700 est en preset 15, et le delay disons en preset 21.

Ce que fait le contrôleur par preset :

 1. Envoie Program change 1 sur canal MIDI 1 et 2
 2. Envoie Program change 2 sur canal MIDI 1 et 2
 3. Envoie Program change 3 sur canal MIDI 1 uniquement

Mapping du JMP1 :

 1. Activer preset 2 si je reçois Program change 1 ou 2
 2. Activer preset 1 si je reçois Program change 3

Mapping du GX700 :

 1. Activer preset 15 si je reçois Program Change 1
 2. Activer preset 21 si je reçois Program Change 2

Voilà. Alors on est ici sur un cas typique de mapping complexe, où toi ou ton guitar tech avez plutôt intérêt à prendre des notes et où le nom des presets de chaque machine a intérêt à être plutôt parlant ! Mais soyons clairs, faute d'en avoir besoin, 80% d'entre vous ne feront jamais de mapping et se contenteront d'appeler le preset 1 avec le switch 1, et ainsi de suite, le plus simple étant toujours le mieux.

Et le contrôle continue...

Le Control Change est le second type de message qui va particulièrement nous intéresser. Il s'agit cette fois-ci non pas de changer de preset, mais d'appliquer des modifications en temps réel à des paramètres spécifiques de la machine de destination à l'intérieur du preset chargé (volume de réverbe, vitesse de modulation, activation de wah par exemple), ou sur un paramètre global de la machine qui agira peu importe le preset (Tap tempo, Master volume, Bypass...). 

L'octet de données du Control Change (ou CC) est séparé en deux, la première partie définissant le numéro du CC (de 0 à 127) et la seconde sa valeur (de 0 à 127 également)

Sur certains contrôleurs, on peut affecter librement des CC à des switches ou des pédales, d'autres ont des valeurs fixes, et l'assignation se fera au niveau de la machine recevant les messages. Le nombre et la nature des paramètres assignables dépend de la machine. Certains vieux processeurs comme le Yamaha SPX ne reconnaissent même pas les CC, alors que sur les processeurs récents on peut appliquer une grosse quantité de CC sur à peu près tous les paramètres.

EXEMPLE : 

Johnny Duschnol a un pédalier FC-50 dont les control change sont fixes, il souhaite contrôler le volume global de son G-Major avec une pédale d'expression, et pouvoir activer/désactiver d'un switch le Delay, peu importe le preset sur lequel il est.

Sur le FC-50, les assignations sont fixes, sa pédale d'expression sera donc le CC #7 et son switch le CC #80. Dans le menu MOD du G-Major, il va affecter le CC #7 au "global out lev" et le CC #80 au DLY ON/OFF. A noter que certaines machines comme le G-Major ont une fonction "learn" qui assigne automatiquement le contrôleur que l'on active au paramètre en cours... Ça peut faire gagner pas mal de temps !

Ceux qui arrivent encore à suivre auront compris que grâce aux CC, l'accès instantané à des paramètres d'un processeur peut devenir aussi efficace que sur de simples pédales, moyennant un peu de temps passé en programmation. J'ajouterais d'ailleurs que rien n'empêche, au-delà du classique pédalier de contrôle, d'ajouter un contrôleur à boutons orienté studio/DJ pour avoir à sa portée de vrais boutons "à l'ancienne".

Bon c'était long tout ça, il reste des choses à dire mais va te prendre un café copain, tu l'as bien mérité. Et puis, on va passer à la partie qui va plaire au vilain GASer que tu es !

Le repas du MIDI

Ça y'est tu as tout bien compris, tu sais que tu veux te lancer dans la belle aventure d'un rig MIDI, et je te vois déjà le pointeur de souris se diriger vers l'icône "finaliser la commande"... Attends quelques minutes, qu'on t'évite de gaspiller des sous !

Les Câbles MIDI

Si tu as bien suivi, il ne passe dans un câble MIDI que quelques octets d'information, aucun signal audio, et rien du tout tant que tu n'actionnes aucun contrôleur... Tu sais ce que ça veut dire ? C'est que mettre une fortune dans ce câble n'a aucun sens. D'ailleurs contrairement aux câbles audio, même en fouinant bien tu auras du mal à trouver des trucs à plus de 30€ ! Seule la solidité du matériel sera donc à surveiller, mais j'aime autant te dire que dans 90% des usages, du câble à 5€ les 6 mètres sera parfait, au pire à ce prix tu achètes un câble de rechange que tu mets dans le gig bag au cas où.

Seule exception, certaines machines dont le dialogue avec le pédalier approprié se fait dans les deux sens, et/ou cas où la machine alimente le pédalier via le câble ! On pensera par exemple aux Digitech GSP et aux pédaliers Control One/2, ou alors au vieux matériel de chez Rocktron. Dans ces cas, il sera important de choisir des câbles MIDI pour lesquels il est expressément précisé que les 5 broches sont câblées. En effet, un signal MIDI n'utilisant que 3 broches du connecteur DIN habituellement, certains fabricants de câbles, dans un souci d'économie, ne connectent pas les autres.

Le GSP1101 alimente son pédalier et lui envoie les données d'accordeur et de nom de preset via un câble MIDI à 5 broches utilisées

Les pédaliers

Alors là, c'est le gros morceau, car il existe de TOUT. Du contrôleur ultra-compact à 40 balles d'occase jusqu'au monstre de tournée à 1800€ le morceau. Donc il va falloir se poser les bonnes questions :

 - Pour tourner, répéter, garder à la maison ? Certaines machines ne sont pas avares de fonctionnalités, mais ont des foot switches qui supportent mal un usage répété, intensif ou brutal. De même que certains contrôleurs trop compacts seront difficiles à gérer sur scène. D'autres seront au contraire bien trop gros/lourds/chers pour faire des aller retours entre ton salon et le petit bar du coin...
 - De quelles fonctions ai-je besoin, et avec quel accès ? Inutile d'avoir un contrôleur avec 16 footswitches pour appeler 4 presets et juste gérer le tap tempo. Egalement si vous souhaitez gérer à la fois des PC et CC, certaines machines ont des rangées de PC et des rangées de CC, d'autres peuvent passer d'un mode à l'autre... Prenez le temps d'éplucher les fiches techniques des produits et de vous assurer qu'ils vont bien correspondre à vos usages !
 - Quelles fonctions annexes ? Alimentation fantôme, par pile, écrans rétroéclairés, affichage du nom du preset, programmation par USB et j'en passe... Certains pédaliers sont à deux doigts de te cirer les pompes quand tu les poses dessus tellement ils sont complets. A toi de voir si les fonctions de certaines machines seront un pur gadget pour toi, ou si elles te changeront la vie.

Rapidement je vais te citer quelques machines qui à mon goût font la différence et sont des valeurs sûres sur un marché bien saturé :

 - Behringer FCB-1010. Le meilleur rapport fonctionnalités/prix, sait tout faire pour moins de 150€, par contre un peu fragile sur la durée, et c'est une plaie à programmer.
 - Boss FC-50/ Roland GFC50. Le meilleur qualité/prix des pédaliers compacts. Ne se trouve que d'occase mais pour un tarif ridicule, extrêmement solide, alimentation par pile, très simple d'utilisation, pas de programmation possible par contre, les numéros de CC sont fixes et tout mapping devra être fait à partir de la machine destinataire!
 - Rocktron All Access/MIDI Raider. Le All Access et son successeur le MIDI Raider sont parmi les moins chers des pédaliers de tournée pro, sans pour autant être les moins bien fabriqués. Ils sont complets et faciles à programmer.
 - RJM Mastermind GT. Pour moi, le top de ce qui se fait actuellement, taillé pour la route, avec des écrans LCD multicolores et rétroéclairés pour chaque switch, un paramétrage complet, total et intuitif. Bien entendu, cette perfection se paie !

Du plus petit...

AU PLUS GROS

Les utilitaires

 Il existe bon nombre de petits boîtiers utilitaires notamment pour les rigs complexes et/ou pour les musiciens aventureux qui veulent avoir des possibilités de contrôle plus complexe. On citera les plus importants :

 - Le MIDI Merger, boîtier permettant de recevoir sur une machine les informations de plusieurs contrôleurs différents. On peut imaginer par exemple un pédalier et un contrôleur manuel, ou comme pour certains pros, un pédalier sur l'avant-scène et un autre à la portée du guitar-tech.
 - Le MIDI-Thru ou MIDI Splitter, qui reproduit le message du contrôleur vers plusieurs appareils. Utile dans les gros rigs, car chaîner plus de 3-4 appareils peut poser des petits problèmes de latence ou de perte de données.
 - Les MIDI Switchers et Loopers, permettant d'activer ou d'insérer dans le signal des appareils non MIDI.

Je vous encourage pour plus de détails à aller voir le site de constructeurs spécialisés comme MIDI solutions, Prostage, RJM... pour découvrir un peu toutes ces petites machines.

Conclusion...  MIDI ou 14 heures ? 

Ouf ! Nous voici enfin à la fin d'un thème fleuve, mais qui à mon humble avis valait le coup d'être développé, car certes, il y a beaucoup de chiffres, certes il y a un apprentissage derrière et il est loin d'être ludique. Cependant, connaître le MIDI, c'est être capable de tirer la substantifique moelle de machines parfois très puissantes dans des contextes de scène ou de création. Peut-être que la majorité d'entre vous n'en aura que faire, mais pour les autres, c'est un monde qui s'ouvre... Alors pourquoi s'en priver ?

Allez... Va te reposer les neurones, bois-donc une bière à ma santé et bon jam !  

Articles similaires :

Le 27 Septembre 2004

Sur les forums