Le Midi est un protocole de discussion entre instruments de musiques, ordinateurs, etc… C'est un signal robuste.
Un nombre important de produits existent, permettant un vaste choix pour un interfaçage manuel avec White Cat et comportant boutons on/off, potentiomètres, rotatifs, ….
Généralement, pour de la lumière, on choisira une Surface de Contrôle Midi. Les surfaces de contrôle possèdent des potentiomètres. Mais on peut aussi utliser un clavier (synthé).
De nombreux périphériques midi existent sur le marché: boîtes à boutons, boites à faders, etc….
Concernant le spectacle et la lumière, les plus utilisés sont la BCF2000 et l'UC-33. Les produits Novation, Korg et Akai sont aussi plébicités.





Les instruments midi ne créent pas de sons .wav ou .mp3, mais envoient des messages numériques. Ces messages émis envoient des informations sur le type de message envoyé.
Type de signal
En spectacle on utilise essentiellement la réception de deux types de signaux:
L'instrument utilisé enverra donc un signal fonction de l'outil utilisé ( Key-On/Key-Off/Ctrl-Change).
Identifiants
Ce signal, outre son identifiant de type, comporte deux autres identifiants:
L'identifiant permet donc d'affecter précisément à une action un contrôleur unique . On a donc 16×127 notes possibles.
Le Channel-Midi permet de travailler à plusieurs instruments: notes issues du synthé en Channel Midi 1, notes issues du Pad en Channel Midi 3, notes issues de VVVV en Channel Midi 6…
Le Pitch, hauteur de notes, est un identifiant dû historiquement aux claviers: 127 touches sur le clavier.
Valeur
Enfin, ce signal comporte une valeur, exprimée de 0 à 127.
Cette valeur est moins fine que le dmx, qui a 255 pas.
Concernant les synthés, le signal Key-On ou Key-Off donnera une valeur variant fonction de la célérité de la frappe de la touche. Cette valeur s'appelle la vélocité.
Les boutons des surfaces de contrôle n'ont pas de vélocité. Ils auront donc des niveaux fixes On/Off ( 127 / 0 par ex).
Les pads ont la vélocité.
Programmation interne de l'instrument
Le midi est une norme simple. Mais ses usages sont tellement différents d'un cas de figure à l'autre, d'une pratique professionnelle à l'autre, d'un logiciel à l'autre, que la plus part des instruments midi permettent de:
Depuis la version 0.7.6.6, la lecture de l'ordre se fait désormais sur la base des identifiants Channel Midi et Pitch. Le type ( Ctrl-Change / Key-On / Key-Off / Note ) n'influe plus. En effet, certaines surfaces de contrôle ont des boutons émettant un signal de type Ctrl-Change en preset d'usine.
Seule la touche Flash a un comportement nécessitant un signal de type Key-On impérativement.
Dans l'idéal, l'utilisateur néophyte retiendra:
Un périphérique midi peut se brancher soit:
Un même port midi ne peut pas être partagé par deux logiciels.
Il faut alors splitter virtuellement le signal, pour pouvoir partager un même instrument entre deux logiciels.
Midi-Ox / MidiYoke est une suite logicielle libre permettant de faire celà ( entre autres).
C' est une application essentielle et robuste dans le travail avec le midi. MidiYoke est un ami fidèle du whitecatien qui travaille à plusieurs applications.
Elle se décline en deux programmes que l'on peut télécharger et installer séparemment:
MidiYoke est compris dans Midi-Ox.
MidiYoke ne comprend pas Midi-Ox.
Cette technique de branchement est applicable pour recevoir un signal , mais aussi pour l'émettre.
On peut renvoyer un signal midi depuis White Cat de façon à:
si on utilise à la main, puis dans le logiciel, un fader, on appréciera que le logiciel remette à jour physiquement le fader.
Par exemple, avec une BCF200.
Ce menu de configuration comporte plusieurs pages:
On accède à ce menu en clickant [CFG MAIN] ( Shift-F11) puis l'onglet [MIDI CONFIG].
On accède aux différentes pages en clickant leurs onglets.
Vous pouvez connecter un ou plusieurs périphériques midi à White Cat.
Ici cette capture d'écran montre les ports virtuels de Midi Yoke ainsi qu'une interface midi générique nommée Périphérique audio usb comportant deux entrées.
.
Les deux premières colonnes correspondent aux entrées Midi vers White Cat, les deux colonnes de droite aux sorties Midi de White Cat. Pour se connecter/déconnecter au port midi de votre choix, il suffit de clicker dessus.
Le bouton Rescan permet de mettre à jour la détection des périphériques branchés ou débranchés à chaud pendant l'éxécution de White Cat.

