Sound 5: Sound Network & P3D

import ddf.minim.*;
import controlP5.*;

ControlP5 cp5;

float travel;

ArrayList<PVector>  pos = new ArrayList<PVector>();

void setup(){
  size(800, 800 );
  
  cp5 = new ControlP5(this);
  
  ///declare a slider with a range of 0 - 1200
  cp5.addSlider("travel")
    .setPosition(40,40)
    .setRange(0,20)
    .setSize(200,20)
    .setValue(4)
    .setColorForeground(color(20,200,200))
     .setColorLabel(color(255))
     .setColorBackground(color(70,70,70))
     .setColorValue(color(0,0,0))
     .setColorActive(color(0,255,255))
  ;
  
  pos = new ArrayList();

  pos.add(new PVector(0,0,0));
}

void draw(){
  background(0);
  
  pushMatrix();
  translate(width/2,height/2);
  PVector lastp =  pos.get(pos.size()-1);
  float newx = random(-travel,travel) + lastp.x;
  float newy = random(-travel,travel) + lastp.y;
  
  pos.add(new PVector(newx,newy,0));
  
  stroke(255);
  
  for(int i = 0; i < pos.size()-1; i++){
    PVector fp =  pos.get(i);
    PVector lp =  pos.get(i+1);
    line( fp.x,fp.y,lp.x,lp.y);
  }
  popMatrix();
}

///camera varibles
int oldx = mouseX;
int oldy = mouseY;
float rotx = 0;
float roty = 0;
float zcam = 0;

void setup() {
  size(1000, 500, P3D);
}

void draw(){
  background(0);
  cam();
  fill(255);
  rectMode(CENTER);
  rect(0,0,200,200);
}

void cam() {
  int newx = mouseX;
  int newy = mouseY;
  translate(width/2, height/2,zcam);
  rotateY(rotx);
  rotateX(roty);
  //rotateZ(PI);
  if ((mousePressed == true)) {
    rotx = rotx + (oldx-newx)/50.0;
    roty = roty + (oldy-newy)/50.0;
  }
  oldx = newx;
  oldy = newy;
}

void mouseWheel(MouseEvent event) {
  float e = event.getCount();
  zcam = zcam - e*5;
}

import ddf.minim.*;
import controlP5.*;

ControlP5 cp5;

float travel;

int value = 0;

ArrayList<PVector>  pos = new ArrayList<PVector>();


///camera varibles
int oldx = mouseX;
int oldy = mouseY;
float rotx = 0;
float roty = 0;
float zcam = 0;

void setup(){
  size(800, 800, P3D);
  
  cp5 = new ControlP5(this);
  
  ///declare a slider with a range of 0 - 1200
  cp5.addSlider("travel")
    .setPosition(40,40)
    .setRange(0,20)
    .setSize(200,20)
    .setValue(4)
    .setColorForeground(color(20,200,200))
     .setColorLabel(color(255))
     .setColorBackground(color(70,70,70))
     .setColorValue(color(0,0,0))
     .setColorActive(color(0,255,255))
  ;
  
  pos = new ArrayList();

  pos.add(new PVector(0,0,0));
}

void draw(){
  background(0);
  
  pushMatrix();
  
  cam();
  
  PVector lastp =  pos.get(pos.size()-1);
  float newx = random(-travel,travel) + lastp.x;
  float newy = random(-travel,travel) + lastp.y;
  float newz = random(-travel,travel) + lastp.z;
  

  pos.add(new PVector(newx,newy,newz));

  stroke(255);
  
  for(int i = 0; i < pos.size()-1; i++){
    PVector fp =  pos.get(i);
    PVector lp =  pos.get(i+1);
    line( fp.x,fp.y,fp.z,lp.x,lp.y,lp.z);
  }
  popMatrix();
}


void cam() {
  int newx = mouseX;
  int newy = mouseY;
  translate(width/2, height/2,zcam);
  rotateY(rotx);
  rotateX(roty);
  //rotateZ(PI);
  if ((mousePressed == true)) {
    rotx = rotx + (oldx-newx)/50.0;
    roty = roty + (oldy-newy)/50.0;
  }
  oldx = newx;
  oldy = newy;
}

void mouseWheel(MouseEvent event) {
  float e = event.getCount();
  zcam = zcam - e*5;
}

import ddf.minim.*;
import controlP5.*;

Minim minim;
AudioInput sound;

ControlP5 cp5;

ArrayList <PVector> pos = new ArrayList<PVector>();

PVector pulseCenter;

FloatList lw = new FloatList();

boolean rand = true;

boolean pulse = false;

float travel;
int threshold;
float random_num;
float pulse_speed;

float distc = 0;

///camera varibles
int oldx = mouseX;
int oldy = mouseY;
float rotx = 0;
float roty = 0;
float zcam = 0;

