这是我的代码:
import ddf.minim.*;
import ddf.minim.analysis.*;
Minim minim;
AudioPlayer player;
AudioMetaData meta;
BeatDetect beat;
float noiseMulti = 300;
int radius = 100;
float nScale = 200;
void setup() {
size(700, 700, P2D);
background(0);
smooth();
minim = new Minim(this);
player = minim.loadFile("pirates.mp3");
player.loop();
meta = player.getMetaData();
beat = new BeatDetect(player.bufferSize(), player.sampleRate());
beat.setSensitivity(300);
}
void draw(){
noStroke();
fill(0);
rect(0,0, width, height);
translate(width/2, height/2);
beat.detect(player.mix);
if (beat.isKick()){
noiseMulti = 300;
nScale = 150;
}
else{
if(nScale >100) nScale *= 0.9;
noiseMulti *= 0.5;
}
stroke(0,255,0);
for (int lat = -90; lat < 90; lat ++){
for (int lng = -180; lng < 180; lng += 2){
float _lat = radians (lat);
float _lng = radians(lng);
float n = noise(_lat * noiseMulti / 100, _lng * noiseMulti / 100 + millis() );
// ellipse(0,0,_lat*100 + n, _lng*100+n);
float x = (radius + nScale * n * _lat);
float y = (radius + n* nScale) ;
// float z = (radius + n * nScale) * cos(_lat) * sin(_lng);
// point (x,y,z);
point (x,y);
}
}
}
void stop()
{
player.close();
minim.stop();
super.stop();
}
我正在尝试使每个频率范围都具有不同的颜色。例如,它使用绿色作为节拍,但是,我试图让它在高音中也有不同的颜色。我使用的歌曲是加勒比海盗中的“Up is Down”。