Algorithms 6: Another one

So after moving to another home and getting settled at my new jobs, I finally got around to recording a new piece. Just a playful improv session that I think turned out okay.

3 Likes

I had so much fun with your code, and learnt some new tricks.

My thanks.

Eli…

use_bpm 120

kicks =(spread 9,16).shuffle
hats =(spread 9,16).shuffle
trans = (ring -12,0,12,0)
rels = (ring 0.125, 0.25, 0.5, 0.75, 1.0, 0.75, 0.5, 0.25)
change = (ring :c3, :d3, :e3)


live_loop :main do
  with_fx :reverb do
    inversions = range(0,3,1).choose
    atk = [0.0, 0.125, 0.25].choose
    sound = [ :perc_bell, :drum_splash_soft,:elec_chime].ring
    64.times do
      fin = line(0.05,0.5,steps:31, inclusive:true).mirror.ring.look
      
      tick
      synth :dsaw, note: (chord change.look, :minor, invert: range(-1,1,1).choose), sustain: 8 if (spread 1,32).look
      with_transpose trans.look do
        synth :pluck, note: (chord change.look, :minor), release: rels.look, amp: 0.4+(rels.look * 2)
      end
      with_fx :ixi_techno do
        sample  sound.look, finish: fin, amp: 3, invert: inversions, pan: line(-1,1,steps:8, inclusive:true).mirror.look if (spread 15,16).look
      end
      
      sleep 0.25
    end
  end
end
2 Likes

I’m glad you found it useful. The (spread) trick and a single tick has become my go-to technique for live coding, since it’s fast and flexible. It does get a bit heavy when you start laying on the effects, but another loop sync’d to the first usually solves that.

1 Like