Technologica from Pilu Caballero on Vimeo.
Thanks to AndrƩ Jones for his support and hours of patience ;)

bliss lane
d e v o n
Cosmic Funnies

Jar Jar Binks Fan Club
KIROKAZE

cherry valley forever

izzy's playlists!
Doug Jones
ojovivo
todays bird
Interview Vampire Daily


blake kathryn
Aqua Utopiaļ½ęµ·ć®åŗć§čØę¶ćē“”ć
YOU ARE THE REASON

⣠Chile in a Photography ā£
Color Me Curious

#extradirty

PR's Tumblrdome
seen from Germany
seen from Honduras
seen from Syria

seen from Canada

seen from United States

seen from Russia
seen from Morocco

seen from Ukraine

seen from Malaysia
seen from Brazil
seen from South Africa
seen from Russia

seen from Malaysia

seen from France
seen from Colombia

seen from Belgium
seen from Bangladesh

seen from United States
seen from Colombia
seen from United States
@ipilucaballero
Technologica from Pilu Caballero on Vimeo.
Thanks to AndrƩ Jones for his support and hours of patience ;)

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch ⢠No registration required ⢠HD streaming
"galaxyHearts" from Pilu Caballero on Vimeo.
"galaxyHearts" is just a liveCoding experiment for practice audio-textures in real time, develope with Processing 2.0. Unofficial vĆdeo music from "Perpetual-Gone Girl" album by Trent Reznor & Atticus Ross Sevilla, 2014
I love Ikeda things from Pilu Caballero on Vimeo.
Path Data by Ryoji Ikeda at Telefonica Space in Madrid
Kinect experiments with sound from Pilu Caballero on Vimeo.
Basic experiments for trigger sound during my research at Digital technologies for Stage posdegree in IDEC- Pompeu Fabra, Barcelona. 2011
Kinect interactive floor from Pilu Caballero on Vimeo.
The interactive floor reacts to the pressure sensors that trigger sound with Max/MSP trough Maxuino; and Kinect Processing generative visualizations reacts to the sound output that Max/MSP generates. Developed by Pilu Caballero with Marta Verde as final project of Digital Technologies for the Scene program. Idec-UPF. Barcelona 2011 *** mentioned on Kinect Hacks network: kinecthacks.com/kinect-interactive-floor/

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch ⢠No registration required ⢠HD streaming
gltchFields from Pilu Caballero on Vimeo.
This video is about getluckychurro
"Sunset" from Pilu Caballero on Vimeo.
Experimental and Audio reactive graphics made with Processing Programming Language. I triggered sound to composition data. Sounds made with one of my touch synthesizers. Analog Synth build with copper tape and conductive ink called barepaint. Granada, 2013.
Fruit Orchesta : Midi Fruits Project design & develope for Netlabel Caballito.Org. Opening at Los Viernes Bonsai Festival. With makey makey micro-controllers, fruits, processing sketch comunicate by OSC to Max for send bangs to Ableton Live trought maxforlive.Ā
In collaboration with Animatek
GreenLab : Teaching creative electronic to children at GranHub. MƔlaga, 2013

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch ⢠No registration required ⢠HD streaming
liPov : Design & Develope Interaction light device based in POV. Ā Wearable for codeFolkers(){ Openings with lilyPad microcontroller for wearables. Programing with Arduino. Granada, 2012
Emir Surprise : Interactive application develope with Marta Verde for Ras Gas Company at World Petroleum Congress. We use Arduino Xbee Tecnologies, BlinkM leds, Arduino. Creative code with Arduino & Processing.Ā
Here you can find some lines of code:Ā
Por aquĆ algo de code
import oscP5.*; import netP5.*;
import processing.opengl.*;
PFont Title; int tituloX = 800; int tituloY = 830;
OscP5 oscPx; OscP5 oscPy; NetAddress myRemoteLocation;
PImage mapImage;
PImage gota; Table locationTable; Table nameTable; Table fotosTable;
int rowCount;
int segundos;
int posX, posY; int realX = width/2; int realY = height/2;
Table dataTable; float dataMin = 3.; float dataMax = 15.;
Integrator[] interpolators; int opacity = 0; int direction = 1;
void setup() { // size(1400, 788); setupPantalla(OPENGL); frameRate(25); oscPx = new OscP5(this, 7000);
realX = width/2; realY = height/2; //oscPy = new OscP5(this, 7001);
myRemoteLocation = new NetAddress(ā127.1.1.0ā³, 7000);
noCursor(); mapImage = loadImage(āmap.pngā);
imageMode(CENTER); gota =loadImage(āgota_verde.pngā); imageMode(CORNER);
locationTable = new Table(ālocations.tsvā); nameTable = new Table(ānames.tsvā); rowCount = locationTable.getRowCount();
dataTable = new Table(ārandom.tsvā); interpolators = new Integrator[rowCount]; for (int row = 0; row < rowCount; row++) { float initialValue = dataTable.getFloat(row, 1); interpolators[row] = new Integrator(initialValue, 0.5, 0.01); }
PFont font = loadFont(āVAGRounded-Lt-Normal-28.vlwā); textFont(font);
smooth(); noStroke(); //frameRate(30);
}
float closestDist; String closestText; float closestTextX; float closestTextY; void draw() { background(255); smooth(); updateTable(); //cargar mapa image(mapImage, 0, 0); //imageMode(CENTER); fill(255, 200);
text(āRasGas has a diversified worldwide portfolio of customersā, tituloX, tituloY); //image(gota, mouseX-40, mouseY-20);
//FROM QATAR TO THE WORLD segundos = second(); for (float i = 0; i<segundos; i=i+4) { float anchoCirculo = map(i, 0, 59, 0, 70); strokeWeight(2); stroke(255, 100); // noStroke(); //fill(255,255,255, 5); noFill(); ellipse(1236, 383, anchoCirculo, anchoCirculo); } //====================
for (int row = 0; row < rowCount; row++) { interpolators[row].update(); }
closestDist = width*height; // abritrarily high
for (int row = 0; row < rowCount; row++) { String abbrev = dataTable.getRowName(row); float x = locationTable.getFloat(abbrev, 1); float y = locationTable.getFloat(abbrev, 2); drawData(x, y, abbrev); }
if (closestDist != width*height) { //========fade in texto opacity += 3 * direction; if ((opacity < 0) ) { direction = direction;
} if (opacity == 255){ opacity = 255; opacity = 0; } fill(255, opacity);
textAlign(CENTER); textMode(MODEL); text(closestText, closestTextX, closestTextY);
} if (realX < 50){ realX = 50; }
if (realX > 1830){ realX = 1830; }
if( realY < 50){ realY = 50; }
if(realY>960){ realY = 960; }
if (posX != 0 ) { posiciona(); image(gota,realX,realY);
} else if( posY != 0){ posiciona(); image(gota,realX, realY); }
if (posX == 0) { image(gota, realX, realY); }
if(posY == 0){ image(gota, realX, realY); }
} void drawData(float x, float y, String abbrev) { // Figure out what row this is int row = dataTable.getRowIndex(abbrev); // Get the current value float value = interpolators[row].value;
float radius = 0; if (value >= 0) { radius = map(value, 0, dataMax, 5, 15); noStroke(); fill(255, 150); } ellipseMode(RADIUS); ellipse(x, y, radius, radius);
float d = dist(x, y, realX, realY); if ((d < radius + 15) && (d < closestDist)) {
closestDist = d; String name = nameTable.getString(abbrev, 1); String val = nfp(interpolators[row].target, 0, 2); //texto + posicion closestText = name + ā ā; closestTextX = x; closestTextY = y+ 50; //circulo verde + grande fill(#003399,150); ellipseMode(RADIUS); ellipse(x, y, radius+10, radius+10);
}
}
void updateTable() { for (int row = 0; row < rowCount; row++) { float newValue = random(dataMin, dataMax); interpolators[row].target(newValue); } }
void oscEvent (OscMessage theOscMessage){ posX=theOscMessage.get(0).intValue(); //println(āx ā+theOscMessage.get(0).intValue()); posY=theOscMessage.get(1).intValue(); //println(āy ā+theOscMessage.get(0).intValue());
}
void posiciona() { if (posX == 1) { realX +=3; } if (posX == -1) { realX-=3; } if(posY == 1){ realY-= 3; } if(posY == -1){ realY+=3; } }
class Integrator { //era 1 final float DAMPING =1f; final float ATTRACTION = 0.2f;
float value; float vel; float accel; float force; //era 1 float mass = 0.1;
float damping = DAMPING; float attraction = ATTRACTION; boolean targeting; float target; Integrator() { } Integrator(float value) { this.valueĀ = value; } Integrator(float value, float damping, float attraction) { this.valueĀ = value; this.damping = damping; this.attraction = attraction; } void set(float v) { value = v; } void update() { if (targeting) { force += attraction * (target ā value); }
accel = force / mass; vel = (vel + accel) * damping; value += vel;
force = 0; } void target(float t) { targeting = true; target = t; } void noTarget() { targeting = false; } }
Design and Develope Arduino Interactive Floor.Ā
Mapping develope by Pilu Caballero, Marta Verde y Lucas Ricoy for Ras Gas Company. Doha, 2011. Screen 12m x 7m
Design & Develope Mapping for CompaniesĀ

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch ⢠No registration required ⢠HD streaming
Wearables for Events Companies. Lightning Interactive Suits for Hostest based in fiber optics fabrics. Develope with Arduino. Fiber optics detect people by a Proximity sensor and reacts emitting soft lights. Any colour is possible.Ā
Empanada de Bits 2.0 : Live coding project for LPM Festival. Rome, 2011