Evening walk part 4 with hydra video visuals YT

# 230121 2342 Evening walk part 4 with hydra video visuals YT
# Saved 230121 2342
# Backup
# YT https://youtu.be/x6J6Yc2BCh8
# Created by linktr.ee/relaxnow
# https://in-thread.sonic-pi.net/t/evening-walk-part-4-with-hydra-video-visuals-yt/7482

use_bpm 88

live_loop :time, delay: 0.01 do
  sleep 1
end


with_fx :reverb, room: 0.7 do
  with_fx :krush do |krush|
    with_fx :ixi_techno do |ixi_techno|
      
      
      live_loop :main do
        tick
        
        
        / kick /
        kick = knit(1,64,2,16).look
        
        # kick = 0 ## MUTE ##
        
        case kick
        when 0
        when 1
          sample :bd_haus, amp: 4, cutoff: 80 if bools(1,0,0,0,0,0, 0,0,1,0,0).look
        when 2
          sample :bd_haus, amp: 4, cutoff: 80 if bools(1,0,0,0,0,0, 0,0,1,0,0).look
          sample :bd_haus, amp: 2, cutoff: 120, rpitch: [0,3,5,12].look, pan: rdist(0.4) if bools(0,0,0,0,0,0, 0,0,1,0,0).look
        end
        
        
        / noise snare /
        nsr = 64
        nsr = knit(4,4, 64,4).look
        noisesnare = knit(2,nsr,3,nsr,1,nsr,0,nsr/2).look
        
        #  noisesnare = 0 ## MUTE ##
        
        case noisesnare
        when 0
        when 1
          use_synth :gnoise
          use_synth_defaults release: [0.01,0.04,0.1,0.3].choose, cutoff: [60,90,130].choose, pan: rdist(0.25), amp: [1,2].choose
          play :f2 if bools(0,0,1,0,1,0, 0,0,0,1,0).look
        when 2
          use_synth :chipnoise
          use_synth_defaults release: [0.01,0.04,0.1,0.2].choose, cutoff: [60,90,130].choose, pan: rdist(0.25), amp: [1,2].choose-0.5
          play :f2 if bools(0,0,1,0,1,0, 0,0,0,1,0).look
        when 3
          use_synth :pnoise
          use_synth_defaults release: [0.01,0.04,0.1,0.3].choose, cutoff: [60,90,130].choose, pan: rdist(0.25), amp: [1,2].choose
          play :f2 if bools(0,0,1,0,1,0, 0,0,0,1,0).look
        end
        
        
        / prophet /
        prophet = knit(0,64*2 ,2,64, 3,64, 4,64, 0,32).look
        
        # prophet = 0 ## MUTE ##
        
        #prophet = 4 #1 #4nice
        case prophet
        when 0
        when 1
          use_synth :prophet
          use_synth_defaults release: [0.3,0.6].choose
          play knit(:c4,12,:c5,1).look, amp: 1, pan: rdist(0.5) if bools(0,0,0,1,0,0).look
        when 2
          use_synth :prophet
          use_synth_defaults release: [0.3,0.6].choose
          play knit(:d4,12*2,:c5,1,:c4,12*2,:c5,1).look, amp: 1, pan: rdist(0.5) if bools(0,0,0,1,0,0).look
        when 3
          use_synth :prophet
          use_synth_defaults release: [0.3,0.6].choose
          play knit(:d4,12*2,:c5,1,:c4,12*2,:c5,1).look, amp: 1, pan: rdist(0.5) if bools(0,1,0,1,0,0).look
        when 4
          use_synth :prophet
          use_synth_defaults release: [0.3,0.6].choose
          play knit(:d4,12,:ds4,12,:c5,1,:c4,12*2,:c5,1).look, amp: 1, pan: rdist(0.5) if bools(0,1,0,1,1,0).look
        end
        
        
        / top piano & beep /
        top  = knit(3,32,2,32, 3,32, 4,32).look
        
        # top = 0 ## MUTE ##
        
        #top = 3 #3
        case top
        when 0
        when 1
          #use_synth :beep
          #play :g5, amp: 0.5 if bools(0,0,0,0,0,0,0,1).look #needs more work
        when 2
          use_synth :beep
          play [:c5, :ds6, :g5].look-12, amp: 0.8 if spread(9,12).look
        when 3
          use_synth :beep
          a = 12*2+1
          play [:c5, knit(:ds6,a, :d6,a).look, :g5].look-12, amp: 0.8 if spread(9,12).look
        when 4
          use_synth :piano
          play [:c5, :ds6, :g4].look-12, amp: 1, pan: 0.5 if spread(9,12).look
          play [:c4, :d6, :g5].look-12, amp: 1, pan: -0.5 if spread(9,12).look
        end
        
        
        / bass /
        use_synth :saw #:saw
        bassnotes = :c2
        bassamp = [3,1,0].choose
        bassc = knit(90,32 ,100,32, 110,32).look
        use_synth_defaults release: [0.3,0.3,0.4].choose,  amp: bassamp, cutoff: bassc
        
        br = 64
        bass = knit(0,br,1,br,4,br,5,br).look # nice
        #bass = 0 ## MUTE ##
        
        case bass
        when 0
        when 1
          play bassnotes if spread(9,12).look
        when 2
          play bassnotes+3 if spread(9,12).look
        when 3
          play bassnotes+7 if spread(9,12).look
        when 4
          play bassnotes-2 if spread(9,12).look
        when 5
          play bassnotes-5 if spread(9,12).look
        end
        
        
        / fx control /
        fxr = 32
        puts myfx = knit(1,fxr, 0,fxr).look
        #puts myfx = 0  ## MUTE FX ##  NB restart to take effect
        
        case myfx
        when 0
          m = 0
        when 1
          m = [0,0,0.1,0.25,0.5,0.7].look
        end
        puts m
        
        control krush, mix: m
        control ixi_techno, mix: m
        
        sleep 0.25
      end
      
      
    end #end_krush
  end #end_ixi_techno
