Gloomy Kalimba Polyrhythm ft. Cent (de)Tuning Oscillators

Here’s a little loop I’m enjoying this morning.

I’d be really curious about any suggestions folks have for the percussion. Or just general remixes.

with_fx :compressor, slope_below: 0.35, threshold: 0.5 do
  with_fx :ping_pong, feedback: 0.9 do
    
    live_loop :b1 do
      with_cent_tuning line(0,100,steps:20).mirror.look do
        use_synth :kalimba
        play :c3
        sleep 1
        play knit(:g3,2,:gs3,1).tick
        sleep 1
    end end
    
  end
  
  with_fx :octaver do |o|
    with_fx :slicer do |sl|
      live_loop :b2 do
        with_cent_tuning line(0,100,steps: 25).mirror.look do
          
          control o, mix: line(0,0.5,steps: 48).mirror.look
          
          if dice>4
            control sl, mix: 1, phase: choose([0.1,0.125]),
              pulse_width: rrand(0.2,0.8),
              pulse_width_slide: 1
          else
            control sl, mix: 0
          end
          
          use_synth :kalimba
          play knit(:c3,5, :cs2,3).look
          sleep 1
          play knit(:g3,2,:gs3,1).tick
          sleep 0.5
      end end
      
  end end
end

sleep 12

with_fx :echo, phase: 0.125, max_phase: 0.25, mix: 0.2 do
  with_fx :krush do |k|
    live_loop :bd1 do
      tick
      control k, gain: line(2,8, steps: 12).mirror.look,
        mix: line(0,0.75, steps: 9).look
      
      density knit(1,9, 3,1,2,1).look do
        puts '<3 fatty <3'
        sample :bd_fat
      sleep halves(3,3).look end
      
      if one_in 24
      sleep 3 end
      
  end end
end



with_fx :bitcrusher, cutoff: 75, release: 1 do
  with_fx :gverb, mix: 0.4 do
    live_loop :bd2, sync: :bd1 do
      8.times do
        sample :bd_ada
        sleep [1,0.75,0.5,0.25].tick
      end
      sleep 2
  end end
end

Happy Sunday, everybody!

3 Likes

Liked this. Must say I’ve not used halves before, although density quite a lot. Going to have fun experimenting with your code.

1 Like

Doubles and halves are great with .rotate(x).mirror.look to achieve nice wavy modulation!
ex:

spark (line 0,1, steps: 8).mirror.rotate(knit(4,12,-4,12).look)
puts (line 0,1, steps: 8).mirror.rotate(knit(4,12,-4,12).look)

with_fx :krush do |k|
  with_fx :ping_pong do |pp|
    sleep 2
    live_loop :bd do
      tick
      control k, gain: line(3,7).mirror.look,
        mix: (line 0,1, steps: 8).mirror.rotate(knit(4,12,-4,12).look).look
      
      control pp, phase: halves(1,4).rotate(knit(-2,9,2,9).look).mirror.look
      sample :bd_tek
      sleep 1
    end
  end
end