motion reactive:

GoldFish Orchestra

“Quintetto” is a nice little installation based on the study of the movement of goldfish used as input for the production of sounds. The fish’s movement is motion captured and translated into sound – each fish representing a different musical instrument.

Quintetto_1.jpg

http://www.quietensemble.com/

Lightweeds: Living digital projections

lightweeds2

lightweeds1

I fell in love with Simon Heijdens’ light work many years ago, so was happy to recently rediscover it.

Lightweeds are a living digital organism growing in an indoor space. Uniquely generated plant families grow up, move and behave closely depending on actual sunshine, rainfall and wind as measured live outside. On passing human traffic they bend, loose their seeds and pollenate to other walls throughout the space, to make up a constantly evolving wallpaper that reveals the character of the space and it’s use.

tree

One of his first works I saw that brought me joy was Tree, shown above. Simple and beautiful.

‘I’m absolutely not interested in instant reaction and press button interaction. I don’t want to animate, I want to make a project that is animated through its surroundings’ Heijdens says.

http://www.simonheijdens.com

Singapore Science Centre reactive flooring

This is pretty cool. A reactive pixel LED floor at the Singapore Science Centre:

White Void

White Void have done some cool stuff over the years. I remember noticing them when they brought out their Midi Gun, alternative midi controller.

Here’s some of their projects:

Tone ladder – A ladder equipped with sensors becomes a musical instrument:

Polygon playground – a large scale interactive lounge object featuring a software aided 3D surface projection system covering the object with a seamless 360 degree projection mapping, with motion and proximity sensing:

http://www.polygon-playground.com/

Motion Tracking 80s stylee

1980s disco gem Mai Tai – “History” with top notch motion tracking effects.

Processing Blinds

processing blinds

Another oldish sketch I dug up. The idea was to project it onto a store window, and then a passerby would need to pull open the blinds to see in the store.

It used to be quite processor heavy, so reworked the motion detection code to try and speed it up. By pre-calculating the grid positions on the screen I managed to achieve a significant speed increase.

UPDATE: Just noticed some other places where code can be speeded up. Will update the code when I get time.

View the sketch here.

Here’s the motion detection part of the code:


import processing.video.*;
Capture myCapture;
color newPixel;
color[] prevFrame;
float speed = 10;
float sensitivity = 0.64;
float targetX, targetY, myX, myY, avX, avY;
int cxLoc, cyLoc;
int counter=0;
int totalBlocks=0;
int[] cX= new int[5000];
int[] cY= new int[5000];
// precalculating the grib
void precalc(){
for(int y = 0; y < 30-1; y++){
for(int x = 0; x < 40-1; x++){
cX[counter] = x*(width/40);
cY[counter] = y*(height/30);
counter++ ;
}
}
totalBlocks=counter;
}
void initVid () {
String s = "IIDC FireWire Video";
myCapture = new Capture ( this, width, height, 4);
prevFrame = new color[width*height];
}
void captureEvent ( Capture myCapture ) {
myCapture.read();
}
void motion () {
avX = 0;
avY = 0;
counter = 0;
for(int i = 0; i < totalBlocks; i++){
if(motionTest(i,width/40,height/30)==true){
avX += cX[i];
avY += cY[i];
counter ++;
}
}
if (avY<=0) avY=myY;
if (avX<=0) avX=targetX;
if (avY>0 && avX>0 && counter>0){
targetX=width-avX/counter;
targetY=avY/counter;
}
myY += (targetY-myY)/speed;
myX += (targetX-myX)/speed;
}
boolean motionTest(int j,int tw, int th){
int dc=0; // counter to track number of differences
//print(j);
// ave. out a square
for(int y=0;y for(int x=0;x // int srcPos=((srcY+y)*width)+(srcX+x);
int srcPos=((cY[j]+y)*width)+(cX[j]+x);
// int srcPos=cY[j]*(width)+cX[j];
newPixel = myCapture.pixels[srcPos];
if(abs(red(newPixel)-red(prevFrame[srcPos]))>25) dc++;
prevFrame[srcPos]=newPixel; // update prevFrame w/ current pixel clr
}
}
if(dc>(sensitivity*(tw*th))){ return true; } else{ return false; }
}

Reactive Video: Peter Saville Tribute

saville

Dug up this old sketch I did – the Peter Saville Tribute, and added sound reactiveness.

Instructions:
Press ‘s’ to turn on sound reactive response.
Use up and down arrow keys to increase or decrease the grid.
Drag with mouse to change perspective.

View here. or download the application (mac/pc/linux).