Concept
We have learned so much about the nature of code and the physics behind it. For this project, I wanted to use what we learned in data visualization of Palestinian folklore. I wanted to visualize sound waves on this type of music and visualize it as similar to Palestinian embroidery. I think I aim to preserve cultural heritage digitally. Thus, I want to embed the traditional visual language of Palestinian embroidery with Palestinian folklore.
Highlight
There were a couple of challenges when mapping the data because, initially, I was getting dots and not lines, and they were not interesting or similar enough to embroidery. I spent a lot of time changing them into the concept I wanted. I experimented with mathematical equations to reach the desired outcome. I have set the basic code for the project, but there is so much to do. I had to adjust the amplitude for the data and read it to add accurate numbers into the code so that it responds correctly.
class particle { constructor(){ this.pos = p5.Vector.random2D().mult(200); this.vel = createVector(0,0); this.acc = this.pos.copy().mult(random(0.001,0.0001)); // this.r = 10; // this.lifetime = 255; this.PW = random(1,5); } update(cond){ this.vel.add(this.acc); this.pos.add(this.vel); if(cond){ this.pos.add(this.vel); this.pos.add(this.vel); this.pos.add(this.vel); } } //remove particles that were drawn edges(){ if(this.pos.x<-width/2 || this.pos.x>width/2 || this.pos.y <-height/2 || this.pos.y>height/2 ){ return true; } else { return false; }} show(){ noStroke(); fill(204, 0, 0); ellipse(this.pos.x, this.pos.y,this.PW); }}
Further, I made a particular class that also reacts to the sound by reading the fft energy and then moving according to the amplitude. The particles that are out of frame are deleted to avoid breaks and breakdowns.
Sketch
Future Work
I want to make buttons to allow the audience to pick a song from a preloaded set of songs, but I also need to work more on the aesthetics and final design of the work. I also want to add some complexity to the visualization, maybe allowing the audience to change the density of the strokes or play with textures and shades.