Certains périphériques nécessitent un trichage du signal , par rapport au fonctionnement interne de White Cat.
Ainsi , si vous êtes possesseur d'une BCF2000, qui n'émet en bouton qu 'un signal Key-ON Vel 0 au lieu de Key-OFF, vous aurez des soucis pour utiliser la fonction [RECALL] du menu All at Zero.
Astuce: Sur certaines surfaces de controle midi ( type UC-33 ), les boutons génèrent un signal Ctrl-Change en toggle:
En utilisant Key-On Vel0 = Key-Off, vous obtenez le comportement d'un bouton poussoir affectable au Go, par exemple, sans devoir reprogrammer en interne votre surface de controle.
Par défaut cette option est ON.
Elle permet lorsque vous affectez un contrôleur à la volée de vérifier dans toutes les fonctions si il ne s'y trouve pas, et de le retirer.
En le désenclenchant, vous permettez une affectation multiple, et ainsi un seul controle midi pourra faire plusieurs choses.
Cette option est présente pour des besoins exotiques:
exemple: une seule commande midi pour un Fader et le Volume d'un Player permettra manuellement de monter et le son de la rue et l'entrée de lumière de celle-ci à l'ouverture d'une porte, et d'accompagner le jeu des comédiens à la main.
Si vous la désenclenchez, soyez méticuleux dans vos affectations midi, et n'oubliez pas de la ré-enclencher.
Parfois avec certains contrôlleurs, il est nécessaire de MUTER, rendre muette l'entrée midi, et ainsi ne plus affecter les commandes de WhiteCat. Elle est accessible depuis le panneau de configuration:
Mais depuis la version 0.8.2.2 un nouveau système de mutage prend place dans WhiteCat: Voir MidiMute System en fin de cette page wiki.
v.0.8.2.3 La commande mutée est automatiquement démutée lorsque la valeur du potentiomètre qui la contrôle atteint l'état dans WhiteCat.
v.0.8.2.3 Cette fonction concerne uniquement les faders. Lorsqu'un LFO est lancé, l'entrée midi est automatiquement mise en mute.
Lorsque vous utilisez l'accéléromètre du séquenciel, ce dernier est mis en mute automatiquement si la valeur n'est pas la vitesse normale. Celà permet de recaller son potentiomètre, et conjugué à auto-demute de reprendre la main sans souci sur un crossfade fait de plusieurs mémoires linkées.
Le launchpad est un périphérique midi avec une grille de 64 + 16 boutons. Le Launchpad a été intégré dans WhiteCat, du fait du grand nombre de commandes assignables qui demande une boite à ON/OFF importante sur les régies très manuelles. Son prix relativement bas et sa robustesse la rendent intéressante..
L'une des spécificités du launchpad est le rétro-éclairage de ses boutons, qui permet de se retrouver très rapidement dans ses commandes, et de ne pas vérifier que le logiciel traite l'information appelée, puisque les leds en sont le témoin.
En enclenchant cette fonction, et en étant branché en sortie midi sur le Launchpad, WhiteCat allumera les commandes fonction de ses états ( LFO UP en cours, GO en cours, etc ).
Le launchpad est un périphérique lent, seuls sont traités les états en cours. Les impulsions de type Dock+/dock- ou Ctrl-W/X ne générent pas de lumière.
Enclencher [To Launchpad] si vous désirez émettre vers ce dernier les états lumineux des touches.
Le launchpad, ainsi que d'autres surfaces midi rétro-éclairées, attendent de recevoir en retour le signal émis par la touche, mais à une certain valeur.
Cette valeur, de 0 à 127, détermine la couleur de la touche.
Si vous possédez des périphériques midi dont les boutons sont rétro-éclairés et pilotables ( AKAI MPC40 par ex), vous pouvez reparamétrer les envois midi en tapant les valeurs dans les couleurs désirées. Ceci dépend du matériel.
Il y a 6 couleurs de base définies pour WhiteCat, sur la base du launchpad:
Pour les redéfinir:
Pour un descriptif des couleurs utilisées par commande, voir Launchpad
Ce changement intervient sur tous les types de signaux ( Key-Off / Key-On / Ctrl-Change), et est effectué dès que les identifiants d'un signal correspondent en Channel Midi et en Pitch. Cette transformation du signal s'effectue dans l'ordre suivant:
Cet ordre est important à intégrer, car il permettra de configurer précisemment les commandes de WhiteCat fonction de vos périphériques midi.
Comportement normal.
Certains périphériques émettant du midi, comme la PRONTO, ont de drôles de particularités: ainsi cette dernière émet du midi, mais donne un signal inversé sur la deuxième tranche ( 127-0 au lieu de 0-127). On ne peut régler celà dans les menus de la PRONTO.
Vous pouvez donc désormais inverser le signal dans White Cat:

