Skip to main content

Command Palette

Search for a command to run...

MinaCoding2026_Sea

Seaside Sounds

Updated
2 min read
MinaCoding2026_Sea

SeaScapingRealm

For MinaCoding2026  Day 29: Random &  Day 5: Sea, SeaScapingRealm coded in SonicPi explores/embraces the soundscapes that can occur seaside through a remix coded composition.

Poem

Seaside Terms
SeaSide Flight
fluidity, complexity
multiplicity
Coming wave after wave
From night to Day
Where the water reaches sight
As early birds get the worms

Audio

IllestPreacha · SeaScapingRealm

https://on.soundcloud.com/8i3cnTXzvQqwkGMje8

SonicPi Remixed Code

#Remixing a former code base

def neighboring(naming,looping,looping2,timer, timer2)
  
  
  #random 36 list array with a seed, to make sure it is always random
  
  use_random_seed Time.now.to_i / timer
  cells = 36.times.map { Random.rand(0...2)}
  
  
  #allows for cell automata rules to include every variable
  cells1 = cells.push(cells[0],cells[1])
  
  puts cells1
  
  naming = []
  
  #length of array and push every neighbor of 3 into the array
  for i in -2..cells1.length-3 do
    naming.push([cells1[i],cells1[i+1],cells1[i+2]])
  end
  
  
  
  #cellular automata rules
  
  splash = [[0,0,0],[0,1,0],[1,1,1],[0,1,0]]
  splash2 = [[1,0,0],[0,1,1]]
  splash3 = [[1,0,1],[1,1,0]]
  
  x = x
  x1 = x1
  x2 = x2
  x3 = x3
  x4 = x4
  x5 = x5
  
  
 
  live_loop looping do
    
    use_random_seed Time.now.to_i / timer2
    
    for i in 0..naming.length do
      if splash.include? naming[i]
        
        with_fx :ping_pong, mix: 0.65 do
          with_fx :ixi_techno, mix: [0.1,0.3,0.5,0.25,0.15].tick do
            use_bpm [60,120,30,240].choose
            sample [x,x4,x5,x1].choose,pitch: dice(5), beat_stretch: [2,3,4].choose
          end
        end
        
        
        sleep [0.5,1].choose
      else if splash2.include? naming[i]
        use_bpm [60,120,30,240,480].choose
        sample [x,x1,x2,x3].choose, rate: [-1,0.5,0.25,2].choose
        sleep [0.5,1,2,4].choose
      else
        with_fx :flanger do
          use_bpm [15,30,45,60,120,30,240,480].choose
          sample [x,x1,x2,x3,x4,x5].choose,sustain: dice(3) + 1, rate: [-3, -1,0.5,0.25,-1.75,2,3].choose
        end
        sleep [1,2,4].choose
      end
    end
    
  end
  
  live_loop looping2 do
    use_random_seed Time.now.to_i / timer2 + 1
    sample [x,x1,x2,x3,x4,x5].choose,sustain: dice(3) + 1, beat_stretch: 2
    sleep [0.5,1,2].choose
  end
  sleep [0.25,0.5,1].choose
end
end

# initalizing variables to pass through by adding more loops to give variance

live_loop :seascape1 do
  
  use_random_seed Time.now.to_i/5
  
  neighboring(@neighbors1,:pass1,:loop1,2,4)
  sleep [1,2].choose
  
  neighboring(@neighbors2,:pass2,:loop2,3,5)
  neighboring(@neighbors3,:pass3,:loop3,13,25)
  sleep [1,2,4].choose
  
  neighboring(@neighbors4,:pass4,:loop4,11,64)
  sleep [0.5,1,2].choose
end

live_loop :seascape2 do
  
  use_random_seed Time.now.to_i/4
  
  neighboring(@neighbors5,:pass5,:loop5,4,7)
  neighboring(@neighbors6,:pass6,:loop6,9,12)
  sleep [2,4,6].choose
  
  
  neighboring(@neighbors7,:pass7,:loop7,1,164)
  neighboring(@neighbors8,:pass8,:loop8,3.5,125)
  sleep [1,2,4].choose
end


#ambiance

live_loop :ambi do
  with_fx :echo, mix: [0.1,0.8,0.3,0.5,0.25].tick do
    with_fx :ixi_techno, mix: [0.2,0.7].choose do
      use_random_seed Time.now.to_i/2
      use_bpm [120,80,220].choose
      sample [:perc_bell,:ambi_piano].choose, rate: (rrand 0.125,1.5)
      sleep rrand(4,8)
    end
  end
end






Minacoding2026

Part 7 of 7

Submissions for MinaCoding 2025: https://minacoding.online/theme

Start from the beginning

MinaCoding2026_Circle

Starting this Journey Again