MinaCoding2023_Blue

MinaCoding2023_Blue

Today's MinaCoding Prompt is Blue. BluishBlues will be coded audiovisually thru LiveCodeLab and SonicPi.

  • The visuals are layered by animations coded in LiveCodeLab

  • The sounds are coded in SonicPi using a concept of shadow maths and colour shuffling, where in this case the sounds are made through the values of different blues. As well as their shadow/shuffle counterparts to add variance to the soundscape. So when watching, you are experiencing both blue as a colour and a sound. Slowed down after by 40%

Video

Poem

Bursting of Blues
Brightening with their hues
Belonging to more than a few
Blues like the sky
At various times
Blues like the reflection
Seen on water interactions
Bursting of Blues
Blitzing with their hues

Code

LiveCodeLab

rot = time / 5

ringDetail = 11
ambientLight 255
noStroke



if time % 10 > 5
    fill turquoise
    simpleGradient teal,aqua,navy

if time % 10 < 5
    fill blue
    simpleGradient indigo,midnightblue,teal

if time % 12 < 6
    rotate rot,rot,rot
    scale wave(0.003)

if time % 12 > 6
    rotate rot, rot * 3, sin(rot)
    scale cos(wave(0.12))

29 times with i
    rotate (time / 5) + i
    ringDetail times
        rotate wave(0.03), i, (2 * pi) / ringDetail
        move 2*i, 0, 0
            rect abs(tan(1 - time % 5)), 0.3 + (1 / ringDetail)

SonicPi

#Color +Shadows
#RGB Values + XYZ

#ShadeofBlue [R,G,B, X, Y, Z]

# CornFlowerBlue : 100, 149, 237,31.286, 30.317, 84.319
# DarkBlue :     0, 0, 139,4.659, 1.864, 24.539
# Firebrick :     0, 114, 187,14.985, 15.621, 49.236

#shadow length equation is Length = height / tan(angle)


#Creating Arrays
CornFlowerBlue = [100, 149, 237,31.286, 30.317, 84.319]
DarkBlue = [0, 0, 139,4.659, 1.864, 24.539]
FrenchBlue = [0, 114, 187,14.985, 15.621, 49.236]



with_fx :ixi_techno do
  live_loop :blues do
    i = 0
    use_synth :pretty_bell
    play (CornFlowerBlue[i] + DarkBlue[i])/5 ,release: 3
    play CornFlowerBlue[i] ,release: 3

    with_fx :ping_pong, mix: rrand(0.3,0.75) do
      use_synth :chiplead
      play (FrenchBlue[i] + DarkBlue[i])/5 ,release: 3, decay: dice(4)
    end

    sleep [0.5,1,2].choose
    if i < 7
      i+= 1
    end
  end
end

live_loop :Blueshuffle do

  CornFlowerBlueShuffle = CornFlowerBlue.shuffle()
  DarkBlueShuffle = DarkBlue.shuffle()
  FrenchBlueShuffle = FrenchBlue.shuffle()

  i = 0
  use_synth :pretty_bell
  play (CornFlowerBlueShuffle[i] + DarkBlueShuffle[i])/4 ,release: 3
  play CornFlowerBlueShuffle[i] ,release: 3

  with_fx :ping_pong, mix: rrand(0.3,0.75) do
    use_synth :piano
    play (FrenchBlueShuffle[i] + DarkBlueShuffle[i])/5 ,release: 3, decay: dice(4)
  end

  sleep [0.5,1,2].choose
  if i < 7
    i+= 1
  end
end


#shadow length component
with_fx :ixi_techno do
  live_loop :Bluesshadow do
    i = 0
    use_synth :piano
    play (CornFlowerBlue[i]/Math.tan(70)).abs + (DarkBlue[i]/Math.tan(70)).abs  - 20,release: 3, sustain: 8
    play (FrenchBlueShuffle[i]/Math.tan(70)).abs + (DarkBlue[i]/Math.tan(70)).abs  - 20,release: 3, sustain: 8
    sleep [0.25,0.5,1,2,4].choose
    if i < 7
      i+= 1
    end
  end
end