void setup(){
  size(1200,1200,P3D);
  pos.add(new PVector(0,0,0));
  lw.append(1);
  
  minim = new Minim(this);
  sound = minim.getLineIn(Minim.STEREO, 1024);
   
  cp5 = new ControlP5(this);
  
  ///declare a slider with a range of 0 - 1200
  cp5.addSlider("travel")
    .setPosition(40,40)
    .setRange(0,20)
    .setSize(200,20)
    .setValue(12)
    .setColorForeground(color(20,200,200))
     .setColorLabel(color(255))
     .setColorBackground(color(70,70,70))
     .setColorValue(color(0,0,0))
     .setColorActive(color(0,255,255))
  ;
  
  cp5.addSlider("threshold")
    .setPosition(40,80)
    .setRange(0,200)
    .setSize(200,20)
    .setValue(100)
    .setColorForeground(color(20,200,200))
     .setColorLabel(color(255))
     .setColorBackground(color(70,70,70))
     .setColorValue(color(0,0,0))
     .setColorActive(color(0,255,255))
  ;
  
  cp5.addToggle("rand")
  .setPosition(340,40)
  .setSize(20,20)
  .setColorForeground(color(20,20,20))
  .setColorLabel(color(255))
  .setColorBackground(color(70,70,70))
  .setColorValue(0xffff88ff)
  .setColorActive(color(0,200,200))
  ;
  
  cp5.addSlider("random_num")
    .setPosition(380,40)
    .setRange(0,1)
    .setSize(200,20)
    .setValue(0.5)
    .setColorForeground(color(20,200,200))
     .setColorLabel(color(255))
     .setColorBackground(color(70,70,70))
     .setColorValue(color(0,0,0))
     .setColorActive(color(0,255,255))
  ;
  
  cp5.addToggle("pulse")
  .setPosition(680,40)
  .setSize(20,20)
  .setColorForeground(color(20,20,20))
  .setColorLabel(color(255))
  .setColorBackground(color(70,70,70))
  .setColorValue(0xffff88ff)
  .setColorActive(color(0,200,200))
  ;
  
  cp5.addSlider("pulse_speed")
    .setPosition(740,40)
    .setRange(0,20)
    .setSize(200,20)
    .setValue(2)
    .setColorForeground(color(20,200,200))
     .setColorLabel(color(255))
     .setColorBackground(color(70,70,70))
     .setColorValue(color(0,0,0))
     .setColorActive(color(0,255,255))
  ;
  
  pulseCenter = new PVector(0,0,0);
}

void draw(){
  background(0);
  float hs = 0;
  for(int i = 0; i < sound.mix.size(); i++){ if(sound.mix.get(i) > hs){
      hs = sound.mix.get(i);
    }
  }
  hs = hs * 200;
  fill(70,70,70);
  noStroke();
  rect(40,200,50,200);
  fill(0,255,255);
  rect(40,400,50,-hs);
  stroke(255);
  strokeWeight(2);
  line(100,400-threshold,110,400-threshold);
  
  pushMatrix();
  cam();
  stroke(255);
  
  if(hs>threshold){
      if(pulse == true){
        pulseCenter = new PVector (random(-100,100),random(-100,100),random(-100,100));
        //pulseCenter = new PVector(0,0,0);
        distc = 0;
      }
    }

  
  for(int i = 0; i < pos.size()-1; i++){
    PVector p1 = pos.get(i);
    PVector p2 = pos.get(i+1);
    strokeWeight(lw.get(i));
    line(p1.x,p1.y,p1.z,p2.x,p2.y,p2.z);
    if(pulse == true){
        float dd = PVector.dist(p1, pulseCenter);
        if(abs(dd-distc) < 20){ lw.set(i,20); } } if(hs>threshold){
      if(rand == true){
        float rtest = random(0,1);
        if(rtest > random_num){
          lw.set(i,20);
        }
      }
    }
  }
  
  for(int i = 0; i < lw.size()-1; i++){
    float nlw = lw.get(i);
    nlw = nlw * 0.95;
    lw.set(i,nlw);
    if(nlw < 1){ lw.set(i,1); } } PVector lp = pos.get(pos.size()-1); float nx = random(-travel,travel); float ny = random(-travel,travel); float nz = random(-travel,travel); if((lp.x + nx > 300) || lp.x + nx < -300){ nx = nx * -1; } if((lp.y + ny > 300) || lp.y + ny < -300){ ny = ny * -1; } if((lp.z + nz > 300) || lp.z + nz < -300){ nz = nz * -1; } float newx = lp.x + nx; float newy = lp.y + ny; float newz = lp.z + nz; pos.add(new PVector(newx,newy,newz)); lw.append(1); popMatrix(); distc = distc + pulse_speed; } void cam() { int newx = mouseX; int newy = mouseY; translate(width/2, height/2,zcam); rotateY(rotx); rotateX(roty); //rotateZ(PI); if ((mousePressed == true) && mouseY > 100) {
    rotx = rotx + (oldx-newx)/50.0;
    roty = roty + (oldy-newy)/50.0;
  }
  oldx = newx;
  oldy = newy;
}

void mouseWheel(MouseEvent event) {
  float e = event.getCount();
  zcam = zcam - e*5;
}