オーディオビジュアライザーってかっこいいので作りたくなることがあります。自分も今回初めて正式名称を知りましたが、オーディオビジュアライザーとは音の大きさによってぴょこぴょこする棒のことです。

 今回はProcessingで作成するのでminimライブラリの中にあるFFTという機能を使います。そもそもオーディオビジュアライザーとはFFT(高速フーリエ変換)の結果をかっこよく表示したものなので、FFTをすれば後は表示するだけです。
 ↓のような画面ぐらいならすぐに作ることができます。
 この時に前回(http://blog.livedoor.jp/chisato_tofu/archives/25956603.html)のソフトを使用するとデスクトップ音声のオーディオビジュアライザが使用できます。

 ↓に今回のコードを載せておきます。
  1. import java.util.Random;
  2. import ddf.minim.*;
  3. import ddf.minim.analysis.*; 
  4. import ddf.minim.effects.*;
  5. import ddf.minim.signals.*;
  6. import ddf.minim.spi.*;
  7. import ddf.minim.ugens.*;

  8. Minim minim; 
  9. AudioInput in; 
  10. FFT fft; 
  11. int w;

  12. void setup() {
  13.   size(1920, 1080);
  14.   colorMode(HSB, 360, 255, 255, 255);
  15.   strokeWeight(5);
  16.   fill(180, 255, 255, 100);
  17.   minim = new Minim(this);
  18.   in = minim.getLineIn(Minim.STEREO, 512);//デフォルト入力をProcessingに取り込み
  19.   fft = new FFT(in.bufferSize(), in.sampleRate()); 
  20.   fft.logAverages(60, 2);//(FFTのバンドの数,FFTのオクターブ当たりの分割数)を設定
  21.   w=width/fft.avgSize();
  22. }

  23. void draw() {
  24.   background(0);
  25.   fft.forward(in.mix);
  26.   for (int i = 0; i < fft.avgSize(); i++) { //オーディオビジュアライザを描画
  27.     rect((i*w), height, w, -fft.getAvg(i) * 50);
  28.   }
  29. }