mercredi 18 octobre 2017
The V Motion Project, quand Kinect vous transforme en instrument de musique

The V Motion Project, quand Kinect vous transforme en instrument de musique

The V Motion Project est un projet qui combine les talents collectifs de musiciens, danseurs, programmeurs, concepteurs, animateurs et de Motion & Sound Designers pour créer un instrument visuel étonnant. Cette team a poussé un peu plus loin le vice avec Kinect : le système de reconnaissance gestuelle de Microsoft est ici utilisé pour transformer l’utilisateur en instrument de musique. En effet, créer de la musique à travers le mouvement d’un corps est au cœur de ce développement. L’utilisation de la puissance de la Kinect pour capter le mouvement, additionnée à une interface qui traduit le mouvement en musique donne naissance à un live projeté sur un mur géant.

image_blog_philippespagnoliCe spectacle visuel met l’accent sur le direct avec une vidéo-musique produite à partir des résultats, rien à voir avec un spectacle traditionnel où un danseur joue avec une musique d’une bande son déjà enregistrée. Ainsi les concepteurs ont développé divers procédés pour montrer que la technologie était réelle et bien jouée en direct. Version courte Version longue L’interface joue un rôle clé dans l’illustration de l’instrument. Elle a été conçue pour mettre en évidence l’audio, commandé par le danseur. Les éléments de design tels que le suivi en temps réel et les échantillons sonores sont placés pour ajouter de l’authenticité à la performance. Pour ce faire, l’équipe aura eu besoin de deux Kinect, d’un projecteur pour gérer les mouvements réalisés par le danseur. —————————————————————– Développement plus technique…:

1) Le processus

L’instrument: La conception finale de la machine a été le résultat de plusieurs mois d’expérimentation … Il prend tout son sens avec le recul mais au début, personne ne savez vraiment sur quoi cela allait aboutir. Le point de départ était l’idée d’utiliser la caméra Kinect pour détecter les mouvements du musicien. En passant des mois à jouer avec le Kinect, en regardant ce que les autres en avaient fait, ils ont commencés à dompter le système. Enfin, un musicien pouvait contrôler à la fois l’audio du logiciel Ableton Live et les mouvements du corps du musicien. image_blog_philippespagnoli Malheureusement, ce contrôle et cette flexibilité a un prix… car le système a un retard important. Ce décalage fait qu’il est presque impossible d’utiliser un drum-pad ou un clavier. Quand il y a un délai entre frapper une touche et entendre un son, c’est vraiment très difficile de jouer une mélodie et encore plus difficile de jouer un battement de tambour dans le temps. Donc jouer des notes en «temps réel» a été l’un des premiers obstacles majeurs qu’ils ont surmontés. Avec une solution BiKinect (lien1, lien2), le décalage qui se passait avant, parce que les pilotes traitaient les données d’image en les traduisant en positions sur un squelette personnes 30 fois par seconde, a été résolu. En effet, utiliser deux Kinect, c’est exécuter des logiciels différents sur deux ordinateurs différents. Une bonne idée, mais qui a amené avec elle toute une nouvelle série de problèmes. Deux coeurs battent à l’unisson: Ci-dessous un dessin technique de l’instrument. Le danseur est sur la gauche, et les Kinect sont braqués sur lui. Une Kinect utilise des pilotes OpenNI pour calculer la position du corps. L’autre Kinect utilise des drivers freenect pour accéder aux données de profondeur à partir de capteur infrarouge. L’ordinateur supérieur est pour le système de musique (PC Windows). L’ordinateur du bas(Mac Pro) contrôle le système visuel écrit en C + + avec OpenFrameworks. Mac et PC travaillent ensemble sur UDP. image_blog_philippespagnoli Le système de musique envoie des données sur son état actuel pour le système visuel. Le système visuel alors envoie l’info midi vers le système de musique lorsque le danseur agit sur un clavier virtuel (lié au mouvement – développé plus loin), ainsi que des informations de synchronisation pour aider l’artiste à faire des mouvements particuliers. L’ordinateur émet des visuels sur 3 écrans. Contrôle de la Musique: Le soft Ableton est extrêmement puissant et a de forte capacité pour cartographier le mouvement physique pour ensuite l’interpréter et lancer une action. Voici une vidéo pour illustrer la configuration Ableton Live de ce projet. Une seconde vidéo pour mettre en avant le système de mouvement qui agit sur le contrôle audio. Dans cet exemple, la distance entre les mains tourne un cadran dans Ableton, et l’angle de rotation contrôle un autre paramètre. Le clavier virtuel: Le clavier virtuel basé sur les gestes a été une grande avancée, et a donné la vitesse (sans décalage) pour jouer des notes en temps réel. La vidéo ci-dessous montre l’évolution de l’idée. Dans un premier essai, il s’agissait d’un bouton géant en face du « joueur ». Lorsque vous poussez votre main en l’air en face de vous, cela déclenche la clé, une action. Ensuite, il y a eu la rupture de l’espace en face du joueur dans une série de boîtes que vous pouvez jouer rapidement, comme un xylophone ou une harpe. Cela a bien fonctionné mais il était difficile de jouer une mélodie spécifique ou un battement complexe. Il y avait un peu de retard introduit par la détection d’image qui était générée pour voir la clé produite par le geste, mais la principale difficulté était le manque de rétroaction du « joueur ». Lorsque vous jouez avec un vrai clavier ou avec un tambour, votre main frappe la surface et s’arrête. Lorsque vous jouez dans un « carré arbitraire virtuel » face à vous, il est difficile de savoir quand intuitivement vous êtes proche de la cible, ou frapper, ou si vous êtes totalement « hors tension ». Il y a eu une grande avancée quand les touches ont été placées sur le côté du lecteur. Lorsque vous déployez entièrement votre bras pour jouer une note, il y a le retour physique de vos articulations qui s’étendent à leurs limites, et jouer de cet instrument est devenu beaucoup plus naturelle. En outre, pour détecter un « hit » ou « miss » tout ce qu’il faut faire c’est de regarder la silhouette du joueur et puis de vérifiez chaque touche rectangulaire. C’est super rapide et réactif. La dernière pièce du puzzle était de définir les claviers virtuels avec leurs fonctions. Le résultat final est un clavier virtuel géant MIDI avec des touches que l’on peut créer et positionner n’importe où dans l’espace. Assemblage de tous les éléments: Cette vidéo montre les instruments disponibles pour l’artiste: « Vox » et « Bass » des claviers, « LFO » contrôle de l’oscillation basse fréquence. « Dough » utilise deux filtres, un contrôlé par la distance entre ses mains et l’autre par la rotation de la «boule de Dough».  » Drums Filtered» est un clavier tambour avec des sons filtrés… Une autre bonne chose sur la division du système en deux parties symbiotiques, c’est que le travail pouvait se faire à 2 mais sur 2 domaines complètement différents.

