Genuary2023_AntiGrid

Genuary2023_AntiGrid

Emojional AntiGrid

The prompt for Genuary 2023 Day 17 is

Not A grid

  • For this prompt used a mixture of SonicPi,P5Js & Hydra to make the Emojional AntiGrid

  • Reused the Emojional Reflection post from a couple days ago and overlayed it with Hydra Code

  • Emojional AntiGrid takes the position of the emojis not wanting to partake in gridding

  • Since this is β€œ Not A grid”, Decided to reverse the SonicPi portion to fit the theme

***A look into the emojional lifestyle  
as they would not be locked to a grid for a while  
for a grid is a box  
that they will not cross  
they will rather tumble and toss  
even if it puts them it a knot  
for a grid lifestyle  
they will permit? Not***

P5js Code

/*

Reflecting feelings is determining the feelings and emotions in a person's verbal and body language and stating (or reflecting) those feelings back to the person or client.

*/

function setup() {
  background(100,90,200)
  createCanvas(800, 800);
  textSize(600)
  textAlign(CENTER)
  text('😑',width/2,height/2)
  text('😑',width/2,height/1.5)
  text('😑',width/2,height/1.25)
  textSize(400);
  textAlign(CENTER)
  text('πŸ™ƒ',width/2,height/2)
  textSize(200)
  text('😊',width/2,height/2)
}

function draw() {

  imageTweak()

  textSize(126);
  textAlign(CENTER)
  if (second() % 30 > 15)
    {
  text('😁', width/3 + sin(second() % 30 * 3), height/2 + random(-100,200));
  text('😁', abs(width -(width/3 + sin(second() % 30 * 3))), height/2 + random(-100,200));
  text('πŸ˜’', width/2 + random(-100,200), height/2 - second() % 100 * 2);
  text('😭', width/4 - (second() % 45) * 5, height/1.5 - second() % 200 * 2);
    }
  else{
  text('😀', width/2 - second() % 30, height/2);
  text('😧', width/2, height/2 + second() % 100 * 2);
  text('😧', width/1.5, abs(height + (height/2 + second() % 100 * 2)));
  text('😭', width/4, height/1.5 - second() % 100 * 2);
  text('😭', width/3, height/4 - second() % 100 * 2);
  }
}



function imageTweak()
{
 filter(BLUR, random(2,8))

  if (second() % 40 > 17)
  {
    filter(GRAY)
  }

  if (second() % 30 > 15)
  {
   filter(DILATE); 
  }
  else
    {
    filter(ERODE);
    } 
}

Hydra Code

osc([0.534, 6, 5, 8.438, 7, 8, 7].smooth(), -0.125, [0.5, 0.3, 0.1, 0.3, 0.5].smooth())
    .modulate(voronoi(1))
    .diff(voronoi(1.435)
        .mult(gradient(-1)
            .luma(0.125)))
    .luma([0.125, 0.250, 0.375, 0.530, 0.250, 0.125].smooth())
    .add(shape(7, 0.5)
        .diff(voronoi(10, 2)
            .blend(o0)
            .diff(gradient(1))
            .modulate(voronoi())))
    .scrollY([-0.1, 0.2, -0.15, 0.2].smooth())
    .scrollX([0.125, -0.1250, 0.1375, -0.2510].smooth())
    .blend(o0)
    .kaleid(() => (time % 130 + 0.1) / 12)
    .blend(o0)
    .blend(o0)
    .blend(o0)
    .out();
speed = 0.125;

SonicPi Code

#Reverse sound

def pianos(bpm,looping,effects,notes1,notes2,samples)
  use_bpm bpm
  live_loop looping do
    with_fx :rbpf do
      with_fx effects, mix: [0.2,0.3,0.4].tick do
        use_synth :piano
        play notes1 ,delay: dice(4), decay: dice(6)
        play notes2,sustain: dice(5), attack: dice(7)
        sample samples, beat_stretch: 0.9, amp: dice(3)
        sleep [0.25,0.5,0.75,1,2,4].choose
      end
    end
  end
end


pianos(60,:sound1,[:flanger,:whammy,:vowel].tick,[:A2,:C2,:C3,:E4,:G5].choose,[:A4,:C5,:E2,:E4,:G2].choose,:drum_bass_hard)
pianos(30,:sound2,[:ixi_techno,:vowel].choose,[:A4,:C5,:E2,:E4,:G2].choose,[:A2,:C2,:C3,:E4,:G5,:C2].choose,:drum_bass_soft)
pianos(60,:sound3,[:gverb,:ixi_techno,:wobble].choose,[:A2,:C2,:C3,:E4,:G5,:C2,:E4].choose,[:A4,:C5,:E2,:E4,:G2].choose,:tabla_ghe2)
pianos(30,:sound4,[:flanger,:vowel,:ping_pong].choose,[:A4,:C5,:E2,:E4,:G2].choose,[:A2,:C2,:C3,:E4,:G5].choose,:tabla_ghe1)
Β