Steve Reich style shifting loops

I was inspired by Loopop’s video entitled “Sampler trick: Steve Reich/William Basinski style phase shifting loops (Digitakt/Model Samples)”

To paraphrase it, it’s taking a short sample, doubling it and shortening one of them. It creates an effect of a more complex or organic rhythm as a side effect of the change in timing.

so I wanted to try it in Sonic Pi.

I used this sample from Looperman and then shortened it in Audacity. I uploaded it to SoundCloud if you want to download it and try it I renamed the sample when I saved it so, unfortunately, I can’t find the original. If you’d like to try it out, be sure to change the <path_to_sample> in the longer and shorter loops to point to where you downloaded the sample.

I’m not sure that my sample is the best but I suspect any of the ones already include in the code would work but I’d choose one that isn’t too complex already otherwise it might just make too much noise.

use_bpm 120

live_loop :longer do
  sample "<path_to_sample>/shortBell-120-e.wav"
  sleep sample_duration("<path_to_sample>/shortBell-120-e.wav")
end

live_loop :shorter do
  sample "C:/Users/gkirilloff/Music/sonic_samples/shortBell-120-e.wav", finish: 0.9
  sleep sample_duration("C:/Users/gkirilloff/Music/sonic_samples/shortBell-120-e.wav")*0.9
end

live_loop :drums do
  sample :elec_mid_snare, amp: 0.2
  sleep 1
end

live_loop :snare do
  sample :elec_hollow_kick
  sleep 0.5
end

live_loop :guitar do
  sample :guit_e_slide
  sleep 60
end

live_loop :garzul do
  sample :loop_garzul, amp: 0.7, cutoff: 80
  sleep sample_duration(:loop_garzul)
end

live_loop :drone do
  use_synth :subpulse
  use_synth_defaults cutoff: 50
  play (ring :e2, :e2+7, :e2-7).tick, sustain: 16
  sleep 16
end

live_loop :noise do
  use_synth :bnoise
  use_synth_defaults cutoff: 80, amp: 0.2
  play 60, sustain: 1, attack: 0.2
  sleep 1
end

What do you think?