Projet #3 : Audio, Video, Disto


Mélange de boucles sonores, d’effets visuelles et de gaming, Audio, Video, Disto est une installation musicale et visuelle interactive. Avec une ou deux manettes, prenez le contrôle d’un mapping sur kit Olga : découvrez et créez votre propre scénographie entre image et son, DJing et Mapping !

img_1251


Présentation

Dans le cadre d’une soirée du collectif OYÉ, j’ai travaillé en octobre sur le développement d’une installation artistique interactive. Après avoir testé les possibilités qu’offrent les manettes de PS3 pour le contrôle MIDI (j’ai résumé mes travaux ici), en m’assurant notamment de leurs robustesses (continuité du signal et de la réception, distance d’utilisation, etc) et de leurs excellentes performances en latences durant plusieurs DJ sets, je choisissais donc d’en intégrer dans mes projets.

Comme souvent, je m’orientais rapidement vers le développement d’une interface visuelle (grâce au videomapping que j’explore actuellement) et sonore, dans la continuité de mes différents travaux artistiques. Je décidais alors d’utiliser pour cela la puissance du séquenceur Ableton Live, couplé à la versatilité du logiciel de video-mapping HeavyM. Enfin, je choisissais Pure Data Extended, comme centre nerveux, recueillant les données transmises par les manettes pour les traiter et les transformer en commandes transmises via le protocole MIDI vers les deux logiciels utilisés.

Le schéma ci-dessous représente le fonctionnement initial de ce projet :

Schéma du fonctionnement initial de l’installation.

Par la suite, je choisis d’utiliser les fonctionnalités de réaction à la musique offertes par le logiciel HeavyM en utilisant dans un premier temps le micro intégré à mon laptop avant de détourner directement avec Loopback le flux audio produit par Live :

Schéma de fonctionnement de l’installation en ajoutant la réaction du video-mapping au flux audio.

 


Mapping des manettes

Les manettes permettent de contrôler simultanément les séquences audio et le video-mapping selon le fonctionnement suivant :

Il existe quatre pistes (ou « Deck ») sonores, ne jouant qu’un seul sample à la fois. Nous les appellerons A, B, C et D.

Chaque manette permet de contrôler deux pistes : on sépare virtuellement chaque manette en deux, les boutons et joysticks situés à gauche permettent de contrôle une première piste (A par exemple), les autres situés à droite contrôlent une deuxième piste (B donc). Le schéma ci-dessous représente ce fonctionnement (en jaune, la piste A, en orange la piste B), et ainsi de suite pour la seconde manette et les pistes C et D respectivement en rouge et violet :

Mapping Manette 1.

Mapping Manette 2.

Chaque bouton latéral (bas, gauche, haut, droite pour les pistes A et C et croix, carré, triangle, rond pour les pistes B et D) lance la lecture d’un sample (parmi 4 donc) dans la piste associée (A, B, C ou D) tandis que les boutons start et stop arrêtent la lecture de la piste. Les gâchettes L1 et L2 permettent d’utiliser un effet audio (piste A pour la manette 1, C pour la manette 2) et video (qui s’applique à l’ensemble du mapping) modulés via les joysticks.

Enfin, un clique sur les joysticks permet de changer de set (accéder à de nouveaux samples) ce qui provoque un changement automatique du tempo, tout en modifiant également le mapping.

 

Fonctionnement Audio/Video Manette 1.

 

Idem pour la Manette 2 :

Fonctionnement Audio/Video Manette 2.

 


Traitement audio et video

Nous avons découvert dans le paragraphe précédent le fonctionnement global de l’installation. Nous étudierons ici les effets audio et video utilisés. Je les ai choisis de manière à ce qu’il y ait une correspondance, naturelle entre l’effet audio et l’effet visuel.

Enfin, les joysticks, modifient directement l’intensité et les paramètres des effets utilisés. Pour les effets visuels un seul paramètre est adressable (Val), mais sur Live certains effets nécessitent au moins deux paramètres et sont adressés grâce aux contrôles horizontaux et verticaux des joysticks. C’est le cas par exemple pour la Fréquence de coupure (Frequency) et à la Résonance (Resonance) pour les filtres passe-hauts (HP Filter) et passe-bas (LP Filter) qui profitent de l’interaction X,Y offerte par les joysticks.

