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里面添音乐,可以换风格!