Lautstärke ermittlen in Processing

Hinzugefügt am von Jonas Loh
Neben der Position im Audiodokument und dessen Steuerung, erlaubt die minim Bibliothek das Auslesen von Eigenschaften. Eine bezeichnendes Kriterium ist die wiedergegebene Lautsträke zu einem bestimmten Zeitpunkt. Während des Abspielens durch den play() Aufruf, kann im draw() das sogenannte 'level' für jedes Einzelbild erfragt werden. Die mix.level()-Funktion beschreibt die Auslastung dieses Merkmals in einem Wertebereich von 0 und 1.
Das Objekt mix repräsentiert das Sterosignal, welches sich aus dem linken (left) und dem rechten (right) Kanal zusammen setzt.

Der Sketch

import ddf.minim.*;

Minim minim;
AudioPlayer player;

void setup () {
  // Sketch einrichten
  size (320, 240);
  noStroke ();
  
  // Audiodatei laden und abspielen
  minim = new Minim (this);
  player = minim.loadFile ("track.aif");
  player.play ();
}

void draw () {
  // Schwarzes semitransparentes Recht 
  // über die gesamte Bühne zeichnen
  fill (0,30);
  rectMode (CORNER);
  rect (0, 0, width, height);
  
  // Größe des Quadrats in Abhänigkeit von
  // der Lautstärke berechnen
  float dimension = player.mix.level () * 250;
  
  // Rechteck zeichnen
  fill (255);
  rectMode (CENTER);
  rect (width/2, height/2, dimension, dimension);
}