// By Scott Brown 16 October 2009 // http://kodama.angrypixel.org import krister.Ess.*; import processing.video.*; int bufferSize = 512; int mountainHeight; PImage mountain; AudioInput micInput; FFT micFFT; Capture video; void setup() { size(640, 480); // Start ESS, AudioInput and FFT Ess.start(this); micInput = new AudioInput(bufferSize); micFFT = new FFT(); micInput.start(); // Load up mountain image mountain = loadImage("mountain.png"); video = new Capture(this, width, height, "Sony HD Eye for PS3 (SLEH 00201)"); } void draw() { // Move mountain with level int mountainHeight = (int)(micFFT.getLevel(micInput)*255+400); image(mountain, 0, mountainHeight); if (video.available()) { video.read(); // Read a new video frame background(video); } } public void stop() { Ess.stop(); super.stop(); }