Pour la Manette 1 et les pistes A (boucles) et B (voix) :

Fonctionnement détaillé Manette 1.

 

Pour la Manette 2 et les pistes C (boucles) et D (drums) :

Fonctionnement détaillé Manette 2.

 

Finalement, on retrouve sur le set Ableton Live ci-dessous, nos 4 pistes de gauche à droite ainsi que les quatre différents sets de haut en bas.

Projet Ableton Live.

Pour la Manette 1, les pistes A et B sont dédiées respectivement aux boucles (LoopsA) et aux voix (Voix), tandis que pour la Manette 2 les pistes C et D sont dédiées respectivement à d’autres boucles (LoopsB) et à des samples de rythmique (Drums). Concernant les sets, le premier est plutôt hip-hop, réglé à 110 bpm, le deuxième house (115 bpm), le troisième électronique-pop (120 bpm) et le dernier techno (130 bpm).

 


Projet Pure Data et gestion des contraintes logicielles

 

On retrouve sur le projet Pure Data les contrôles dédiés à la Manette 1 à gauche et la Manette 2 à droite. Au milieu, il s’agit de la gestion des sets et du changement automatique de tempo.

Projet Pure Data Extended.

Pour mener à bien ce projet, il m’a fallut contourner de nombreuses contraintes et résoudre plusieurs problèmes :

Pour le video-mapping, HeavyM n’accepte pas que deux paramètres soient contrôlés par un même élément, il m’a donc fallut dupliquer certaines commandes d’effets, que l’on retrouve à droite du projet.
De plus, les contrôles par défaut d’HeavyM sont dit « toggle » : un effet fonctionne lorsque on appuie sur un bouton puis s’arrête lorsqu’on appuie à nouveau sur ce bouton. Je préférais un contrôle « direct », similaire à ce que j’avais prévu sur Ableton : l’effet fonctionne dès que l’on appuie sur un bouton et s’arrête lorsque ce dernier est relaché. Pour cela, j’ai programmé ma commande pour qu’elle envoie un signal durant seulement 100ms pour activer l’effet (grâce à l’objet delay) puis faire de même lors du relachement du bouton. J’avais déjà traité de cet aspect lors de mon article d’introduction au mapping des manettes. Cette solution n’est malheureusement pas parfaite, lorsque HeavyM reçoit trop d’informations en même temps, certains effets peuvent rester bloquer.

Pour l’audio, j’ai décidé d’envoyer des commandes identiques quel que soit le set audio, mais sur des bus MIDI virtuels différents (il s’agit de la commande set). À chaque changement, le tempo s’adapte pour le style choisi grâce à des commandes de tempo envoyées par Pure Data.

Cette gestion des sets et du tempo, fut l’une des parties les plus difficiles : en effet, il fallait créer une variable cyclique permettant d’accéder aux quatre sets, pour commander le changement de bus MIDI côté audio, et la projection des différents sets video-mappés côté mapping, le tout en suivant le schéma présenté ci-dessous :

 

 

Pour finir, j’aurais voulu modifier directement le mapping de certaines zones en fonction des samples choisis, mais j’ai été obligé de laisser cet aspect de côté. En effet la modification du mapping de certaines zones (on parle de « groupes » sur HeavyM) nécessitait de sélectionner ces zones au préalable, or l’envoi simultanée d’une commande de choix de groupe et de modification n’était pas satisfaisant. J’aurais pu comme je l’ai fais précédemment imposer une latence sur l’envoi de la commande de modification pour envoyer à coup sûr la commande de choix de groupe d’abord, avant toute modification mais dans ce cas, je risquais de compromettre la synchronicité du lancement de sample sur la modification du mapping (et donc avoir une certaine latence), compromis que j’ai décidé de ne pas faire.

 


Photos et Video

 

Laissez un commentaire

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