We are about to switch to a new forum software. Until then we have removed the registration on this forum.
Hello,
I am working on a landscape generator. i had the idea of a Perlin Noise surface wich interacts with sound. I wonder how i can feed it with even more parameters to get it more visible that the sound has an influence on the surface? has anybody an idea or even a similar example i can look on?
This is my code:
import ddf.minim.*;
import ddf.minim.analysis.*;
Minim minim;
AudioPlayer player;
AudioMetaData meta;
BeatDetect beat;
FFT fftLin;
FFT fftLog;
boolean record;                                                
int datascale = 250;
int dsh = datascale / 2;
float[][] data = new float [datascale][datascale];
float incrementation = 0.01;
int dataheight = 190;
int g;
int p;
float fram;
float z = 0.9;
float zoff = 3;
boolean stop;
boolean lnon;
float framspeed = 0.01;
boolean mouseleftpressed;
import peasy.*;
PeasyCam cam;
void setup() {
  background(0);
  stroke(255);
  strokeWeight(1);
  size(1920, 1080,P3D);
    minim = new Minim(this);
  player = minim.loadFile("groove.mp3");
  meta = player.getMetaData();
  beat = new BeatDetect();
  player.loop();
//  player.play();
}
void draw() {
   beat.detect(player.mix);
    lights();
     if(stop==false) {
    fram += framspeed;
  }
 translate(width/2, height/2);
  rotateY(map(mouseX,0,width*0.1,-PI/2,PI/2));           
  rotateX(map(mouseY,0,height*0.1,-PI/2,PI/2));              
int bsize = player.bufferSize();
  for(int i = 0; i < datascale; i++) {                                                                                                     //funktion  incrementation
      for(int j = 0; j < datascale; j++) {
       data[i][j] = 2 * noise((i+bsize)*incrementation/4+52, (j+p)*incrementation/4+35, fram/4) + (noise((i+g)*incrementation,
        (j+p)*bsize + pow(noise((i+bsize)*incrementation, (j+p)*incrementation, fram)*2, 2), fram+zoff)) * dataheight;
     }
   }                                                                                                                                           //funktion
  background(0);        //hier wird geupdated
  scale(2);
  for(int i = 1; i < datascale-1; i++) {                                                                                             //konstruktion
    for(int j = 1; j < datascale-1; j++) {
      if(lnon == true) {
        line((i-dsh)*2, (j-dsh)*2, data[i][j], (i-1-dsh)*2, (j-1-dsh)*2, data[i-1][j-1]);
        line((i-dsh)*2, (j-dsh)*2, data[i][j], (i-1-dsh)*2, (j+1-dsh)*2, data[i-1][j+1]);
      }else{
        noStroke();
        beginShape(TRIANGLE_STRIP);
          vertex((i-dsh)*2, (j-dsh)*2, data[i][j]);
          vertex((i-dsh)*2, (j+1-dsh)*2, data[i][j+1]);
          vertex((i+1-dsh)*2, (j-dsh)*2, data[i+1][j]);
          vertex((i+1-dsh)*2, (j+1-dsh)*2, data[i+1][j+1]);
        endShape(CLOSE);
      }
    }
  }        
 }                                                                                                                                  //konstruktion 
            
Answers
http://macobo.github.io/WebGL-Audio-Visualization/#/terrain
thats what i am looking for, any ideas?