end #end_reverb

# Hydra code
# https://hydra.ojack.xyz/?code=cmVuZGVyKG8zKSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUwQSUyRiUyRnMwLmluaXRTY3JlZW4oMSklMEFzcmMoczApLnBpeGVsYXRlKDQ1MCUyQzE1MCkudGhyZXNoKDAuMikuY29sb3IoMCUyQzAuMjUlMkMxKS5vdXQobzApJTBBc3JjKHMwKS50aHJlc2goMC4wMykuY29sb3JhbWEoMSUyQzAlMkMwKS5sdW1hKDAuMikuZGlmZihzcmMobzAlMkMwLjIpKS5vdXQobzEpJTBBc3JjKG8wKS5tdWx0KHNyYyhvMSklMkMwLjUpLm1vZHVsYXRlKHNyYyhvMSUyQzEpJTJDMC4zKS5hZGQoc3JjKG8zKSkub3V0KG8yKSUwQXNyYyhzMCkudGhyZXNoKCU1QjAuMSUyQzAuMiUyQzAuMDElMkMwLjA1JTVELnNtb290aCgpLmZhc3QoKSkuY29sb3JhbWEoMCUyQzAuMTUlMkMxKS5kaWZmKHNyYyhvMCklMkMwLjUpLmx1bWEoMC41KS5vdXQobzMpJTBB

Hydra code

render(o3)

//s0.initScreen(1)
src(s0).pixelate(450,150).thresh(0.2).color(0,0.25,1).out(o0)
src(s0).thresh(0.03).colorama(1,0,0).luma(0.2).diff(src(o0,0.2)).out(o1)
src(o0).mult(src(o1),0.5).modulate(src(o1,1),0.3).add(src(o3)).out(o2)
src(s0).thresh([0.1,0.2,0.01,0.05].smooth().fast()).colorama(0,0.15,1).diff(src(o0),0.5).luma(0.5).out(o3)

1 Like