YT 231001 0016 Idea1 to from scratch

# 231001 0023 Idea1 to from scratch YT
# If you don't try then you have already failed
# Saved 231001 0023
# Created 230522 1836 when practicing to create a 10 min performance for Berlin Algorave
# Recorded 231001 0016
# https://youtu.be/ZXkm6Z8p7Uo
# https://in-thread.sonic-pi.net/t/yt-231001-0016-idea1-to-from-scratch/8198

bpm = use_bpm 40
set_volume! 2

# Play with bpm

use_synth :gnoise
#play :c2, attack: 8, release: 8, amp: 0.2

with_fx :reverb, room: 0.8, mix: 0 do |reverb|
  with_fx :krush, mix: 0 do |krush|
    with_fx :ixi_techno, mix: 0, phase: 8 do |ixi|
      
      
      live_loop :control do
        tick
        
        m = [0,0.2,0.4].choose
        control krush, mix: m
        n = [0,0.2,0.4].choose
        control ixi, mix: n
        control reverb, mix: m+n
        
        sleep 0.125
        
      end
      
      live_loop :droneRep do
        stop
        use_synth :sine
        tick
        play :c4+knit(0,1, 3,1, -7,1).look , attack: 8, release: 8, amp: 0.25, cutoff: 90
        sleep 16
      end
      
      live_loop :fast do
        tick
        use_synth :saw
        c = 80
        use_synth_defaults release: [0.05,0.2].choose, cutoff: c
        
        root = :c2+[0,3,7,12].choose
        play root + [0,12,0,24].choose + knit(0,16, 1,16).look
        #sample :bd_haus, cutoff: 85, amp: 2, pan: rdist(0.7) if bools(1,0,0,0,0,0,0).look
        sample :bd_haus, cutoff: 85, amp: 2, pan: rdist(0.7) if (bools(1,0,0,0,0,0,0)*5+bools(1,0,1,1,0,1,1)).look
        sample :bd_haus, cutoff: 115, finish: [0.05,0.1].choose, amp: 1.25+2, pan: rdist(1), rate: 12 if spread(5,7).look
        sleep 0.125
      end
    end
  end
end


with_fx :reverb, room: 0.8 do
  live_loop :mel do
    tick
    use_synth :beep
    use_synth_defaults cutoff: 90, amp: 0.5
    
    mel = 1
    puts mel = knit(0,16,1,16,2,16).look
    #mel = 0
    #puts mel
    case mel
    when 0
    when 1
      play [:c5, :c5+3, :c5-2,:c5].look-0, release: 0.2 if bools(1,1,1,0,1,0,0).look
    when 2
      play [:c5, :c5+3, :c5-2,:c5].look, release: 0.2 if spread(3,5).look
      play [:c5, :c5+3, :c5-2,:c5].look+12, release: 0.2 if spread(5,7).look
    end
    
    sleep [0.125, 0.125*3, 0.125*4, 0.125].look
  end
  
  
  live_loop :glitch do
    #stop
    
    s1 = rrand(0.1,0.7)
    s2 = 0.025
    sample [:glitch_robot1,:glitch_robot2].choose, start: s1, finish: s1+s2, rpitch: 12+12, amp: 1.5
    
    sleep 0.125
  end
end
4 Likes