2) Les visuels

Une vraie performance a été réalisée au centre ville d’Auckland, avec de nombreux haut-parleurs et un ensemble de projecteurs géants éclairant un mur de 30m par 12m, face au danseur en mouvement. Les visuels projetés étaient nécessaires pour être à la fois spectaculaires et instructifs. Il était important que tous ceux qui regardaient le spectacle puissent voir instantanément les effets du danseur sur la création de la musique, et pas seulement voir un danseur bouger au rythme de la musique. Ils ont eu également besoin de placer sur ce spectacle des « feux d’artifice visuels » pour correspondre aux rythmes et à l’intensité de certain moment de la chanson. Le danseur est directement en face du mur de sorte que, vue de derrière, sa silhouette est bien définie dans l’environnement incandescent. Les visuels fonctionnent grâce à un soft en C++, OpenFrameworks. Pour la performance, il a été exécuté sur un Mac Pro avec 16 Go de RAM et une carte vidéo NVIDIA avec 1 Go de VRAM et trois sorties. Le principal résultat visuel pour le mur était en 1920 x 768, la sortie secondaire pour l’autre bâtiment était de 432 x 768, et une troisième sortie vidéo affichait une interface utilisateur afin de surveiller la machine et modifier les étalonnages. Couches à l’intérieur des couches: Pour comprendre comment les visuels allaient fonctionner ensemble, il a fallu organiser un rendu en temps réel en utilisant des couches distinctes empilées et mélangées ensemble pour l’image finale, tout comme des fichiers Photoshop ou After Effects. De cette façon, les couches étaient divisées avec chacune une prise en charge par différentes personnes et mises à jour instantanée. L’illustration ci-dessous montre les 4 couches des visuels; l’arrière-plan, la machine, l’homme vert, et les éléments de l’interface. image_blog_philippespagnoli Pour combiner les couches, ils ont utilisé l’équivalent d’un mélange d’écran comme dans Photoshop. Cela a donné un look idéal pour le style vecteur-moniteur des images avec des lignes qui deviennent plus claires quand elles se chevauchent. Cela s’est avéré être une excellente technique pour augmenter la vitesse de rendu en temps réel. Le mélange d’écran fonctionne d’une manière similaire à un mélange additif, où le noir n’a aucun effet sur la sortie. Donc, cela signifie qu’il n’y a pas besoin d’utiliser un canal alpha. En se débarrassant de la couche alpha, ils ont économisé 8bits par pixel qui, lorsque vous avez un rendu de pixels de plus de 2 millions par image, est un poids en moins. Le paysage: L’équipe a passé des semaines à concevoir des séries d’environnement et des effets qui correspondent aux rythmes de la chanson. Ils ont été en mesure de verrouiller le moment exact des transitions musicales avec les éléments visuels du paysage. Le rendu final a pris plus de 3 heures sur le mur pour assembler puis faire le rendu. image_blog_philippespagnoli Dans le logiciel, la couche paysage contient une vidéo de grande taille qui est précisément synchronisés à la musique. Le grand défi a été de commencer la vidéo au même moment que l’entrée en scène du danseur sur la piste. Pour se faire un signal du système de musique a été envoyé à la machine visuel sur UDP. La lecture a été rapide et stable. En 64-bit, l’accélération matérielle s’exécute dans un thread séparé de sorte que cela fonctionne très bien pour exécuter les 1.9GB Motion JPEG Quicktime à 60fps constant. The Green Man: Pour la partie représentation graphique du danseur sur l’écran, ils ont choisi un effet glitchy / triangulé qui correspondait à l’apparence du reste des éléments visuels. La création de l’effet s’est avéré être simple grâce aux informations de profondeur de Kinect. Au delà d’une distance par rapport à la caméra (4 mètres dans leur cas.), le mouvement est ignoré. S’il n’y a pas d’obstacle autour du sujet, vous pouvez obtenir une silhouette très propre de la personne. image_blog_philippespagnoli A gauche: homme vert faible résolution, A droite: homme vert rendu final Pour créer l’effet triangle, il suffit de lancer la silhouette grâce à quelques étapes de traitement d’image. Dans ce projet, OpenCV a été le soft utilisé pour trouver les contours. Il aura fallu ensuite simplifier en prenant tous les points, puis exécuter cette série de points grâce à une triangulation de Delaunay, puis enfin donner une couleur en fonction des informations de profondeur d’origine pour remplir le triangle. Cela donne un effet subtil de la forme. image_blog_philippespagnoli L’interface utilisateur: L’interface utilisateur de l’instrument est le noyau du projet. Cet interface doit bien comprendre comment l’appareil fonctionne et ce que le danseur est en train de faire pour créer la musique. image_blog_philippespagnoli image_blog_philippespagnoli Les visuels de l’interface sont créés par une combinaison de transitions pré-rendus, qui seront générées par du code pour donner des animations de sprites déclenchés par des actions du danseur virtuel. Pour aider à comprendre ce qu’il se passe, les touches du clavier virtuel changent de couleur lorsqu’ils sont touchés, et les notes que le danseur virtuel a joué sont dessinées dans un arc à travers l’interface. image_blog_philippespagnoli Le second contrôle est surnommé « Dough », parce que l’artiste l’utilise le mouvement du genou pour modeler le son. Dans cet effet, la balle (et le son) se développe quand les mains sont larges, et se rétracte quand ils sont rapprochés, même la rotation de la balle a son effet sur le son. Quand le danseur a le contrôle du LFO, des flèches jaunes se déplacent à la même fréquence que l’oscillation audio qu’il tire vers le haut et écrase le bas. les sprites qui sortent de chaque touche du clavier ont un look distinct. Cette vidéo montre comment chaque animation a été conçue en fonction du son.

Quelle est la suite?

Cette technologie est incroyable et ce n’est que le commencement… Bientôt verrons le jour des versions plus évoluées (v2.0), des créations de boucles plus souples, du VJing temps réel époustouflant, de nouvelles caméras avec des taux de trames plus élevés avec une meilleure résolution, une meilleure réactivité et une plus grande puissance. Pour le fun, une dernière vidéo…

Répondre