Genuary2023_HilmaAfKlint

Genuary2023_HilmaAfKlint

FlockOfSwans

The prompt for Genuary 2023 Day 27 is

"Hilma Af Klint"

For Today's prompt, I was influenced by Klint's Painting: Black Swan

  • Instead of having just two swans, decided to have two sets of Swans(one white and the other an inverted colour) plus a Giant Black Swan in the center

  • The image is from a creative commons file:

  • Visuals were coded using Hydra

  • The audio was coded with SonicPi

Flight or to be Flightless
Is a tale of the birds
In the water, or the sky
Are some of the mentioned words
Some of the mentioned terms
Since some look for worms
While others look in the trees to dine
These flocks of Swans shall fly
Till they are flightless
And can no longer twist

Hydra Code

var img = document.createElement('img');

img.crossOrigin = "anonymous";
img.src = 'https://upload.wikimedia.org/wikipedia/commons/thumb/1/11/Great_egret_in_GWC_%2843539%29.jpg/492px-Great_egret_in_GWC_%2843539%29.jpg';
img.onload = function() {
  s0.init({ src: img, dynamic: false });

  src(s0)
    .rotate(5,3).scrollX(0, [0.11,1.2,4,2.6,-0.5,-1.5,-2.01]).scale(0.3).mask(s0).modulateScale(s0.rotate(()=>time % 4)).diff(src(s0).scale([0.10,0.20,0.75,1].smooth()).rotate(90,()=> (time % 50)/100000).modulateRotate(osc(0.1,0.25,0).rotate(()=>time % 5).scale(0.5)))
    .out();
};


speed = 0.25

SonicPi Code

def tabla (fx,bpm)
  with_fx fx do
    live_loop :tabla do
      use_bpm bpm
      sample :tabla_tas3, decay: dice(3), attack: dice(4)
      sleep 1
      use_synth :piano
      bellTime = ring( (scale :f3, :major,).reverse, (scale :f1, :minor).look).tick
      play bellTime if spread(5,12).tick
      play [36,35,34,33,32].ring
      sleep 0.5
    end
    sleep [0.5,1,2].choose
  end
end

def blip (fx,bpm)
  with_fx fx do
    live_loop :blip do
      use_bpm bpm
      sample :elec_blip
      sample :elec_blip2
      sleep [1,2,4].choose
      use_synth :bass_foundation
      bellTime2 = (scale :d3, :minor).reverse
      play bellTime2 if spread(7,12).tick
      use_synth :pretty_bell
      play [36,37,48,39,60,41,42].tick
    end
  end
end

def drumline (fx,bpm)
  with_fx fx do
    live_loop :drumLine do
      use_bpm bpm
      sample :drum_bass_hard
      sleep 1
      bellTime2 = (scale :d3, :minor).reverse
      play bellTime2 if spread(9,12).tick
    end
  end
end



live_loop :sounds do

  with_fx :ping_pong do
    with_fx :ping_pong do
      drumline([:ixi_techno,:flanger].tick,[30,30,90].tick)
      blip([:echo,:ping_pong].choose,[30,30,90].choose)
      tabla([:whammy,:voice],30)
    end
  end

  sleep [0.25,0.5,1,2].choose
end