Génération de son en fonction de la position et de la vitesse de déplacement du curseur souris.
Sources: generateSoundWithMouse.pde / Processing 3.0.1 + Librairie sound
import processing.sound.*;
SinOsc sin;
//variable de calcul de la vitesse de deplacement
float pMx = 0;
float pMy = 0;
float mouseSpeed;
void setup(){
size(1280, 960);
background(255);
//creation de l'objet son createSound();
}
void draw(){
// stockage de la distance entre la derniere position et la position actuelle de la souris
mouseSpeed = dist(pMx, pMy, mouseX, mouseY);
changeSoundVolume();
changeSoundFrequency();
changeSoundPanorama();
// stockage de la position de la souris
pMx = mouseX;
pMy = mouseY;
}
// fonction de creation de l'objet son
void createSound(){
sin = new SinOsc(this);
sin.play();
}
// fonction de variation du volume suivant hauteur de la souris void changeSoundVolume(){
float newAmp = mouseY - height;
float mapAmp = map(newAmp, 0, height, 0, 1);
sin.amp(mapAmp);
}
// fonction de variation de la fréquence suivant vitesse de déplacement
void changeSoundFrequency(){
float newFreq = (mouseSpeed*10)+200;
sin.freq(newFreq);
}
// fonction de variation stereo suivant position horizontale de la souris
void changeSoundPanorama(){
float newPan = mouseX - width/2;
float mapPan = map(newPan, 0, width, -1, 1);
sin.pan(mapPan);
}
Comments are closed.