# Steve Reich style shifting loops

**URL:** <https://in-thread.sonic-pi.net/t/steve-reich-style-shifting-loops/5640>\
**Category:** Performances, Streams & Live Coding\
**Created:** [May 26, 2021, 8:49am UTC](https://in-thread.sonic-pi.net/t/steve-reich-style-shifting-loops/5640 "2021-05-26T08:49:03Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![gregeporter](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/gregeporter/32/1277_2.png) [@gregeporter](https://in-thread.sonic-pi.net/u/gregeporter)\
**Post date:** [May 26, 2021, 8:49am UTC](https://in-thread.sonic-pi.net/t/steve-reich-style-shifting-loops/5640/1 "2021-05-26T08:49:03Z")

</div>

I was inspired by Loopop’s video entitled [“Sampler trick: Steve Reich/William Basinski style phase shifting loops (Digitakt/Model Samples)”](https://www.youtube.com/watch?v=bFMP8MbmnL4)

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](https://www.looperman.com/) and then shortened it in Audacity. I uploaded it to [SoundCloud if you want to download it and try it](https://soundcloud.com/user-220012061/shortbell-120-e/s-zuVXoF1TJsc) 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?
