Comment joindre le son et son acteur avec l'espace ?
L'installation proposée permet de créer un univers graphique scénique et visuel tout en offrant une grande liberté d'intervention sur la musique. Elle s'adapte au titre Love Like a Sunset de Phoenix. Ce morceau, comme une accumulation sonore, renvoie au voyage. Un résultat abstrait se présente suite aux expériences graphiques opérées sur des visuels de paysages (montagne). Ils permettent une superposition des traits et aplats crées, renvoyant à la manipulation possible des samples de Phoenix. Chque sample correspond à un module (volume pyramidale) et s'active au paysage d'une main en dessous. Ces zones de réactivité sont générées par la Kinect et le programme sous Processing.
Kinect avec connection USB pour PC/MAC + vidéoprojecteur
Librairies nécessaires pour Kinect:
Fichier d'installation : installation_kinect.zip
Attention : deux onglets
// LIBRAIRIES
import processing.opengl.*; // librairie qui initialise la 3D
import SimpleOpenNI.*; // librairie de la kinect
import ddf.minim.*; // librairie de son
// VARIABLES GLOBALES
SimpleOpenNI kinect;
float rotation = 0;
Minim minim;
// Déclaration d'un TABLEAU dynamique "ArrayList" contenant les objets de type "AudioPlayer" (les sons) ( qui sont associés aux cubes/hotpoint)
ArrayList<AudioPlayer> playList;
// Déclaration d'un TABLEAU dynamique "ArrayList" contenant les objets de type "Hotpoint" (cubes spatiaux)
ArrayList<Hotpoint> trigers;
int nbHotpoint = 8 ; // nombre de hotpoints (cubes spatiaux)
// Déclaration d'un TABLEAU dynamique "ArrayList" de PVector ( de vecteurs) contenant les positions des cubes spatiaux
ArrayList<PVector> trigerPos;
// Déclaration d'un TABLEAU dynamique "ArrayList" d' IMAGES
ArrayList <PImage> images;
// DEFINTION DE LA POSITION exact des hotpoints (cubes spatiaux) dans l'espace sachant que 1000 pixels = 1m
//IRCAM (devant CS)
float posX3 = -750, posY3 = 000, posZ3 = 2100;
//CS (tout au fond gauche)
float posX13 = -550, posY13 = 000, posZ13 = 2500;
//Reich(tout au fond droite)
float posX30 = 550, posY30 = 000, posZ30 = 2600;
//Oiseau (devant reich)
float posX32 = 750, posY32 = 000, posZ32 = 2200;
//Guit
float posX35 = -500, posY35 = 000, posZ35 = 1800;
//AC
float posX36 = 200, posY36 = 000, posZ36 = 1300;
//Nu
float posX38 = 500, posY38 = 000, posZ38 = 1800;
//HH
float posX54 = -200, posY54 = 000, posZ54 = 1300;
////////////////////////////////////////////SETUP
void setup() {
size(2048, 1100, OPENGL); //taille ecran de la salle : 2048*1100 // ECRAN ORDI PORTABLE MORGANE 2048*745
kinect = new SimpleOpenNI(this); // instancie la librairie SimpleOpenNi
kinect.enableDepth(); // permet la profondeur
minim = new Minim(this);
// CREATION DE LA LISTE (Arraylist) DE SONS (playList) initialement vide
playList = new ArrayList<AudioPlayer>();
// REMPLISSAGE DE LA LISTE (par importation de sons dans la playlist)
//IRCAM
playList.add(minim.loadFile("IRCAM3.mp3"));
//CS
playList.add(minim.loadFile("CS1.mp3"));
//reich
playList.add(minim.loadFile("Reich.mp3"));
//Oiseau
playList.add(minim.loadFile("GtrOis