写的一个processing可视化交互音频案例


import ddf.minim.analysis.*;
import ddf.minim.*;

Minim       minim;
AudioPlayer jingle;
FFT         fft;

void setup()
{
  size(1920, 1080, P3D);
  smooth();
  minim = new Minim(this);
  
  jingle = minim.loadFile("1.mp3", 1024);
 
  jingle.loop();
  

  fft = new FFT( jingle.bufferSize(), jingle.sampleRate() );
  colorMode(HSB,255,255,255);
}

void draw()
{
   background(255);
  noFill();
  stroke(0);
   fft.forward( jingle.mix );
  for (int i = 0; i < 20; i=i+1) {
    //用毫秒数和i简单运算做个错位,除以6.18来调节一下快慢,角度转弧度
    float degree = radians((millis()+50*i)/6.18);
    //弧度用在正玄波里
    float pingPong = sin(degree);
    //正玄波mapping到笔触粗细上
    float sw = map(pingPong, -1, 1, 50, 10);
    strokeWeight(sw);
    //正玄波mapping到圆圈大小上
    //float r = i*map(pingPong, -1, 1, 160, 60);
     for(int j = 0; j < fft.specSize(); j++)
  {
   // stroke(i/random(2),255,255);
    //line( i, height, i, height - fft.getBand(i)*8 );
    //line(0,height,width/2,300-fft.getBand(i)*8 );
    //line(width,height,width/2,300-fft.getBand(i)*8 );
    ellipse(width/2,height/2,fft.getBand(j)*8 ,fft.getBand(j)*8 );
  
  }
  }
  
  
 
  

}

自己再data里面添音乐,可以换风格!
写的一个processing可视化交互音频案例_第1张图片

你可能感兴趣的:(Processing)