Xevia AccueilBlogActualitésA propos

"Hack" des tables de mixages bas de gamme

Bon j'exagère peut-être un peu en parlant de "hack", il s'agit pas de l'exploitation d'une faiblesse matérielle ou logicielle mais plutôt un moyen de contourner un problème ... Aujourd'hui je vais parler des tables de mixage bas de gamme de Hercules — quel rapport avec l'informatique ?

Récemment j'ai pu obtenir une "table de mixage" très bas de gamme vulgairement nommée Hercules Control mp3 — j'ai mis des guillemets à l'expression parce que vu sa forme et sa finition en plastique, on dirait plus un jouet qu'une vraie table de mixage. S'ouvraient donc à moi les possibilités (limitées certes) du DJing avec un programme spécifique à cette table de mixage qui n'est rien d'autre qu'un Virtual DJ bridé.

Hercules Control mp3

Malheureusement pour moi, je ne supporte pas Virtual DJ, est-ce peut-être à cause du design affreux de l'interface ou bien peut-être à cause du rendu sonore, je ne sais pas ... Alors je me suis tourné vers Traktor, au autre logiciel de DJing très connu qui fait bien plus sérieux et professionnel.

Traktor Pro 2
Le gros problème c'est que si les faders, jog wheels et les boutons répondaient bien, il était impossible d'allumer les diodes et les boutons play/cue/sync ! La raison est toute simple : alors que Virtual DJ interagit directement avec les pilotes de ma table de mixage, et donc a accès aux signaux d'entrée (les signaux déclenchés quand on appuie sur un bouton par exemple) et les diodes, Traktor se contrôle par commandes MIDI via un canal MIDI émulé par le pilote Hercules. Traktor est bien conçu pour envoyer des signaux d'allumage ou d'extinction des diodes mais ces signaux sont sous formes de commandes MIDI qui vont de l'ordinateur vers le contrôleur. Or, sur une table de mixage aussi bas de gamme que la mienne, les commandes MIDI vont du contrôleur vers l'ordinateur et pas l'inverse ... Impossible donc de faire clignoter les boutons de ma table de mixage.

Une solution existe, et c'est celle mise en place par mon "hack". Le pilote Hercules est bien capable de contrôler les lumières de l'appareil, et il existe une bibliothèque de liaison faisant office d'interface avec ce pilote, HERC.dll. Mieux encore, Hercules a développé un programme permettant de diagnostiquer les appareils de cette marque : HercNet.exe. HercNet tourne sur la plateforme .NET, il est donc possible de le charger comme un assembly externe (sur le framework .NET les DLL et EXE peuvent être utilisés comme modules) pour ensuite se servir des interfaces qu'il implémente pour envoyer des commandes à HERC.dll, qui les transmettra au pilote qui lui-même les transmettra à la table de mixage. Coder une application sous .NET est bien plus aisé qu'en natif, en Win32 ... Et Traktor dans tout ça ? Eh bien il suffit d'installer un câble MIDI virtuel, et de programmer l'application pour qu'elle décode les signaux MIDI envoyés par Traktor via ce câble et allume ou éteint les diodes en conséquence. Plusieurs câbles audio virtuels existent, je conseille LoopBe1, il est gratuit et entièrement fonctionnel sous Windows 7 64-bit. Ah oui, ne pas oublier de compiler en 32 bits car HERC.dll est une bibliothèque 32-bit et Windows n'aime pas mélanger les formats d'exécutables ...

Pour résumer le fonctionnement du "hack" : Traktor envoie une commande MIDI de contrôle des diodes via le câble virtuel LoopBe1, c'est le programme de "hack" qu'on a codé qui intercepte cette commande grâce à une bibliothèque .NET (MIDI Sanford par exemple) et qui l'identifie. Une fois le signal identifié (c'est à dire le numéro de la diode et l'état qu'elle doit prendre) le programme de "hack" donne le contrôle à HercNet qui va charger HERC.dll, laquelle envoie un signal au pilote qui lui-même en envoie un autre à la table de mixage. Ouf ! La diode s'allume.

Morale de l'histoire : même quand j'essaie de m'intéresser à d'autres activités, je me retrouve à coder ...

Cette image et la musique associée n'ont aucun rapport avec cet article.

Edit : La manipulation est la même pour tous les contrôleurs bas de gamme de Hercules, comme Control mp3 e2 ou Control MK2 qui n'est rien d'autre qu'une Control mp3 avec une carte son intégrée.