Si votre surface de controle n'est pas reparamétrable dans le hardware, vous pouvez enclencher un mode Toggle dans WhiteCat:
A réception d'un signal Key-On Vel 127, le signal sera triché en On/OFF 127/0, fonction de son dernier état:
Celà peut être interressant pour des allumages maintenus type Flash ou Niveau sur un Fader.
Permet de ressortir spécifiquement un signal Key-Off si le signal est de type Key-On Vel=0
Permet de ressortir spécifiquement un signal Key-On Vel=0 si le signal est de type Key-Off
Les presets midi sont un enregistrement par les utilisateurs de leur configuration d'affectations midi.
Dans l'idéal:
Avec la version 0.7.6 sont fournis deux canevas, un pour l'uc-33, un pour la BCF2000.
Honnêtement ils sont présents à titre indicatifs, et il est certain que la communauté pourra fournir des presets plus ad-hoc et plus simples que ceux joints avec la 0.7.6. La reprogrammation de la BCF se révèle trop fastidieuse et il est certain que vous apporterez une solution plus élégante.
Les commandes affectées peuvent être Ctrl-Change, Key-On et Key-Off, pour toutes les commandes.
Assigner une commande midi à une fonction de White Cat se fait ainsi:
Attention, le mode d'affectation reste enclenché, donc veillez à le désenclencher avant d'aller manipuler à la souris d'autres commandes.
Vous pouvez fermer la fenêtre CFG et utiliser le bouton [Midi Affect] de la barre de menu en haut:
Les options Solo et X8 sont appelables en reclickant [Midi Affect].
Il faut donc :
Le périphérique doit être sélectionné en entrée dans la page [MIDI DEVICES].
Lorsque l'on bouge un potentiomètre ou une touche, le signal apparait en face de »MIDI IN:
! Attention, White Cat filtre les données MIDI reçues, ne laissant apparaitre que les types de messages Ctrl-Change, et Key On/ Key Off.


Pourquoi un Fake Midi ?
Souvent on peut être amené à piloter d'autres logiciels par le midi. Pas besoin de hardware alors, il suffit de créer ses commandes en faux midi, de les émettre vers un port virtuel comme Midi Yoke pour les partager avec un autre logiciel.
Sélectionner [Clear] et affectez en mode solo ou x8.
Si vous avez besoin de remettre à zéro complètement TOUTES vos assignations midi, aller dans le menu de sauvegarde: - clicker [SAVE] - sélectionner le mode [CHOICE] - sélectionner Midi - clicker [RESET]
Il existe plusieurs modes d'affectation. Ces modes dépendent si vous affectez une commande midi dans l'espace Faders, ou une commande midi solo.
Dans les versions précédentes à la version 0.7.6.6 on pouvait attribuer en solo, en x8, en x48 et en mode clavier. Ces modes ont été simplifiés pour ne garder que le mode solo et le mode x8.

