Reich Phase: adaptation 1

using this Reich Phase sample. I can post this…form the [Illusionist] Reich Phase

’ # Steve Reich’s Piano Phase
'# See: Piano Phase - Wikipedia

'# use_synth :piano
notes = (ring :E4, :Fs4, :B4, :Cs5, :D5, :Fs4, :E4, :Cs5, :B4, :Fs4, :D5, :Cs5)

live_loop :slow do
play notes.tick, release: 0.1
sleep 0.3
end

live_loop :faster do
play notes.tick, release: 0.1
sleep 0.295
end

I took this and have learned more than I expected to. I wanted different sounds to be played… and set out to not just add notes to the group of notes used but — to change their sounds as well.

'# Reich Phase: adaptation 1

notes = (ring :Eb4, :Fs2, :Bb3, :Cs5, :D5, :Fs4, :Es4, :Cs5, :Bs4, :Fs4, :D5, :Cs5, :E4, :Fs4, :B4, :Cs7, :Db5, :Fs3, :Eb6, :Cs3, :Bb2, :Fs2, :Db3, :Cb3)

live_loop :slow do
trig = (spread 1, 7).tick(:slow)
synth :hollow, note: notes.tick, release: 0.4 if trig
sleep 0.3
end

live_loop :faster do
trig = (spread 1, 9).tick(:faster)
synth :tb303, note: notes.tick, release: 0.6 if trig
sleep 0.295
end

live_loop :delay do
trig = (spread 1, 8).tick(:delay)
synth :prophet, note: notes.tick, release: 0.8 if trig
sleep 0.305
end

what was difficult with the whole thing was the word notes… I looked for a long time for that keyword … of course it was not there. Then I just saw that it was a variable that was being assigned note values. the other problem occurred at a similar problem with the word slow and fast – also loop names… that was the only stumbling part of the reworking and adaptation … I will continue to work with the example as I learn the best from example.

1 Like

Hey thanks pg for liking my post… :slight_smile: it is good

I am working today with a new example—

‘#’ Ambient Experiment

‘#’ Coded by Darin Wilson
‘#’
‘#’’ The piece consists of three long loops, each of which
‘#’ plays one of two randomly selected pitches. Each note
‘#’ has different attack, release and sleep values, so that
‘#’ they move in and out of phase with each other. This can
‘#’ play for quite awhile without repeating itself :slight_smile:

use_synth :hollow
with_fx :reverb, mix: 0.7 do

live_loop :note1 do
play choose([:D4,:E4]), attack: 6, release: 6
sleep 8
end

live_loop :note2 do
play choose([:Fs4,:G4]), attack: 4, release: 5
sleep 10
end

live_loop :note3 do
play choose([:A4, :Cs5]), attack: 5, release: 5
sleep 11
end

end

I have put quotes about the '#" as that keeps it from being seen as a markup command going on…–

this is a great creation of itself… IMO Much applauds to Darin Wilson bravo.

I have added things and as well added comments about these addings like 3 more note loops and 2 more notes per loop… :slight_smile: and adjusted the time… and numbers too across most all of it some might of stayed the same …–

this:

'# Welcome to Sonic Pi

'# Coded by Darin Wilson
'#
'# The piece consists of three long loops, each of which
'# plays one of two randomly selected pitches. Each note
'# has different attack, release and sleep values, so that
'# they move in and out of phase with each other. This can
'# play for quite awhile without repeating itself :slight_smile:
'#
'# Adaptation and Addendum Code ~ by Bill Newbold
'#
'# added 3 more loops so far…–total 6 loops and added two more note choices per loop = 6 loops and 4 notes.
'# also changed most of the settings with the new loops being attack release values and sleep values.
'# with all the changes only one syntax error … I used F3s but it should of been … Fs3 changed and corrected…

use_synth :hollow
with_fx :reverb, mix: 0.88 do

live_loop :note1 do
play choose([:D4,:E4,:Fs3,:Bs2]), attack: 7, release: 9
sleep 9
end

live_loop :note2 do
play choose([:Fs4,:G4,:Cs4,:Ds3]), attack: 9, release: 5
sleep 12
end

live_loop :note3 do
play choose([:A4, :Cs5,:B5,:G4]), attack: 6, release: 10
sleep 11.5
end

live_loop :note4 do
play choose([:D4,:E4,:As5,:Eb3]), attack: 8, release: 8
sleep 8
end

