Electronique > Réalisations > Interfaces > Interfaces MIDI > MIDI splitter 001 - Pro

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).

midi_splitter_001_pcb_3d_a 

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.

midi_splitter_001


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

Gestion des CC (ControlChange) de l'entrée MIDI 1

Gestion des Sysex (SystemExclusive) de l'entrée MIDI 1

Limites de la version LE

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.

midi_din_cablage_001

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.

midi_splitter_001_proto_001a_tn

Circuit imprimé

Réalisé en double face.

midi_splitter_001_pcb_composants

Pro - Typon / PCB non disponible.

Historique

26/05/2018
- Ajout photo prototype.
13/05/2018
- Première mise à disposition.