# Genuary2024_GrowASeed

# SeedfulGrowth

The prompt for **Genuary 2024 Day 26 is Grow a seed** and in the **SonicPi** composition, this is coded by growing the random seed number within each loop.

## Poem

```ocaml
Growing the Seeds
As the Sounds
Grow as They Feed
Feed on the Lines
That are Contained Inside
As the Seeds
Grow Round & Round
```

## Audio

<iframe width="100%" height="300" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/1728004698&color=%23ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&show_teaser=true&visual=true"></iframe>

[IllestPreacha](https://soundcloud.com/llestreacha) · [SeedfulGrowth](https://soundcloud.com/llestreacha/seedfulgrowth)

## SonicPi Code

```ruby
#remixed another beat , adding more elements through the rotations arrays and adding more synths and sounds
use_bpm 20
n = ring(:b3,:c4,:c5,:c6,:a7,:b4,:a5)

#my arrays of effects, synths, samples
Effects_Swap1 = [:ixitechno, :reverb, :panslicer]
FlavourRotation = [:Pretty_bell,:prophet,:piano,:dpulse]
PercRotation = [:bd_pure, :perc_snap, :bd_haus]
bdRotation = [:bd_haus, :bd_fat, :bd_gas, :bd_808]
DrumHardRotation = [:drum_heavy_kick,:drum_snare_hard,:drum_tom_hi_hard]

#counters
w = 0
x = 0

#liveloop commences
live_loop :bassflow do
  
  use_random_seed Time.now.to_i + 9
  
  with_fx :flanger, mix: rrand_i(0.1,0.9) do
    with_fx :gverb, mix: [0.1,0.2,0.3,0.2,0.1].tick do
      use_random_seed (Time.now.to_i) / 3
      use_bpm 120 / (dice(4)+1)
      if one_in(2)
        sample :drum_bass_hard
        sleep 0.5
      else
        sample :drum_bass_soft
        sleep [0.25,0.75,1].choose
      end
    end
  end
end


live_loop :IslandFlavour do
  
  use_random_seed Time.now.to_i + 5
  
  with_fx Effects_Swap1[rand(3)] do
    
    use_bpm 120 / (dice(4)+1)
    use_synth FlavourRotation[rand(4)]
    x += 1
    if (w % 4 == 0)
      play n.tick, on: spread(5,12).look, release: rrand(0.5,3), pan: rrand(-0.8,0.8)
      sleep [(1.0/24),0.5,0.75].choose
    else
      play n.tick, on: spread(11,24).look, release: dice(4), pan: rrand(-0.8,0.8)
      sleep [(1.0/24),0.75].choose
    end
    # end
  end
end


live_loop :PercFlavour do
  
  use_random_seed Time.now.to_i + 3
  
  x += 1
  if (x % 4 == 0)
    use_synth :piano
    play [n.tick,n.choose].tick, on: spread(11,24).tick, release: dice(3), pan: rrand(-0.8,0.8)
    sample PercRotation[rand(3)] if spread(5,12).tick
    sleep [(1.0/24),0.35].choose
  else
    sample PercRotation[rand(3)] if spread(5,8).tick
    sleep [(1.0/24),0.75,0.35].choose
  end
end




live_loop :flow do
  
  use_random_seed Time.now.to_i * Time.now.to_i
  
  with_fx :ping_pong do
    sample bdRotation[rand(4)]if spread(7,24).tick
      sleep [(1.0/24),0.5,1].choose
    end
  end
  
  
  
  live_loop :startingline do
    
    Spread5  = (spread 11,14).tick
    
    use_random_seed Time.now.to_i + Time.now.to_i
    
    sample bdRotation[rand(2)], rate: 1
    sleep 0.5
    
    with_fx :ping_pong, amp: [1,2,3,2,1].tick, mix: [0.5,0.3,0.1,0.25].choose do
      with_fx :ixi_techno,phase: [0.7,0.37,0.5,0.25,0.15].choose, mix: [0.1,0.3,0.5,0.4,0.25].choose do
        4.times do
          sample DrumHardRotation[rand(4)]
          sample [:drum_bass_hard,:elec_blip,:glitch_robot2,:guit_em9].choose, rate: dice(6) * -1
          sample [:drum_bass_soft,:elec_chime,:glitch_robot,:perc_snap2,:perc_till].choose, rate: dice(6) * -1
          sleep [(1.0/24),0.75,1.25].choose
        end
      end
    end
    
    
  end
  
  
```
