1. https://alpha.editor.p5js.org/full/ry6ERF87x

2. https://alpha.editor.p5js.org/full/Bk8uoVvml

3. https://alpha.editor.p5js.org/full/ByscaqIXl



I would like to talk about the process, about my process at ICM and this final work.

As you might recall it began with clouds and marble sculptures, well actually it began with looking up, looking into the blue skies and finding myself amazed with the movement of white.

So I decided to study particle systems and clearly Shiffman’s tutorials were not enough, but I found myself looking for more, trying to understand how nature works how we work. I couldn’t understand the math or the physics really but there was something I felt i did understand something that seemed very logic and visual to me but very abstract when I tried to define it.

I decided to stop the online tutorials for a moment and I went back to books. I think it was the best decision I made because I realized that all of those interesting, complex and fascinating ideas that I read about in my books on anthropology, sociology and art theories I now imagined them being created or expressed in p5 sketches and suddenly a door opened!

I kept on reading and mixing my books with new books on physics and code; in the midst of my research a thought came to me: “an acoustics of change begins with an encounter”1 …

Somehow, I thought this quote explained the logic behind particle systems. And I wondered, How can I express this with code?

Acoustics= waves/amplitude

Encounter= the immediate thought is: to meet someone or something else, but isn’t the first encounter with ourselves?

We see the canvas or space as empty, as waiting for our creativity and information to be deployed, but in reality the canvas is already full, how much information: layers of information make it. x y z , etc plus our own images assumptions information etc, therefore what we do as we approach canvas is to delineate, to subtract, understand.

An encounter implies space and time. – as we attempt to delimit our own geographies by following our vibrations we realize that in order for this to happen the other most exist, a wave will not delimit our geometry if there was no distance, if we didn’t position ourselves in space and in relation to others.

Like particles  as they grow together.

I went back to my old notes from the first ICM classes and realized I have been wondering around the same concepts.

“It is our task to organize the silence in which we begin.”

“That is, the software “corrects” us through the assumptions of approximation.”

“Our most ancient and exquisite self-correcting tool has always been neither the pen nor the scalpel, but the algorithm.6″

“If we operate according to an acoustics of change, the one who holds the microphone listens in the space of silence. Silence is the desire of the other. It organizes a politics of many. If the microphone is only used to amplify oneself, then one may as well have grabbed a hammer.”


Ultra-red, “Some theses on militant sound investigation, or, listening for a change.”

Francesca Hughes, “Facilities for Correction”


//computer tell me something that makes me think, that moves me.
//Then I click and I see an encounter. Show me a virtual encounter, show me a real encounter. Which one happens first? 
//An encounter seems to be with the other, but isn't it always with ourselves first? For the point to exist, does it need a line? It needs another point. 

