Genuary2024_Screensaver+Hexagon

Genuary2024_Screensaver+Hexagon

Can the Screen be Saved?

SavingScreen

The prompt for Genuary 2024 Day 6 is Screensaver and Day 10 is Hexagonal

To bring SavingScreen to life, I have coded it in #SonicPi and #Hydra

Hydra provides the animation for the Screensaver and SonicPi delivers a saving of the screen type of soundscape through the equations used in regular Hexagons

Poem

Saving Screens
Erasing the monotone
Aspect of Waiting
As the Screen is saving
Not wanting our Eyes to be Alone
To see what goes next in the Scene

Video

Code

Hydra

osc(0.793, 4, 5)
    .scale([0.0125,1,2,0.5,0.2,0.1,0.3]).scrollY(0.5)
    .kaleid(6).invert().luma([0.5,0.3,0.1].smooth()).brightness(0.3).diff(noise(0,1,3).scrollX(0.3,0.1)).repeat(6,6)
    .pixelate([500, 1000, 2000, 5622.713, 2000, 1000, 500])
    .out();
speed = 0.15;

SonicPi

#area of regular hexagon
#(3 * Math.sqrt(3) * s**2)/2


def hexagonarea(s)
  puts (3 * Math.sqrt(3) * s**2)/2
  return (3 * Math.sqrt(3) * s**2)/2
end

def hexagonperimeter(sides)
  return sides * 6
end


live_loop :hexasounds do
  use_random_seed (Time.now.to_i)/2
  #looping the area of hexagons which sides are between 1 and 9
  with_fx :distortion, mix: rrand(0.3,0.6) do
    use_synth [:piano,:chipbass].choose
    play hexagonarea([1,2,3,4,5,6,7,8,9].tick), pitch: hexagonperimeter([1,2,3].choose)
  end
  sleep [0.5,0.75,1,2].choose
end


live_loop :hexasounds2 do
  use_random_seed (Time.now.to_i)/3
  #looping the area of hexagons which sides are between 1 and 9
  with_fx :echo, decay: dice(3) do
    use_synth [:piano,:chipbass].choose
    play hexagonarea([1,2,3,4,5,6,7,8,9].choose), pitch: hexagonperimeter([1,2,3].tick)
  end
  sleep (Time.now.to_i % 4 + 1)/1.5
end