Indisciplinarité

Capter les actions

Nous avons vu dans l’article précédent que l’interactivité décrit la nature du dialogue entre un utilisateur et une machine et que ce dialogue, entre un spectateur et un système, est constitué du couple entrée/sortie. Les entrées sont des « requêtes » envoyées à l’ordinateur, les sorties sont des « réponses » envoyées par le dispositif.

interactivité pour les nuls

Pour traiter les actions menés par l’utilisateur, il faut que l’ordinateur puisse répondre sous conditions. Il faut donc lui donner une liste d’instructions à exécuter (un programme). Quand la ou les conditions sont réunies, alors l’ordinateur va exécuter telle ou telle tâche. Ces formules conditionnelles contenues à l’intérieur du programme s’appellent des algorithmes (aussi appelés algo ou encore algogo) qui traiteront les informations reçues. Par exemple, à propos de l’image ci-dessous, il faut imaginer un programme appelé « blague_ingénieuse » pour une installation artistique appelée « Irrémédiable » contenant l’algorithme suivant « si (boutonEstAppuyé) alors (faireTomberColle) sinon (deception) »

bouton

Et comme cette image peut l’illustrer, toute la tension de l’installation interactive repose sur une interface en attente, ici le bouton prêt à être saisi. Évidemment, cette interface peut avoir des natures peut-être moins évidentes qu’un simple bouton ou une touche d’ordinateur. Cette interface peut être déporté de la machine, à l’inverse du clavier d’un ordinateur portable: l’interface pourrait (et c’est justement le sujet du blog youpie), être de nature photographique, vidéographique… (un exemple: une image projetée sur une table, une fois caressée, change et laisse place à une deuxième photographie ou à une séquence vidéo, un petit peu comme « Concrescence » de Douglas Eric Stanley). Sur le plan technique, alors on peut commencer à se poser quelques questions : Le spectateur saisit l’œuvre par le biais d’une interface, comment faire comprendre à l’ordinateur que l’œuvre en suspension doit être activée ?

L’action d’un sujet sur l’œuvre peut être considéré comme un signal et le dispositif interactif doit pouvoir le lire. La capture de ce signal peuvent être faites par le biais de moyens optiques, digitaux et analogiques.

Moyens optiques

Petit cas pratique: nous voulons que notre magnifique dispositif interactif puisse détecter du mouvement, une silhouette humaine, calculer le taux d’une ou plusieurs couleurs et le faire réagir en fonction des paramètres que la machine a reçu… Vous et moi, nous sommes humain, et on sait très bien faire ça. Une balle rouge arrive sur vous. Grâce à votre vue, vous la voyez arriver vers vous. Vous comprenez que vous allez la recevoir sur la poire et vous pouvez réagir haptiquement en fonction des informations reçues: vous l’attrapez, cette balle rouge, et avec vos deux mains. Bravo.

Ordinateur non doté de vision numérique.

Ordinateur non doté de vision numérique.

Mais un ordinateur, lui, a besoin qu’on lui insuffle la vue et un peu plus d’intelligence pour que celui-ci puisse voir et comprendre ce qu’il voit. Par le biais d’une ou plusieurs caméras branchées sur l’ordinateur (webcam, caméra infrarouges…) on peut doter la vue à l’ordinateur: il peut lire un flux continu d’images par acquisition vidéo. Mais pour qu’il comprenne ce qu’il voit, il faut lui faire relier ces yeux à son « cerveau ». Ici, on entre dans un domaine de l’intelligence artificielle: le computing vision souvent abrégé « CV ». En français ça veut dire « vision numérique » ou encore « vision par ordinateur ». La vision numérique consiste à faire comprendre à l’ordinateur par le biais d’algorithmes plus ou moins complexes ce qui se passe dans le flux d’images capturées. Comme tout le monde n’est pas scientifique à la NASA, une bibliothèque sous licence libre a été crée: il s’agit d’OpenCV qui permet de détecter des visages, les contours, les formes… Cette bibliothèque peut s’utiliser avec Python, C, C++, Java (et avec Processing aussi). Certains algorithmes, comme la détection de mouvement, peuvent être réalisés assez facilement, et cela sans passer par l’utilisation de bibliothèques tierces.

Moyens digitaux

Une entrée digitale reçoit et envoie des impulsions binaires (des 1 et des 0 ou des « oui » et des « non ») à un système informatique. Ces impulsions sont délivrées généralement par les doigts, sortant l’interface d’une attente le temps de l’action. Un interface digitale, c’est une touche d’ordinateur, un switch sur une table, une souris d’ordinateur, une surface tactile, un tilt… Bref, je dirais que c’est une surface très proche du dispositif informatique s’actionnant avec une impulsion, et ne comprenant pas de valeurs intermédiaires. Pour déporter les entrées digitales de l’ordinateur, par exemple un bouton, on pourra utiliser une carte électronique Arduino, planquée ou non à l’intérieur du dispositif interactif.

Moyens analogiques

Un autre petit cas pratique: nous concevons une installation mettant en scène une animation d’une plante virtuelle qui réagit selon le taux de lumière de la salle ainsi que sa température. Si il fait très froid, la plante givre, si il fait bon, la plante est vigoureuse, si il fait trop chaud, elle fane. Pour la lumière, si la salle est plus ou moins lumineuse, la plante est plus ou moins grande, et pourrait même rester à l’état de germe si le taux de lumière serait très insuffisant. Les capteurs analogiques permettent de détecter des données liés à un environnement (capteur de température, capteur de lumière, capteur de gaz, de couleurs… il y en a des centaines). Contrairement aux moyens digitaux, les systèmes analogiques nous livrent un nuancier d’informations soumises par paquets d’octets. Ces informations sont souvent liés à la physique d’un lieu. L’utilisation de capteurs analogiques est rendue très accessible depuis la commercialisation de carte électroniques facilement programmables, comme la carte Arduino.

Également, j’ai choisi d’intégrer la captation d’informations sonores à la catégorie analogique. Il existe des petits microphones que l’on peut brancher sur une carte Arduino; Avec ce capteur, on peut récupérer les informations liés aux fréquences ainsi que l’intensité sonore de l’ambiance sonore d’un lieu. On pourra également utiliser de « véritables » microphones de studio ou de concert branchés sur un ordinateur soit par USB, ou à l’aide d’une table de mixage ou d’une carte son, par XLR ou Jack. Sur Processing, on peut lire les fréquences et l’intensité sonores des entrées sonores avec l’aide de la bibliothèque « Minim ». Il est bon de noter que pour le traitement avancé du son, Processing que nous utilisons beaucoup sur ce blog n’est pas forcément le langage le plus approprié (voir du côté de Pure Data ou de Max/MSP)…

Notes à moi-même…

Penser à un dispositif interactif, oui, mais dans une perspective algorithmique et réaliste au niveau matériel: peut-être penser parallèlement la faisabilité technique… ou justement non, se laisser surprendre.