Press "Enter" to skip to content

Generate sound with mouse / Processing

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.