Arts numériques 1
Accueil du site / Modules / Code : Processing / Son : Utiliser le volume avec minim

Voici un script qui permet de récupérer le volume d’un micro (en chipotant un peu, d’un son préenregistré) en tant que valeur numérique.

Le code :

import ddf.minim.*;

PFont font;
PImage evans;

float volume;

// A ce seuil l'image est affichée à 100% de sa luminosité
float seuil=4.0;

// initialiser la variable de moyenne
float moyenne=0;

// le tampon determine la ractivité de l'apparition/disparition
int tampon=10;


Minim minim;
AudioInput in;

void setup() {
 size(640,480);
 frameRate(30);
 minim = new Minim(this);
 minim.debugOn();

 // get a line in from Minim, default bit depth is 16
 in = minim.getLineIn(Minim.STEREO, 16);
 font = loadFont("DIN-Light-48.vlw");
 evans= loadImage("evans.jpg");
 textFont(font,24);
 noStroke();

}

void draw() {
   // volume de l'entrée dans le buffer
   volume = in.mix.level()*10;
 
 // moyenne suivant la taille du tampon
 moyenne=((moyenne *tampon) + volume)/(tampon+1);
 
 image(evans,0,0,640,480);
 
 // calcul de l'opacité sur base de la moyenne
 float fade=map(moyenne,0,seuil,255,0);
 fill(0,fade);
 rect(0,0,width,height);
 
 // afficher l'info
 fill(255);
 text("volume : " + volume + ".", 5, 30);
 text("Moyenne : " + moyenne + ".", 5, 60);
 text("Le seuil : " + seuil + ".", 5, 90);
}

void stop() {
 // always close Minim audio classes when you are done with them
 in.close();
 minim.stop();

 super.stop();
}

void keyPressed() {
 if (key == CODED) {
   if (keyCode == UP) {
     seuil+=0.1;
   }
   else if (keyCode == DOWN) {
     seuil -=0.1;
   }
 }
 
}

On utilise simplement la méthode level(), qui renvoie le volume dans une valeur entre 0 et 1. On multiplie ce chiffre par 10 par commodité.
Il est cependant encore trop fluctuant. On en fait donc une moyenne en prenant un nombre de valeur dans le temps. Une moyenne pour éviter les sautes trop fortes dans le script.

De la on obtient un chiffre utilisable pour différentes actions. Stopper, démarrer des animations, par exemple.

Dans cet exemple il est placé un seuil (4 par défaut) qui peut être ajusté avec les flèches bas et haut.

Répondre à cet article

Précédent | 19/27 | Suivant

Forum

  • Son : Utiliser le volume avec minim

    1er avril 2012, par Duncan

    Je voulais relever par cette remarque que je suis ravi de la teneur de ce blog. C’est rare mais les commentaires ne sont pas degrades par du spamco on peut ainsi avoir un vrai debat. Merci a vous ca fait plaisir.

    pneu lisse

    pneu uniroyal rallye 550

    causer ou alorsenrolerou alorsenclencher pneu pneu a prix discount pneu pas cher sur lyon pneumatique alliance ou pneu duro pneu pas cher suisse- pneumatique angers mais aussi pneu allemagne- pneu pas cher chambery- pneumatique lego