Un signal midi est affecté à une seule commande. Le mode solo permettra d'affecter le séquentiel, une roue de couleur, faire une correction dans une affectation, désaffecter une commande.
L'espace Faders comporte 48 Faders. Celà peut devenir très fastidieux de faire une affectation Fader après Fader.
Il existe donc un mode d'affectation spécial qui permet de traiter l'affectation de manière sérielle.
Cette action sérielle est basée sur incrémentation du Pitch OU, si séléctionné, du Channel Midi ( cf image ci dessous, en mode Chan. et non plus Pitch).

Si une commande ou une action midi comporte 8 ou plus commandes de même type, elle est assignable en 8 Ex assignable en x8: Les ups des faders sont au nombre de 48. Les faders sont 48. Les docks colors sont 8. Les aires de tracking vidéo sont au nombre de 12 donc assignable en x8 pour les 8 premiers.
Si ce nombre de commandes est inférieur à 8, l'asignation doit être faite impérativement en mode solo. Le Séquenciel on stage est solo. Les presets de tracking vidéo sont 5.
Pot. 1: Ch:1 Pitch 8
Pot. 2: Ch:2 Pitch 8 Pot. 3: Ch:3 Pitch 8 etc .... jusqu'à Pot. 8: Ch:8 Pitch 8
Plutôt que d'affecter manuellement un à un chaque potentiomètre:
Si ma surface de contrôle avait l'affectation suivante:
Pot. 1: Ch:0 Pitch 16 Pot. 2: Ch:0 Pitch 17 Pot. 3: Ch:0 Pitch 18 etc .... jusqu'à Pot. 8: Ch:0 Pitch 23
Je laisse l'incrémentation sérielle en mode [Pitch].
Une fois vos modes choisis:
Se reporter au synoptique d'affectation midi
(version 0.8.2.2): un nouveau système de mutage de l'entrée midi est mis en place.
Ce système est mis en place pour répondre à la problèmatique des surfaces de controle non motorisées: si vous déclenchez un évènement, type Banger ou LFO sur un Fader, un master, ou encore le séquenciel, les niveaux physiques des potentiomètres ne correspondent plus.
Retoucher la commande physique provoquera une saute d'intensité du niveau piloté dans le logiciel.
Le nouveau système de Mutage règle ce problème.
Le bouton MidiMute est un raccourci Général pour muter toutes les affectations midis.
En clickant la touche MidiMute, vous enclenchez / désenclenchez tous les MidiMute(local) de WhiteCat. Cette commande est affectable en midi, et seule cette commande midi n'est pas mutée. Aucune affectation n'est pilotable ( faders, séquenciel, …, ainsi que tout ce qui est touches ).
Lorsque l'on met en ON MidiMute (global) tous les MidiMute (local) sont enclenchés. Lorsque l'on met en OFF MidiMute (global) tous les MidiMute (local) sont dés-enclenchés.
Vous pouvez débrayer MidiMute(local) même si le MidiMute (Global) est enclenché.
MidiMute (local) est une petite pastille placée généralement en dessous de MidiOUT, et qui est affectée à tout potentiomètre dans WhiteCat. Si vous enclenchez la petite pastille, cette commande n' écoute plus le signal midi. Un affichage de ce dernier apparait, de façon à ce que vous recalliez physiquement vos potentiomètres. Le niveau apparait dans une barre blanche, sans être transféré à son affectation.
Tout ce qui est à potentiomètre dans WhiteCat:
De nombreuses applications pour iOS permettent d'émettre du Midi sur le réseau wifi. Le protocole utilisé s'appelle CoreMIDI. Il permet donc de relier votre périphérique ( iPhone / iPad / Tablette ou téléphone Android) et votre ordinateur.
Pour un programme émettant depuis un iOS, voir ici: Recevoir le midi d'un appareil émettant en CORE-midi sur le réseau
Pour un programme sous Android, généralement un serveur est fourni pour Windows, à installer sur votre machine.
Ce genre de périphériques devient intérressant comme contrôleur d'appoint ou si vous avez besoin d'un nombre de boutons déclencheurs conséquent.