Electronique > Bases > Routage MIDI

Dernière mise à jour : 30/05/2010

Présentation

Le présent article décrit deux méthodes permettant de router des informations MIDI depuis un ensemble d'entrées vers un ensemble de sorties. Il ne décrit pas comment mélanger des informations MIDI provenant de plusieurs sources pour les envoyer vers une unique sortie, ce rôle de mélange est généralement confié à un Merger MIDI. Seule la notion de routage (d'aiguillage) est vraiment abordée. Les deux méthodes dont il est question ici mettent en oeuvre soit des relais électromécaniques, soit des circuits intégrés logiques.

Préambule

Que nomme-t-on au juste routage ou aiguillage d'informations MIDI ? La simple (ré)orientation des données arrivant sur une entrée MIDI vers une sortie MIDI. Dans le principe, on peut très bien n'avoir qu'une fonction de sélection d'une seule entrée MIDI vers une ou plusieurs sorties, ou une sélection d'une unique sortie vers une entrée parmi d'autre. On peut aussi disposer de plusieurs entrées et de plusieurs sorties, et dans ce cas on dispose d'une grille. Une sortie MIDI ne peut pas être raccordée en même temps sur plusieurs entrées MIDI, ce qui constitue une contrainte forte pour router de façon purement passive (sans électronique) une source MIDI vers plusieurs récepteurs MIDI (un clavier maître MIDI vers deux expandeurs en même temps, par exemple). Dans la pratique, il est possible de contourner le problème en exploitant la sortie MIDI dupliquée présente sur une grande majorité d'appareils MIDI (prise MIDI THRU) ou en ajoutant un distributeur MIDI, mais ces deux solutions ne résolvent pas le problème du routage. La même contrainte existe pour la mise en parallèle de plusieurs source MIDI vers une seule entrée MIDI (deux claviers maîtres vers un seul expandeur par exemple), qui est également impossible si on reste dans le domaine du tout passif. En résumé, le routage purement passif (avec des relais, des interrupteurs ou avec un patchbay constitué de plusieurs prises DIN et des cordons qui vont avec) permet uniquement de raccorder une seule sortie MIDI vers une seule entrée MIDI. Il est important d'assimiler cette contrainte car elle conditionne le choix du système de distribution ou de routage MIDI, en fonction de ses propres besoins.
En résumé :
- pour faire de la distribution MIDI (par exemple un clavier maître MIDI vers deux ou trois expandeurs MIDI) on peut utiliser les prises MIDI THRU des équipements MIDI récepteur - si elles existent bien sûr - ou ajouter un distributeur MIDI (style une entrée et quatre sorties, exemple).
- pour faire du mélange MIDI (par exemple pour orienter des données MIDI issues de deux claviers maîtres vers un seul générateur de son MIDI) il faut utiliser un équipement électronique spécial qui s'appelle merger MIDI et qui comporte un microcontrôleur pour la gestion des données entrantes. Pour mélanger des données MIDI qui n'arrivent pas en même temps, vous pouvez utiliser un "mélangeur actif sans intelligence" (exemple).
- pour faire du routage MIDI, vous pouvez lire les lignes qui suivent.

Routage, vue générale

Le synoptique suivant montre comment les choses sont simples en fin de compte. Il représente une grille de commutation dotées de 4 entrées (In1 à In4) et de 4 sorties (Out1 à Out4). Les carrés qui se trouvent au croisement d'une ligne verticale et d'une ligne horizontale désignent un point de connexion.

selecteur_008_syno_4x4_001a

Dans ce cas précis, l'entrée In1 est routée vers la sortie Out1, In2 vers Out2, In3 vers Out3 et In4 vers Out4. Le synoptique suivant montre la même grille mais avec des points de connexion différents (ce n'est pas un accord de guitare, il manque des cordes).

selecteur_008_syno_4x4_001b

Les entrées ne sont plus routées vers les sorties de même rang (ou index) et l'entrée In3 se retrouve "en l'air", puisque connectée à aucune sortie. Voyez cela comme un cordon dont une extrémité serait reliée à la sortie d'un clavier maître et dont l'autre extrémité ne serait reliée à rien du tout. Tel que, le routage est autorisé, on exploite simplement trois sources sur les quatre disponibles. Le synoptique de routage qui suit pose un problème car  les deux entrées In1 et In2 aboutissent toutes deux sur la même et unique sortie Out1.

selecteur_008_syno_4x4_001c

Or, il est interdit de raccorder deux sorties MIDI ensemble, même si les deux sources MIDI n'envoient pas de données au même moment. Le routage représenté sur le synoptique suivant est également problématique, cette fois ce sont plusieurs sorties MIDI qui se retrouvent en parallèle sur la même et unique entrée In3. Ce qui est également interdit.

selecteur_008_syno_4x4_001d

