Hacking #1 Détournement d’une matrice de Led MIDI – Launchpad


Présentation

Après plusieurs années d’hégémonie des mappings immersifs, les scénographies numériques semblent désormais tendrent vers un minimalisme réduisant parfois les installations video à leur plus simple expression : les pixels.

Qu’ils soient distribués sur des terrains de plusieurs centaines de mètres à l’instar des travaux du Collectif Coin, ou motorisés dans le cas des installations de Robert Henke (Monolake) et de l’artiste Christopher Bauder, ces nouvelles matrices de points lumineux ne sont pas forcément contrôlées et animées grâce à de puissants algorithmes, calculant à chaque instant la position, couleur ou intensité de chaque élément en fonction de l’animation à effectuer.

 

En effet, les artistes utilisent la plupart du temps des animations vidéos classiques à partir desquelles sont extraits pour chaque pixel la couleur ou le niveau de gris pour transformer cette information en intensité lumineuse, déplacement ou tout autre paramètres utilisable. Cela permet d’obtenir des animations plus complexes et au rendu plus organiques que celles animées par des algorithmes informatiques comme l’explique Yann Nguema (Ezekiel) dans le cadre de ses recherches sur le projet Pixel Motion.

 


Application aux matrices de pads

C’est après une soirée dans l’enceinte du Club parisien Faust disposant d’un superbe toit lumineux et animé que j’ai voulu explorer ce mode d’animations visuels. Problème, mon appartement ne disposant pas de murs de leds adressables, j’ai préféré jeter mon dévolu sur ce que j’avais sous la main : mon APC 40.

En effet, suivant le précurseur Launchpad de Novation, de plus en plus de contrôleurs MIDI désireux de profiter de l’engouement autour du mode Clips d’Ableton Live se composent de matrices rectangulaires de pads éclairés par Leds. Je décidais alors d’utiliser mon contrôleur comme matrice de led de test en utilisant comme animation video mon flux webcam. Ce faisant, j’étais donc en train de concevoir un écran à l’extraordinaire résolution video de 8×7 (56) pixels, le tout supportant une superbe gamme de 3 couleurs : jaune, orange ou rouge, à faire pâlir les plus beaux écrans 8K.

Même si le défi technologique n’allait pas changer le monde, au vu des performances exposées, j’étais surtout impatient de découvrir si pouvais rapidement détourner complètement mon contrôleur MIDI de son usage initial de contrôleur musical pour en faire un écran diffusant à très faible résolution le flux capté par la webcam de mon laptop.

 


Technologies employées

D’un point de vu technologique, j’ai utilisé Processing pour capturer le flux video. J’ai détourné un exemple existant (« mirror », disponible dans la bibliothèque téléchargeable « video ») en adaptant au nombre de pixels voulu (je passe d’un flux paramétré sous Processing en 800×700 à nos 8×7) avec 3+1 couleurs possibles : pixel éteint, pixel jaune, pixel orange, pixel rouge, suivant l’intensité de luminosité (« brightness ») de nos pixels.

Pour mieux comprendre, voici des tests paramétrés avec des résolutions 20, 10, 4 et 2 fois supérieurs :

Enfin, voici la résolution utilisée pour transmettre le flux video aux leds de la matrice de pads de l’APC 40 :

À cette résolution, il devient difficile de distinguer quoi que ce soit…

Pas encore à l’aise avec l’export MIDI sous Processing, (pourquoi faire simple ?) j’envoie les informations de chaque pixel vers Pure Data, via OSC. PureData reçoit pixel après pixel, le niveau de luminosité (0, 1, 2, 3 ou 4) puis le retransmet à la bonne Led, paramétré grâce aux informations trouvées sur le mapping usine de l’APC 40, en suivant le schéma ci-dessous :

Il fallait donc préciser le numéro utilisé (pour les lignes) ainsi que la chaîne « CC » (colonnes), et enfin paramétrer les valeurs de vélocité contrôlant la couleur, le tout via l’objet noteout, comme on peut le voir sur le patch ci-dessous :

À gauche, on retrouve le système autonome que j’ai conçu pour adapter et envoyer automatiquement les chiffres, chaînes CC et valeurs de vélocité pour contrôler les leds de l’APC.

À droite, j’ai implémenté un module pour tester et programmer manuellement chaque led indépendammment (en haut les lignes CC, à gauche les colonnes, et en bas les différentes valeurs de vélocité possibles permettant différentes couleurs et clignotements).

 

(Photos et vidéo disponibles sous peu)

 

Pour la suite, vous l’avez compris, j’envisage de concevoir ou obtenir une matrice de leds plus conséquente, et l’animer grâce à des animations plus complexes, créées en temps réel avec l’aide du logiciel Lumen dont je viens de faire l’acquisition. Plus d’informations bientôt !

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *