Maske

Maske est un logiciel que j’ai réalisé récemment en guise de découverte de la bibliothèque Openframeworks. Donc, à priori par d’intégration particulière dans un spectacle déjà défini mais plutôt une piste intéressante qui pourrait peut être amener des idées. Voici une petite démo (vous trouverez un lien pour télécharger le logiciel en fin de page) :

 

Le principe est simple : le logiciel utilise une caméra, détecte la position des yeux et vient coller sur le visage correspondant un masque.  Bien sûr il faut être assez proche de la caméra pour que le logiciel puisse distinguer vos yeux et bien sûr ouvrir grand … vos yeux pour contrôler (tenir ?) le masque. Il y a au choix 5 masques (on passe de l’un à l’autre avec  la touche m). Le masque s’adapte à la taille de votre visage et à l’inclinaison de votre tête. On passe du mode plein écran à une fenêtre plus réduite en utilisant successivement les touches f et w.

Je ne vous ferais pas un cours sur l’intérêt et les possibilités de jeu avec un masque, je laisserais ça plutôt à Charlie Windelschmidt de la compagnie Dérézo, qui organise des formations autour de l’usage du masque balinais et a mis en scène le spectacle “Qui ?” (que je vous recommande chaudement), où 4 acteurs utilisent tour à tour le même masque balinais dans 4 solos.

Je vous donnerais plutôt ici mon expériences de cette API et quelques pistes pour la découvrir.

Un mot tout d’abord : Openframeworks est une api qui permet d’économiser un temps de conception conséquent (et un niveau de complexité aussi), et coder en C++ permet de faire des applications puissantes. On peut notamment manipuler la bibliothèque OpenCV en temps réel avec un résultat fluide. Pour ceux qui ne connaissent pas, ça permet de faire de la reconnaissance gestuelle, de formes, de couleurs, … enfin bref de créer une interface invisible, à l’aide d’une caméra, capable de contrôler de manière avancée (beaucoup plus qu’une souris) toutes applications, jeux, …

Le wiki d’Openframeworks vous permet de consulter une grande quantité de documents (exemple, référence, faq, …) ainsi que d’accéder à un forum. Il y a un grand nombre de sources d’applications toutes faites, ou concernant des points spécifiques, qui sont disponibles sur le web. Globalement il est assez simple de construire une application avec les bouts de code que vous trouverez ici ou là.

Il existe aussi des extensions à cette bibliothèque : ce sont les addons (intégrés dans la version FAT d’Openframeworks), des bibliothèques complémentaires vous permettant d’intégrer le midi, l’OSC, Computer vision, …. Maske utilise notamment l’addon OpenCV pour la reconnaissance de l’oeil en temps réel.

Chez l’éditeur O’Reilly on trouve Programming Interactivity de Joshua Noble qui est consacré à l’Arduino, Processing et Openframeworks. Ce livre est une très bonne introduction car il permet une entrée dans la programmation à travers ces trois API (l’Arduino est aussi un programme qui permet de créer les programmes pour la carte Arduino).

Pour ceux qui souhaiteraient une première introduction en français, l’école d’art d’Aix en Provence (par la plume de Douglas Edric Stanley) a mis en ligne quelques pages très instructives sur Openframeworks.

Des workshops sont régulièrement animés par les fondateurs ou la communauté qui développent cette API. Du coté français, le CrasLab en a organisé une en mars dernier.

Pour le reste, il faut néanmoins pointer du doigt une réalité : Openframeworks est une API C++. Il y a énormément de cours, tutoriaux, forums qui vous permettront d’apprendre le C++ pour pas un rond mais moyennant un certain temps. En effet même si L’API Openframeworks simplifie énormément la création d’une fenêtre, le dessin géométrique, l’utilisation d’images, … il faut apprendre les bases du C++ pour faire une application basique avec Openframeworks et se perfectionner en C++ si on veut aller plus loin.

Une version pour OSX de Maske est disponible ici.

Notez bien que l’on change de masque avec la touche m, qu’on passe de plein écran à une petite fenêtre avec les touches f et w, et … ouvrez grand vos yeux.

Lampes de Pixels

L’objectif de ce projet était de réaliser des sources lumineuses de petites tailles, faciles à intégrer dans n’importe quel environnement, volume, sur n’importe quel instrument, voire sur des corps, dont les couleurs et l’intensité seraient paramétrables en DMX. Ce dispositif, composé par l’ensemble de ces petites sources, devait d’autre part s’intégrer avec les équipements classiques des salles de spectacles (Par, Pc, découpe, automatique).

J’ai effectué les premières présentations de ce dispositif lors des concerts de Chien Vert les 25 et 26 avril au Jardin Moderne à Rennes ainsi que les 9 et 10 juillet aux Tombées de la nuit à Rennes. Chien Vert est un groupe composé de Régïs Boulard (batterie), Nicolas Meheust (claviers, basse) et Stéphane Fromentin (guitares).

Voici un extrait du concert de Chien vert au Jardin Moderne :

 

