MinaCoding2023_Red

MinaCoding2023_Red

Redful Tints & Rediness Shades

Redful Tints & Rediness Shades

Today's MinaCoding Prompt is Red. I will be coding with LIvecodelab and SonicPi to make RedFul TInts & Rediness Shades.

  • 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 reds. As well as their shadow/shuffle counterparts to add variance to the soundscape. So when watching, you are experiencing both red as a colour and a sound

Video

Poem

Red Rushes
Rushing in with Reverb
With shades similar to rhubarb
Reminiscent of the reddish garbs
That reacts with the tone of this blurb
As the red rushes
Flushes, blushes
As the red strokes with its brushes

Code

Livecodelab

turns = sin(time % 5)
detail = 100 + 75 * wave(0.003)
speed = 2 - wave(0.0003)

if time % 50 < 10
    stroke crimson
    simpleGradient darkred,red,violet
    fill maroon
if time % 50 > 40
    stroke coral
    simpleGradient firebrick,mediumvioletred,indianred
    fill tomato
else
    stroke orangered
    simpleGradient salmon, lightcoral, tomato
    fill darkred


scale abs(time % 9 - 4.5)


rotate time / 5

animationStyle motionBlur

10 times
    rotate sin(wave(0.003)), 2, 0
    detail times with i
        rotate 0, 0, 2 * pi / detail
        move 2, 5, 1
            rotate (turns * i * pi) / detail + (time * speed), 0, 0
            rect 1, cos(wave(0.003))

SonicPi

#Color +Shadows
#RGB Values + XYZ

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

# Crimson : 157,34,53
# Darkred : 139, 0, 0
# Firebrick : 178,34,34

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


#Creating Arrays
Crimson = [157,34,53,30.5810,16.0422,5.7596]
DarkRed = [139,0,0,10.6475,5.4890,0.4983]
FireBrick = [178,34,34,    19.2209,10.7245,2.5704]



with_fx :ixi_techno do
  live_loop :reds do
    i = 0
    use_synth :pretty_bell
    play (Crimson[i] + DarkRed[i])/5 ,release: 3
    play Crimson[i] ,release: 3

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

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

live_loop :redshuffle do

  CrimsonShuffle = Crimson.shuffle()
  DarkRedShuffle = DarkRed.shuffle()
  FireBrickShuffle = FireBrick.shuffle()

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

  with_fx :ping_pong, mix: rrand(0.3,0.75) do
    use_synth :piano
    play (FireBrickShuffle[i] + DarkRedShuffle[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 :redsshadow do
    i = 0
    use_synth :piano
    play (Crimson[i]/Math.tan(70)).abs + (DarkRed[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