Punto que crece según la intensidad sonora


En este proyecto, un punto en medio de la pantalla reacciona según la intensidad sonora dentro de processing


import processing.sound.*;

AudioIn input;
Amplitude loudness;

void setup() {
  size(640, 360);
  background(255);

  // 
//Cree una entrada de audio y tome el primer canal
  input = new AudioIn(this, 0);

  // Begin capturing the audio input
  input.start();
  // start() activa la captura de audio para que puedas usarla como
  // la entrada al análisis de sonido en vivo, pero NO causa el
  // audio capturado para reproducirlo. si tu tambien quieres el
  // entrada de micrófono para reproducir, llame
  // entrada.reproducir();
  // en su lugar (tenga cuidado con el volumen de su altavoz, podría producir
  // comentarios de audio dolorosos. ¡Es mejor probarlo primero con auriculares!)
  // Crear un nuevo analizador de amplitud
  loudness = new Amplitude(this);

  // Parchear la entrada al analizador de volumen
  loudness.input(input);
}


void draw() {

// Ajusta el volumen de la entrada de audio según la posición del mouse
  float inputLevel = map(mouseY, 0, height, 1.0, 0.0);
  input.amp(inputLevel);

  // loudness.analyze() devuelve un valor entre 0 y 1. Para ajustar
  // la escala y mapeo de una elipse escalamos de 0 a 0.5
  float volume = loudness.analyze();
  int size = int(map(volume, 0, 0.5, 1, 350));

  background(125, 255, 125);
  noStroke();
  fill(255, 0, 150);
  //Dibujamos un círculo cuyo tamaño se acopla al análisis del audio
  ellipse(width/2, height/2, size, size);
}

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *