# Genuary2025_VerticalLines+42

# 22 Verticals

The prompt for **Genuary 2025 Day 1 is Vertical Lines** and **Day 3 is 42 Lines**

22 Verticals takes 22 Vertical Lines coded in **LiveCodeLab** and layers them for them to waltz around the screen. While using 42 lines of Code for the Audio via **SonicPi**

## Poetry

```ocaml
Lines Grouping
Lines Swooping
With 42 lines of Audio
That may resemble at least
At least one station on the radio
But as long as the lines are please
Let's continue till the the Outro
```

## Video

%[https://youtu.be/Zv1lWcibBeE] 

## LiveCodeLab Code

```javascript
simpleGradient grey,white,yellow
22 times
	scale (time % 10 + 1)/5
	move wave(0.03),0.01, 0.01
	line 2 , sin(time % 6)
	move
	line sin(time % 3), wave(0.003)
```

## SonicPi Code

```ruby
live_loop :time do
  use_random_seed Time.now.to_i / 5
  with_fx :reverb, room: [0,0.25,0.5,1].tick do
    
    with_fx [:whammy,:echo].tick do
      with_fx :bitcrusher, bits: rrand(0,16) do
        with_fx :slicer, phase: rrand(0,16) do
          notes = (scale :e5, :minor_pentatonic, num_octaves: 3)
          with_synth :piano do
            play notes.choose, attack: 2, release: 2, cutoff: dice(90), amp: 3,pan: 0.5
            sleep [1,2,4,5].choose
          end
        end
      end
    end
  end
  
  live_loop :noise2 do
    use_random_seed Time.now.to_i / 2
    with_fx [:ixi_techno,:flanger].choose, mix: 0.95, phase: 2 do
      with_fx :distortion, distort: rrand(0.2,0.7) do
        with_synth :piano do
          notes = (scale :e7, :aeolian, num_octaves: 3)
          play notes.choose, release: dice(6), cutoff: 90, amp: 2, pitch: dice(2), pan: rrand(-0.5,0.5)
          sleep [0.5,0.25,1].choose
        end
      end
    end
  end
end

live_loop :drumskick do
  sample :ambi_choir if spread(1,32).tick
  sleep [0.5,1,2].choose
end

live_loop :islandflavour do
  use_random_seed Time.now.to_i / 2
  use_bpm 60
  sample :perc_bell if spread(11,24).tick
  sleep [0.25,0.5,0.75,1].choose
end
```
