Genuary2025_LayersCircles

LayeringLayers

The prompt for Genuary 2025 Day2 is Layers Upon Layers and Day 24 is Circles

LayeringLayers takes a coded layered remake in Hydra of my first sketch of Genuary2025 while making audio out of various Circles and their rolling speed coded in SonicPi. After this, more layers are made and repeated through various means.

Poetry

Lines Grouping
Lines Swooping
Layered upon each other with Circular entities
That are now the audio
entities that inject a bit of personality 
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

Code

Hydra

s0.initScreen()

src(s0).blend(src(s0).scale(0.5).colorama(0.5)).diff(src(s0).
blend(src(s0).kaleid(2))).modulateRotate(src(s0).scale(2)).repeat([0.5,1,2,1,2].smooth(),2).out()

SonicPi

#using 6 circle families to make the sound

=begin

using the various circle related equations to make two set of Circle Families and their members to
make sound
=end

def circles1(radius,loop,timer)

  circumference = 2 * Math::PI * radius
  area = Math::PI * (radius ** 2)


  live_loop loop do
    use_bpm [5 * timer, 12 * timer, 8 * timer].choose
    use_random_seed (Time.now.to_i)/timer #random seed
    with_fx :ping_pong,mix: 0.75 do
      with_fx :gverb, damp: 0.5 do
        use_synth [:piano, :chipbass].choose
        play circumference,amp: 2 #decay: rrand(1,4),
        sample [:tabla_ghe3,:perc_bell,:elec_beep].choose, beat_stretch: area / 80,amp: dice(10)
      end
    end
    sleep [0.25,0.5,1,2,4,8,16].choose
  end


end

def circles2(radius,loop,timer)

  circumference = 2 * Math::PI * radius
  area = Math::PI * (radius ** 2)

  live_loop loop do
    use_bpm [5 * timer, 12 * timer, 8 * timer].choose
    use_random_seed (Time.now.to_i)/timer #random seed
    with_fx :ixi_techno,mix: 0.75 do
      with_fx :vowel, voice: dice(3) + 1 do
        use_synth :chipbass
        play circumference #sustain: dice(3), amp: 2
        sample [:elec_blup,:tabla_ghe2,:drum_bass_hard].choose, rate: area / 100, attack: dice(5), amp: dice(10)
      end
    end
    sleep [0.25,0.5,1,2,4,8].choose
  end

end


circles1([1,3,5].tick,:circle1,3)
circles2(3,:circle2,4)
circles2([5,7,3].choose,:circle3,5)
circles1(9,:circle4,6)
circles2([10,12,14].tick,:circle5,7)
circles1([14,3,6].choose,:circle6,8)
0
Subscribe to my newsletter

Read articles from Kofi / Illestpreacha directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Kofi / Illestpreacha
Kofi / Illestpreacha