# MinaCoding2023_Red

# Redful Tints & Rediness Shades

Today's MinaCoding Prompt is **Red.** I will be coding with [***LIvecodelab***](https://livecodelab.net/) and [SonicPi](https://sonic-pi.net/) 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

<iframe width="560" height="315" src="https://www.youtube.com/embed/U38JpHhSSTQ"></iframe>

## Poem

```apache
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

```javascript
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

```ruby
#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
```