Pour résumer, on peut placer les points de connexion (carrés bleus) où on veut, à contition qu'on ne trouve qu'un seul carré sur chaque ligne horizontale ainsi que sur chaque ligne verticale. Le schéma qui suit montre une possibilité de routage avec des interrupteurs. Chaque interrupteur représente un carré - point de connextion - quand il est fermé.

selecteur_008_syno_4x4_002a

On retrouve sur ce schéma la configuration de routage vue sur le premier synoptique avec les carrés bleus : In1 vers Out1, In2 vers Out2, In3 vers Out3 et In4 vers Out4. Dans le cas d'un routage MIDI, on ne peut pas se satisfaire d'un interrupteur simple, il faut utiliser un interrupteur double (ou un inverseur double) pour couper ou mettre en circuit deux fils de connexion en même temps. Mais le principe est bien là.

Routage mécanique par relais

Le routage mécanique par relais ne fait que remplacer un routage manuel avec des câbles que l'on déplacerait à la main. Il évite de débrancher et rebrancher sans arrêt les câbles, et surtout évite le risque d'erreur de branchement si le système de commutation est un minimum intelligent. Les relais n'assurent en effet que la fonction d'interrupteurs ouverts ou fermés, et la circuiterie de commande qui permet de les activer permet de ne pas faire n'importe quoi et éventuellement de sauvegarder des configurations précises (presets). Il faut bien être conscient que l'usage de relais permet aussi de faire plus de bêtises (connexion en parallèle de plusieurs entrées ou sorties MIDI) si leur commande n'est pas bien réfléchie. Le schéma qui suit reprend le principe de routage vu précédement avec les interrupteurs simple. Cette fois, on visualise les entrées et sorties MIDI sur prise DIN 5 broches, et les relais utilisés sont de type double inverseur, que l'on trouve très facilement.

selecteur_008_syno_4x4_003a

Chaque relais dispose de sa propre commande d'activation. Nous avons affaire encore une fois à une matrice (ou grille, comme vous préférez) de taille 4 x 4. Il est interdit d'activer plus de quatre relais à la fois car dans cette situation on se retrouverait forcement avec au moins deux relais collés sur la même rangée ou sur la même colonne. De même, il est interdit d'activer deux relais en même temps sur une même ligne, même si au total il n'y en a que deux d'actif.

Routage électronique par circuits intégrés

Le routage avec circuits électroniques classiques (non programmables) offre un peu plus de souplesse mais demande aussi plus de composants. Il permet de mélanger de façon non intelligente plusieurs sources MIDI, c'est à dire d'orienter les données provenant de plusieurs entrées MIDI vers une unique sortie MIDI, ce que ne permet pas le système à relais. L'idée principale est de doter le circuit d'interfaces d'entrées et de sorties spécifiques MIDI, comme si on avait affaire à un "vrai" équipement MIDI  et non pas à un simple (et bête) ensemble d'interrupteurs mécaniques. Une fois les données MIDI converties en données au standard TTL, on peut faire ce qu'on veut avec : les faire passer dans des portes commandées, par exemple. Le schéma qui suit montre un exemple de matrice programmable de type 4 x 4.

selecteur_008_syno_4x4_004a

Chaque entrée peut être routée vers n'importe quelle sortie, nous n'avons pas de contrainte de ce côté. Par exemple, si on veut orienter les données MIDI de l'entrée 1 vers la sortie 3, il faut porter à l'état logique haut la ligne de commande Cde13. Et si on veut orienter les données MIDI de l'entrée 4 vers la sortie 2, il faut porter à l'état logique haut la ligne de commande Cde42. On voit que l'on peut déjà obtenir des choses sympa tel que router deux entrées vers une même sortie ou router une entrée vers trois sorties en même temps, sans aucun composant programmable. Mais attention, cela ne signifie pas pour autant que le montage est opérationnel en toute circonstance ! Tel quel, deux entrées peuvent être "mélangées" et routées sur une même sortie, mais il ne faudra en aucune manière que les deux sources ainsi mêlées émettent des données MIDI en même temps.

Pilotage par microcontrôleur

Que l'on décide d'utiliser des relais ou non, la mise en place d'un microcontrôleur pour gérer le routage ouvre des voies très intéressantes, parmi lesquelles on peut citer :
- simplification du circuit électronique de commande (la partie routage quant à elle peut s'effectuer avec ou sans relais);
- sécurité des choix de routage (il est facile d'interdire certaines combinaisons de routage);
- sauvegardes utilisateur de plusieurs routages pré-établis (presets);
- automatismes divers (auto-reconnaissance d'entrées actives, par exemple).
Si le microcontrôleur est assez puissant, on peut même s'en servir pour mélanger des données MIDI (fonction merger). Mais cela est une autre affaire et fera l'objet de discussions ultérieures.