var weWantToShowTheVideo = false;
var mic;
var micLevel;
var points = [];
var prevFrame;
var threshold = 100;
function preload() {
 img = loadImage("titulo.JPG");
 capture = createCapture(VIDEO);
function setup() {
 var cnv = createCanvas(windowWidth, windowHeight);
 mic = new p5.AudioIn()
function draw() {
 background(255, 17);

if (weWantToShowTheVideo) {
image(capture, windowWidth / 2, windowHeight / 2);
 } else {
image(img, windowWidth / 3, windowHeight / 2, 450, 50);
micLevel = mic.getLevel();
for (i = 0; i < points.length; i++) {
function mouseMoved() {
 if (weWantToShowTheVideo) {
 var newPoint = new Point();
 newPoint.xpos = mouseX;
 newPoint.ypos = mouseY;
function Point() {
 this.xpos = 0;
 this.ypos = 0;
 this.display = function(micLevel) {
ellipse(this.xpos, constrain(this.ypos - micLevel * this.ypos * 10, 0, this.ypos), 10, 10);
ellipse(this.xpos, constrain(this.ypos - 40 + micLevel * this.ypos * 10, 0, this.ypos), 10, 10);
function mousePressed() {
weWantToShowTheVideo = true;
//I enjoy the movement of the console.


Code 2:

//initial positions

var posInitX1;
var posInitX2;
var posInitY1;
var posInitY2;

//current position
var posX1;
var posX2;
var posY1;
var posY2;

//movement for updating position
var incrementX;
var directionX;
var incrementY;
var directionY;
var myDiameter;

var mic;
function setup(){
 mic = new p5.AudioIn()
 //first ellipse starts in upper left corner
 posInitX1 = 0;
 posInitY1 = 0;
 //second ellipse starts in lower right corner
 posInitX2 = width;
 posInitY2 = height;
 //initialization of position
 posX1 = posInitX1;
 posY1 = posInitY1;
 posX2 = posInitX2;
 posY2 = posInitY2;
 //diameter of ellipses
 myDiameter = 10;
 //define movement direction and amount
 incrementX = 1;
 directionX = 1;
 incrementY = 1;
 directionY = 1;
function draw(){
 background(255, 17);
 micLevel = mic.getLevel();
 //ellipse(width/2, constrain(height-micLevel*height*5, 0, height), 10, 10);
 //ellipse(width/2, constrain(0+micLevel*height*5, 0, height), 010, 1);
 // incrementX = 5*micLevel;
 //update position of ellipses
 if (micLevel > 0.02 && (dist(posX1, posY1, posX2, posY2) > 1)) {
 posX1 = posX1 + incrementX*directionX;
 posX2 = posX2 - incrementX*directionX;
 posY1 = posY1 + incrementY*directionY;
 posY2 = posY2 - incrementY*directionY;
 ellipse(posX1, posY1, myDiameter, myDiameter);
 ellipse(posX2, posY2, myDiameter, myDiameter);
 //ellipse(mouseX, mouseY, 70,50);


var vid;
var mic;
function preload(){
 vid = createVideo("MARGRID.mov");
function setup(){
 createCanvas(400, 400, WEBGL);
 mic = new p5.AudioIn()

function draw(){
 //pass video frame as texture
 micLevel = mic.getLevel();
 plane(200,constrain(height-micLevel*height*5, 0, height));
 micLevel = mic.getLevel();




The Yam HaMelach Switch 




dead-sea-salt-crystals2fullsizerender-5 fullsizerender-4








Switches belong to that category of objects in our every-day human life, that are just taken for granted. Who really thinks about the switch that turns the light off in a room every night? Or for that matter, who stops to think about the Sun, that lights up our day, every day!? Observation is essential. Sometimes I wish I had more time just to observe, or I guess I just have to learn to be present.

This assignment was very interesting, because it somehow takes us to another level of observation. We clearly went looking for different kinds of switches, but I think we were all really imagining and drawing in our minds the internal mechanism or interaction of this object. I particularly found myself wondering, what else can it do? A candle for instance will also “turn off or on” the light of a room, but, how can I make my switch feel like a candle? But not really look like one.
The human brain has infinite switches, well maybe not infinite, but each neuron has multiple switches which I believe also learn to evolve and adapt. How could we map these switches? Would it be a good idea to learn from internal brain interaction? What about in a cellular level? Could we learn to design as cells in our body do so magically?

I feel that Pcomp, is a little bit like dancing or any procedural memory, if I stop to think too much about the circuit or the process, my mind goes blank. However if I observe and imagine, circuits start coming together. I tried many different options before arriving to the salt+water switch. I tried working with a motor, but there was something too mechanical or technical that removed the simplicity of good design. It so interesting to discover how effective one interaction can be if it resonates in the mind of the person experiencing it. If there is no dialogue there is nothing.

As designers or creators, can we learn a new dialogue?

To draw with bubbles and lab-grade ink using the arduino and maybe even to calculate the exponential or fractal growth of the bubbles and thus the final drawing- I really want to do this!


result-exp_1422yeahburb_600                      –