live_loop :note5 do
play choose([:Fs4,:G4,:Fs4,:E3]), attack: 6, release: 7
sleep 10
end

live_loop :note6 do
play choose([:A4, :Cs5,:As3,:C4]), attack: 4, release: 6
sleep 11
end

end

so I am just noticing now that just one little tic of a quote in front of the number symbol is all that is need for the post here… :slight_smile: great… done

This particular work was put into record made the wave file… and then uploaded it to my collection of sounds… and songs at soundcloud this is the like to that

OK I am going to try the html markup thing… with the soundcloud stuff… that embed code might work seems I just need the link is all-- the rest is done for me…thanks.

1 Like

Hi Bill, nice ambient music :slight_smile: I like your adaptation.

Regarding formatting here on the forum: if you wish to have a snippet of code display with nice syntax highlighting, then the way to do this is to have an extra line before and after your code snippet, and on these extra lines, place three back-ticks ` in a row. That will tell the forum that the text in between is code to be formatted :+1:

2 Likes

trying to use the three ticks there … didn’t work for me it was the sonic-pi code that I was trying to post…-- not regular html or markup things… IDK i reworked the first post… with the single tick before the '# to solve the problem again… 000 anyway

I have… been reworking several of the codings made and well intermixing them — I was thinking to put these in a separate … thread but probably no need… It is just more ambient stuff… with the expansions on all of it… — I guess I can post the code then the video I made with live play-- into the video… yeah

first I recoded the ambient experiment that was given as an example…like this…

'# Coded by Darin Wilson
'#
'# The piece consists of three long loops, each of which
'# plays one of two randomly selected pitches. Each note
'# has different attack, release and sleep values, so that
'# they move in and out of phase with each other. This can
'# play for quite awhile without repeating itself :slight_smile:
'#
'# Adaptation and Addendum Code ~ by Bill Newbold
'#
'# added 3 more loops so far…–total 6 loops and added two more note choices per loop = 6 loops and 4 notes.
'# also changed most of the settings with the new loops being attack release values and sleep values.
'# with all the changes only one syntax error … I used F3s but it should of been … Fs3 changed and corrected…

with_fx :echo , mix: 0.4 do

use_synth :hollow
with_fx :reverb, mix: 0.5 do

live_loop :note1 do
  s1 = play choose([:D4,:E4,:Fs3,:Bs2]), attack: 7, release: 13, amp: 33
  control s1, pan: rrand(-1, 1), cutoff: rrand(60, 110)
  sleep 9
end

live_loop :note2 do
  s2 = play choose([:Fs4,:G4,:Cs4,:Ds3]), attack: 9, release: 10, amp: 26
  control s2, pan: rrand(-1, 1), cutoff: rrand(60, 110)
  sleep 12
end

live_loop :note3 do
  s3 = play choose([:A4, :Cs5,:B5,:G4]), attack: 6, release: 16, amp: 31
  control s3, pan: rrand(-1, 1), cutoff: rrand(60, 110)
  sleep 11.5
end

live_loop :note4 do
  s4 = play choose([:D4,:E4,:As5,:Eb3]), attack: 8, release: 11, amp: 29
  control s4, pan: rrand(-1, 1), cutoff: rrand(60, 110)
  sleep 8
end

live_loop :note5 do
  s5 = play choose([:Fs4,:G4,:Fs4,:E3]), attack: 6, release: 17, amp: 25
  control s5, pan: rrand(-1, 1), cutoff: rrand(60, 110)
  sleep 10
end

live_loop :note6 do
  s6 = play choose([:A4, :Cs5,:As3,:C4]), attack: 4, release: 14, amp: 27
  control s6, pan: rrand(-1, 1), cutoff: rrand(60, 110)
  sleep 11
end

end

end

this plays really nicely the addendum of two more notes per loop is great…while the addition of 3 more loops just opens up things … there might be a problem with the ---- multiple Live loops I thought I had fixed that but It must not of saved when I quit… Looking over the saves I see what happened — I had fixed the multiple live loop things in a different … edit of a different example… this one… here

'# Welcome to Sonic Pi

'# Coded by Sam Aaron

'# codes altered by Bill Newbold

with_fx :reverb, mix: 0.5 do
live_loop :oceans do
s1 = synth [:mod_pulse, :mod_dsaw, :mod_tri, :sine, :subpulse].choose, amp: rrand(0.1, 0.5), attack: rrand(1, 6), sustain: rrand(1, 5), release: rrand(1, 6), cutoff_slide: rrand(1, 5), cutoff: rrand(65, 105), pan: rrand(-1, 1), pan_slide: rrand(1, 7), amp: rrand(0.1, 1.5)
control s1, pan: rrand(-1, 1), cutoff: rrand(60, 110)
sleep rrand(1, 4)

s2 = synth [:mod_fm , :pluck, :piano, :mod_sine ].choose, amp: rrand(0.1, 0.5), attack: rrand(1, 6), sustain: rrand(1, 5), release: rrand(1, 6), cutoff_slide: rrand(1, 5), cutoff: rrand(65, 105), pan: rrand(-1, 1), pan_slide: rrand(1, 7), amp: rrand(0.1, 2.5)
control s2, pan: rrand(-1, 1), cutoff: rrand(60, 110)
sleep rrand(1, 4)

s3 = synth [:pretty_bell , :tech_saws, :zawa].choose, amp: rrand(0.1, 0.5), attack: rrand(1, 6), sustain: rrand(1, 5), release: rrand(1, 6), cutoff_slide: rrand(1, 5), cutoff: rrand(65, 105), pan: rrand(-1, 1), pan_slide: rrand(1, 7), amp: rrand(0.1, 1.5)
control s3, pan: rrand(-1, 1), cutoff: rrand(60, 110)
sleep rrand(1, 4)

end

end

so this one had three live loops and I went and edited it down to 1 that made all the live loops play rather nicely… — IDK If it was the way I wanted it but it did happen … OK…—

I will rework that multi live loop problem to fix it.-- and repost in another post OH the video that was made :slight_smile: yeah it was a live feed just before out to my youtube thing… here


I don’t know what the forum thing will do with a youtube link till I post I guess. a very ambient work I did … and if there was something I missed or did not include that needs to be included in the video comments let me know… OK…
1 Like

not sure when too many notes being played or … too few notes being played keeps these ambient experiments from being ambient === so yeah —

the reworked ambient experiment is here without the live loop multiplicities … but I don’t know if that was good or bad? really both ways made the song… right?

'# Welcome to Sonic Pi

'# Coded by Darin Wilson
'#
'# The piece consists of three long loops, each of which
'# plays one of two randomly selected pitches. Each note
'# has different attack, release and sleep values, so that
'# they move in and out of phase with each other. This can
'# play for quite awhile without repeating itself :slight_smile:
'#
'# Adaptation and Addendum Code ~ by Bill Newbold
'#
'# added 3 more loops so far…–total 6 loops and added two more note choices per loop = 6 loops and 4 notes.
'# also changed most of the settings with the new loops being attack release values and sleep values.
'# with all the changes only one syntax error … I used F3s but it should of been … Fs3 changed and corrected…

with_fx :echo , mix: 0.4 do

use_synth :hollow
with_fx :reverb, mix: 0.5 do

live_loop :note1 do
  s1 = play choose([:D4,:E4,:Fs3,:Bs2]), attack: 7, release: 23, amp: 33
  control s1, pan: rrand(-1, 1), cutoff: rrand(60, 110)
  sleep 5
  
  
  
  s2 = play choose([:Fs4,:G4,:Cs4,:Ds3]), attack: 9, release: 20, amp: 26
  control s2, pan: rrand(-1, 1), cutoff: rrand(60, 110)
  sleep 6
  
  
  
  s3 = play choose([:A4, :Cs5,:B5,:G4]), attack: 6, release: 26, amp: 31
  control s3, pan: rrand(-1, 1), cutoff: rrand(60, 110)
  sleep 7
  
  
  
  s4 = play choose([:D4,:E4,:As5,:Eb3]), attack: 8, release: 21, amp: 29
  control s4, pan: rrand(-1, 1), cutoff: rrand(60, 110)
  sleep 8
  
  
  
  s5 = play choose([:Fs4,:G4,:Fs4,:E3]), attack: 6, release: 27, amp: 25
  control s5, pan: rrand(-1, 1), cutoff: rrand(60, 110)
  sleep 4
  
  
  
  s6 = play choose([:A4, :Cs5,:As3,:C4]), attack: 4, release: 24, amp: 27
  control s6, pan: rrand(-1, 1), cutoff: rrand(60, 110)
  sleep 6.5
  
end

end

end

----- let me know if there is a substantial difference between the many live loops or the single live loop and or what exactly is the difference between that?