Les “Pixels” ainsi que les sources plus traditionnelles étaient pilotées dans Max à l’aide de ma console Lanbox. Cette architecture de contrôle permet notamment de créer des algorithmes de pilotage mais aussi de lier certains contrôles à des niveaux audio d’un instrument, des positions particulières d’un musicien, … Lorsqu’on met en place ce genre de contrôle avec des sources traditionnelles, les temps de latence sont en général assez long, principalement à cause de la latence des gradateurs. Avec des sources comme les pixels, mon objectif était aussi de rendre ce type de jeu plus réaliste.

La composition lumineuse m’a permis de constater que les “Pixels” sont des sources lumineuses permettant de réaliser des images très contrastées (le noir peut être très affirmé) et des jeux très en rapport avec la musique. J’avais 17 pixels dispersés sur le plateau pour Chien vert, donc un grand nombre d’images possibles avec seulement ces sources. Bien sûr, toute la finesse dans leur utilisation résidait dans l’équilibre entre des images lumineuses classiques et d’autres plus inattendues, tout en servant au mieux le seul maître à bord : la musique.

Coté technique, j’avais tout d’abord orienté mes premières recherches sur les sources led du commerce. Je me suis rendu compte que la plupart des produits destinés au spectacle avait un coût important et ne me permettait pas une intégration sur mesure en fonction des conditions et des projets auxquels je les destineraient. En clair, trop cher et pas assez évolutif.
Je me suis ensuite intéressé aux projets qui existent autour du contrôle de led rgb (ou leds r, g, b) .

http://www.arduino.cc/ Bien sûr beaucoup de projets utilisent l’arduino, mais ça me semblait toujours très onéreux car pour la commande de trois leds rouge, vert, bleu, 3 générateurs PWM suffisent.

Je me suis donc intéressé à la construction d’une carte intégrant un microcontrôleur programmé pour la tache spécifique de la génération d’un PWM. J’ai été inspiré par les projets suivants :

http://picprojects.org.uk/projects/zcode/index.htm

ttp://www.avrprojects.net/index.php?option=com_content&view=category&id=38&Itemid=58

http://forums.futura-sciences.com/electronique/39390-a-propos-leds-rgb-256-couleurs-utiliser.html

ainsi que du site de Bigonoff http://www.abcelectronique.com/bigonoff/index.php

Celui qui a retenu mon attention est le suivant “RGB Christmas light” de John Chapman qui avait contruit une carte qui correspondait presque à ce que je recherchais et qui était commercialisée à un prix très honnête. Aujourd’hui les “pixels” de John sont en révision 2 avec des leds blanches et ambres en plus. Le principe d’une installation à l’aide de ses pixels est que c’est une chaine de cartes. L’avantage est qu’il y a moins de cablages. L’inconvénient est que la connectique qu’il utilise est le RJ-45 (cable réseau). Non seulement on ne peut passer qu’un faible intensité mais, en plus la connectique réseau c’est du rond sur du rond au niveau des contacts et c’est pas toujours fiable. Alors, lorsqu’on a 3 A qui passent dans la chaîne pour alimenter, disons 25 cartes, un mauvais contact est risqué et surtout coupe le signal sur toute la chaîne. Malheureusement John n’a pas pu me faire livrer des cartes sans connectiques. J’ai donc repris l’ensemble et intégrer les pixels dans des boîtes me permettant des manipulations simples lors de l’installation sur scène.

pixel_grand

Le reste du design de mes sources a été réalisé avec de la tolle offset et de la bande velcro afin d’avoir une diffusion de la source dans une seule direction (ainsi qu’une installation simple et efficace).

Grase, synthèse granulaire audio et vidéo

Grase est un logiciel de synthèse granulaire audio et video.
Grase is an audio and video granular synthesis software.

grase

Systèmes requis / System requirements

________________________________

Un Mac PPC ou Intel tournant sous OS.X.3.9 ou ultérieur
A PPC or Intel Mac with OS.X.3.9 or Later

Version OSX

Un PC tournant sous Windows XP
Une carte compatible ASIO est recommandée
Quicktime 7

a PC running Windows XP
A compatible ASIO sound card is recommended
Quicktime 7

Version PC

 

Cologne Berlin

Le travail au coté d’Octet a été pour moi l’occasion d’expérimenter la synchronisation audio- vidéo. Un groupe électro apporte ce postulat de pouvoir compter sur une séquence son précise ou de pouvoir récupérer en direct des informations de tempo, changement de séquences, … qui permettent de garantir une synchro parfaite.

Une continuité de ce travail était la réalisation de la bande son.

Voici un premier morceau inspiré d’un trajet en train avec Octet.

Octet

En 2003/2004 je tournais avec Octet, un brilliant groupe d’électro, lors de leur sortie de “Cash and Carry songs”.

C’était ma première création vidéo. Je découvrais la vidéo numérique et passais beaucoup de temps sur After effects.

Voici quelques vidéos de ce que j’avais réalisé