Ce distributeur MIDI, basé sur un Arduino Uno, permet de brancher jusqu'à 16 appareils en même temps, et de choisir quelle entrée lire pour chaque groupe de sorties. Un groupe de sorties est composé de deux sorties MIDI. Par exemple on peut choisir la source du groupe de sorties 1, composé des sorties 1 et 2 (le groupe de sorties 2 étant composé des sorties 3 et 4, le groupe 3 des sorties 5 et 6 et ainsi de suite). Il est possible de connecter jusqu'à 4 sources de données MIDI et d'attribuer à chaque groupe de sorties l'une des 4 entrées, via une commande en façade (boutons poussoirs, potentiomètre, écran LCD).
Lorsqu'on possède plusieurs appareils utilisant la norme MIDI, on a vite besoin d'un distributeur. Par exemple, si vous utilisez un séquenceur comme Ableton Live, vous pouvez envoyer des données MIDI à la sortie de votre carte son, pour piloter plusieurs appareils. Les informations transitent sur plusieurs canaux différents, au sein d'un même câble.
Pour pouvoir utiliser en même temps ces informations sur plusieurs synthétiseurs, il faut créer une sorte de "multiprise". Un autre procédé existe pour ne pas utiliser de distributeur. Il s'agit de la méthode visant à relier tous les appareils en série en connectant l'entrée midi du premier sur la sortie de notre source, puis l'entrée du second sur la sortie MIDI THRU du premier (si il en possède une), l'entrée du troisième sur la sortie THRU du deuxième et ainsi de suite. Mais cette méthode a un désavantage, c'est le temps de retard pour le dernier appareil, car à chaque fois qu'un signal MIDI transite dans un appareil il se voit retardé pour l'appareil suivant. On a donc deux méthodes distinctes, l'une mettant les appareils en série et l'autre les plaçant en parallèle.
Cette réalisation est basée sur l'utilisation de 8 multiplexeurs (un par groupe de sorties), permettant d'assigner à un groupe de sorties, une des 4 entrées. Ces circuits intégrés sont donc connectés comme suit : sur les broches IN 1, IN 2, IN 3 et IN 4 nous avons les entrées MIDI, sur la broche OUT nous avons le groupe de sorties associé. Les différents multiplexeurs sont commandés à l'aide d'un Arduino Uno. J'ai utilisé des CD4051 en guise de multiplexeurs dans ce projet qui comportent 1 sortie pour 8 entrées, mais ici seulement 4 sont utilisées (voir plus bas si on veut utiliser plus d'entrées).
Le séquenceur s'alimente via un cordon avec transformateur intégré délivrant du neuf volts en continu. On place un interrupteur entre cette entrée et le reste du montage, puis on vient alimenter notre carte Arduino sans oublier de placer la diode de protection. On récupère aussi cette tension de neuf volts pour en obtenir une de cinq volts grâce au montage ci dessous (à base de 7805), celle-ci servant à alimenter les circuits intégrés et les prises DIN.
Pour alimenter la partie commande (potentiomètre et boutons), on utilise une broche d'alimentation de l'Arduino.
Les 4 entrées MIDI sont elles-même isolées, ce qui constitue une sécurité et permet en cas de surintensité sur une ligne, de ne pas endommager le matériel. Pour réaliser cet isolation, j'ai utilisé pour chaque entrée un optocoupleur (ref : 6N138) connecté comme dans le montage "MIDI INPUT" proposé sur le site "Notes and Volts" et très bien expliqué dans cette vidéo. Après avoir été isolé du reste de l'installation, le signal est dirigé vers une porte du 74HCT14.
Chaque groupe de sorties est composé de deux sorties, et est connecté à la sortie d'un multiplexeur afin de lire le signal sur l'entrée sélectionnée par l'utilisateur. Pour obtenir deux sorties à partir d'une entrée, un montage à base de 74HCT14 (ou 74HC14) comme vous pouvez le voir sur le schéma ci-dessous. Dans le schéma final, on peut voir 8 fois ce montage, ce qui correspond au 8 groupes de sorties disponibles.
On peut facilement modifier les schémas de fonctionnement afin d'adapter les caractéristiques du distributeur à ses besoins (par exemple pour avoir plus d'entrées, plus de sorties ...). Pour cela il suffit de procéder comme décrit dans cette partie.
Pour augmenter le nombre d'entrées MIDI, il vous faudra tout d'abord rajouter un montage vu dans la partie "Fonctionnement - Entrées MIDI", puis distibuer le signal récupéré en sortie de 74HC14, sur une entrée disponible du CD4051 et cela pour tous les multiplexeurs, comme suit :
Attention néanmoins au choix des multiplexeurs, par exemple un CD4051 possède 8 entrées, donc on ne peut pas avec ce circuit utiliser plus de 8 entrées MIDI dans notre distributeur.
Pour ce faire, il suffit de connecter d'autres 74HC14 en parallèle ou d'en enlever. Le schéma ci dessous permet de changer le nombre de sortie par groupe, ici il n'y a pas vraiment de limite puisque l'on utilise des 74HCT14 (circuits assez rapides et ayant une faible consommation).
À chaque fois que l'on ajoute un groupe de sorties il faut rajouter un multiplexeur (CD4051) et le montage qui va avec. Il faut ensuite penser à contrôler ce multiplexeur en utilisant soit trois ports numériques de l'Arduino soit un registre à décalage...
À venir ...
Voici le visuel des façades de ce module, comme cela vous pouvez plus facilement l'imaginer dans votre setup !
Si ce module vous intérresse, rendez vous sur cette page, vous y trouverez toutes les ressources nécéssaires à sa réalisation.
15 Juin 2017 : fin de la réalisation sur plaques à pastilles cuivrées
16 Août 2019 : réalisation de la nouvelle version (sur circuit imprimé)
20 Août 2019 : sauvegardes possibles sur Arduino