Dernière mise à jour :
26/05/2018
Présentation
Ce splitter MIDI permet de router des notes MIDI vers une sortie MIDI 1
ou vers une sortie MIDI 2, en fonction de leur hauteur. Ce circuit a
été conçu pour équiper un clavier devant piloter deux générateurs de
son différents (clavier ne possédant pas de fonction de split).
Pour cela, le système comporte 1 entrée MIDI et 2 sorties MIDI, le tout
est géré par un PIC 18F46K22.
Avertissement
La version LE disponible gratuitement sur ce site est limitée et ne
dispose pas de toutes les fonctions de la version Pro (détails
plus loin).
Schéma
Le coeur du montage est un PIC 18F46K22, qui dispose en interne de 2
module UART mis à profit pour la réception et l'envoi des
données MIDI.
Fonctionnement général
Les données MIDI entrantes sont placées dans un buffer circulaire puis
analysées au fil de l'eau pour savoir sur quelle sortie les orienter.
Par défaut, les notes entrantes sont routées vers la sortie 1 quand
leur hauteur est inférieure au Do central (C3), et sont routées vers la
sortie 2 dans le cas contraire. Il est possible de modifier à tout
instant le point de séparation (split) en pressant un bouton-poussoir.
On peut également définir si les événement de type CC (ControlChange),
PC (ProgramChange) et Sysex (SystemExclusive) reçus sur l'entrée MIDI
IN doivent ou non être transmis sur les sorties MIDI OUT 1 et/ou MIDI
OUT 2.
Gestion des événements MIDI
Les événements MIDI reconnus par ce splitter peuvent être de plusieurs
sortes : notes (NoteOn et NoteOff), CC (ControlChange), PC
(ProgramChange) et Sysex (SystemExclusive). Chaque événement peut être
géré de façon individuelle, c'est à dire envoyé vers la sortie désirée.
La procédure à appliquer pour modifier la façon dont les événements
MIDI doivent être traités est donnée plus loin.
Temps de traitement et latence
La latence est calculée à partir du moment où un évenement
MIDI arrive complet sur une entrée MIDI, et le moment où il ressort
filtré et/ou routé sur une des sorties. Elle est de l'ordre de 1 ms
pour les évenements standards (PC, CC et notes). Pour les sysex, cela
dépend de la longueur des sysex eux-même. Si un sysex dure 20 ms, le
temps de retard sera de 21 ms (durée sysex + latence 1 ms).
Configuration du splitter
Le splitter peut être configuré pour réagir différement selon les
besoins de l'utilisateur.
Modification du point de
split de l'entrée MIDI 1
Presser le bouton-poussoir SW2/Ch1 et jouer la note correspondant au
point de séparation.
Gestion des PC
(ProgramChange)
de l'entrée MIDI 1
- Pour que les PC (ProgramChange) arrivant sur l'entrée MIDI
IN 1 soient transmis sur la sortie MIDI OUT 1, presser en même temps
les boutons SW1/Set et SW2/Ch1, et envoyer un PC quelconque sur
l'entrée MIDI 1.
- Pour que les PC (ProgramChange) arrivant sur l'entrée MIDI
IN 1 ne soient plus transmis sur la sortie MIDI OUT 1, presser
uniquement le bouton SW2/Ch1, et envoyer un PC quelconque sur
l'entrée MIDI 1.
- Pour que les PC (ProgramChange) arrivant sur l'entrée MIDI
IN 1 soient transmis sur la sortie MIDI OUT 2, presser en même temps
les boutons SW1/Set et SW3/Ch2, et envoyer un PC quelconque sur
l'entrée MIDI 1.
- Pour que les PC (ProgramChange) arrivant sur l'entrée MIDI
IN 1 ne soient plus transmis sur la sortie MIDI OUT 2, presser
uniquement le bouton SW3/Ch2, et envoyer un PC quelconque sur
l'entrée MIDI 1.
Gestion des CC
(ControlChange)
de l'entrée MIDI 1
- Pour que les CC (ControlChange) arrivant sur l'entrée MIDI
IN 1 soient transmis sur la sortie MIDI OUT 1, presser en même temps
les boutons SW1/Set et SW2/Ch1, et envoyer un CC quelconque
sur l'entrée MIDI 1.
- Pour que les CC (ControlChange) arrivant sur
l'entrée MIDI IN 1 ne soient plus transmis sur la sortie MIDI OUT 1,
presser uniquement le bouton SW2/Ch1, et envoyer
un CC quelconque sur l'entrée MIDI 1.
- Pour que les CC (ControlChange) arrivant sur
l'entrée MIDI IN 1 soient transmis sur la sortie MIDI OUT 2, presser en
même temps les boutons SW1/Set et SW3/Ch2, et envoyer un CC
quelconque sur l'entrée MIDI 1.
- Pour que les CC (ControlChange) arrivant sur
l'entrée MIDI IN 1 ne soient plus transmis sur la sortie MIDI OUT 2,
presser uniquement le bouton SW3/Ch2, et envoyer
un CC quelconque sur l'entrée MIDI 1.
Gestion des Sysex
(SystemExclusive)
de l'entrée MIDI 1
- Pour que les Sysex (SystemExclusive) arrivant sur l'entrée
MIDI IN 1 soient transmis sur la sortie MIDI OUT 1, presser en même
temps les boutons SW1/Set et SW2/Ch1, et envoyer un Sysex
quelconque sur l'entrée MIDI 1.
- Pour que les Sysex (SystemExclusive) arrivant sur
l'entrée MIDI IN 1 ne soient plus transmis sur la sortie MIDI OUT 1,
presser uniquement le bouton SW2/Ch1, et envoyer
un Sysex quelconque sur l'entrée MIDI 1.
- Pour que les Sysex (SystemExclusive) arrivant sur
l'entrée MIDI IN 1 soient transmis sur la sortie MIDI OUT 2, presser en
même temps les boutons SW1/Set et SW3/Ch2, et envoyer un Sysex
quelconque sur l'entrée MIDI 1.
- Pour que les Sysex (SystemExclusive) arrivant sur
l'entrée MIDI IN 1 ne soient plus transmis sur la sortie MIDI OUT 2,
presser uniquement le bouton SW3/Ch2, et envoyer
un Sysex quelconque sur l'entrée MIDI 1.
Limites de la
version LE
- Le point de split ne peut être modifié que dans une plage
restreinte de 6 demi-tons autour du Do central (Do3).
- Les CC, PC et Sysex sont toujours transmis en même
temps sur les deux sorties MIDI OUT 1 et MIDI OUT 2.
- Les modifications effectuées ne sont
pas enregistrées et doivent être renouvelées à chaque mise
sous tension.
Entrée et sorties MIDI
L'entrée et les sorties MIDI sont classiques, rien de
spécial à dire.
Alimentation
Une source de tension de +5 V est nécessaire pour faire fonctionner le
splitter MIDI. Tout bloc secteur capable de délivrer une
tension comprise entre +8 V et +12 V sous un courant min de 100 mA
convient. Un régulateur de tension fixe de +5 V délivre la tension
requise.
Brochage des prises MIDI
Câblage valable pour les prises MIDI IN, MIDI OUT et MIDI THRU.
La borne 2 est reliée à la masse au niveau des
sorties mais pas au niveau des entrées, pour éviter toute boucle de
masse entre équipements.
Logiciel du PIC (version allégée LE)
LE - Version LE disponible gratuitement limitée (ne dispose pas de toutes
les fonctions de la version Pro).
Splitter
MIDI 001 - 18F46K22 - LE - (13/05/2018)
Si vous souhaitez
recevoir par la poste un PIC préprogrammé et prêt à utiliser, merci de
consulter la page
PIC
- Sources.
Prototype
Réalisé selon typon/PCB ci-après.
Circuit imprimé
Réalisé en double face.
Pro - Typon / PCB non disponible.
Historique
26/05/2018
- Ajout photo prototype.
13/05/2018
- Première mise à disposition.