Technologica from Pilu Caballero on Vimeo.
Thanks to André Jones for his support and hours of patience ;)
KIROKAZE
The Bright Sessions
Fai_Ryy
NASA
★
art blog(derogatory)
Doug Jones
Color Me Curious
EXPECTATIONS
let's talk about Bridgerton tea, my ask is open

shark vs the universe
No title available
🩵 avery cochrane 🩵
occasionally subtle
tumblr dot com
hello vonnie
Cookie Run:Kingdom Official!
No title available
Interview Vampire Daily

oozey mess

seen from United States

seen from United States
seen from United States
seen from United States

seen from Italy

seen from Sweden

seen from Belgium
seen from Indonesia

seen from Türkiye
seen from United States
seen from Ukraine
seen from United States
seen from Netherlands

seen from United States

seen from Türkiye
seen from Argentina

seen from United States

seen from United States
seen from Mexico

seen from Poland
@ipilucaballero
Technologica from Pilu Caballero on Vimeo.
Thanks to André Jones for his support and hours of patience ;)
"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/
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
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
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