WCCC_Rewind

RewindsOfRewinds

For this week's Creative Code challenge by @sableRaph:"Rewind”, RewindsOfRewinds is coded in LiveCodeLab, Hydra, SonicPi & LiveCodingYoutube.

Rewinding Process

Poem

Press the start button
As the day and its events
Begin to be summoned
How do you plan to transverse
This segments
That you couldn’t rehearse?
Which nutrients will give you the burst
To get past
Into the land that vast
Sustaining motions that can be able last
Be hold , for the times
That we take a pause
To rewind
And gives ourselves applause
Because we are still aiming
If the sun shines or it is raining
So with that said,
How are we moving ahead?

Video

Code

Hydra

s0.initScreen()

src(s0)
.pixelate([1000,5000,10000,20000],[2000,4000,50000,100000])
.repeat(3,3)
.mult(src(s0)
.scale([0.5,0.75,1,1.25].smooth(),[0.25,0.5,1,2].smooth()))
.out()

LiveCodeLab (2021)

turns = tan(4-time %2) + sin(4-time % 3)
detail = 1000
speed = 0.4 * cos(2) * 0.2
simpleGradient salmon,blanchedalmond,orange
scale 0.48
rotate 15,wave(0.03),0
detail times with i
    rotate tan(pi * sin(pi)), sin(pi), (2 * pi) / detail
    move cos(0.65) * (time % 4),sin(6.5),tan(10)
        rotate (turns * i * pi) / detail + (time * speed), 0, 0
            peg tan(2),4,cos(3)/detail, sin(pi)

LiveCodingYoutube

v1 = 'swh448fLd1g'
//Fantasmagorie (1908) First Cartoon Ever
v2 = 'aGKj8_Aewks'
//Crazy Plane (1928) remix
v3 = 'ZNAHcMMOHE8'
//Le Voyage dans la Lune (1902) - Georges Méliès
v4 = 'pZrgdNdcUW0'
//Steamboat Willie (1928) remix

create(2,2,v1)
cue(0,v2)
cue(1, v3)
cue(2,v4)

speed([0,1],-5)
speed(2,-0.5)
speed(3,-2.8)

jump(1,70,40,40)
jump([2,3],0.5,1,1)
jump([0,1,2,3],-5,-5)

play(all)

SonicPi (Updated)

# Dec 28, 2016 remix: https://github.com/IllestPreacha/SonicPiTrackListing/blob/master/QuickRiddims.rb

def bassing(looping, bpming)

  live_loop looping do
    use_random_seed (Time.now.to_i)/2
    use_bpm bpming
    with_fx :ixi_techno, mix: 0.7, phase: dice(4) do
      with_fx :ping_pong, mix: rrand(0.3,0.8), phase: dice(4) do
        use_bpm 20
        if one_in(2)
          sample :drum_bass_hard, rate: Math.cbrt(rrand_i(-3,3)) + 1.25  if spread(7,12).tick
          sleep [0.5,1,2].choose
        else
          sample :drum_bass_soft, beat_stretch: dice(6) if spread(5,12).tick
          sleep [0.25,0.5,1,2,3].choose
        end
      end
    end
  end

end

def starting (looping,bpming)

  live_loop looping do
    use_random_seed (Time.now.to_i)/3
    with_fx :reverb, mix: rrand(0.25,0.6) do
      use_bpm  bpming
      if one_in(3)
        sample :tabla_ghe4, beat_stretch: dice(4)/8 + 1 if spread(17,24).tick
        sleep [0.25,0.5,0.75,1].choose
      else one_in(2)
        sample :tabla_ghe2, beat_stretch: 3, rate: -1.25 if spread(5,12).tick
        sleep [0.5,2].choose
        sample :tabla_ghe3 if spread(19,24).tick
        sleep [1,2].choose
      end
    end
  end

end

def bd (looping,bpming)
  use_random_seed (Time.now.to_i)/5
  live_loop looping, amp: 1 do
    use_bpm bpming
    sample :bd_808,attack: dice(4) if spread(5,12).tick
    sleep ([2,1,0.5].choose)
    sample :bd_fat,slice: 4 if spread(7,12).tick
    sleep([0.5,1,2].choose)
  end
end


live_loop :mixing do
  use_random_seed (Time.now.to_i)/3

  bpm1 = [12,60,30]
  bpm2 = [90,45,20]
  bpm3 = [120,60,30,15]

  bd(:bd,bpm3.choose)
  starting(:start,bpm1.choose)
  bassing(:bass,bpm2.choose)
  sleep [0.5,1,2].choose
end


live_loop :mixing2 do
  use_random_seed (Time.now.to_i)/2

  bpm1 = [30,60,90]
  bpm2 = [10,20,30,180]
  bpm3 = [120,10,75]

  with_fx :vowel do
    bassing(:bass2,bpm3.choose)
    starting(:start2,bpm2.choose)
    bd(:bd2,bpm1.choose)
  end


  sleep [0.5,1,2].choose
end

live_loop :mixing3 do


  use_random_seed (Time.now.to_i)/5

  bpm1 = [30,60,90,120]
  bpm2 = [240,400,170, 7]
  bpm3 = [10,75,110, 47]

  with_fx [:krush,:flanger,:whammy].tick, mix: rrand(0.1,0.6) do
    starting(:start3,bpm2.choose)
    bassing(:bass3,bpm1.choose)
    bd(:bd3,bpm3.choose)
  end

  sleep [0.5,1,2].choose
end


live_loop :cueing do
  use_random_seed (Time.now.to_i)
  with_fx :ixi_techno, mix: 0.35 do
    use_bpm 5
    sample [:bd_zome,:ambi_piano,:elec_bong].choose ,beat_stretch: 12, rate: -0.5
    cue [:mixing3,:mixing2].tick, decay: 5, sustain: 3
    sleep [0.5,1,4].choose
  end
end

SonicPi - First Entry

#Recursion Challenge
#Aided with https://www.tutorialspoint.com/how-does-recursion-work-in-ruby-programming
# 3 Minute Version for the OST Soundtrack


live_loop :addition do


  # recursion call being the function calling a new sub string
  def Addition(arr)
    return 1 if arr.length == 0
    arr[0] + Addition(arr[1..-1])
  end

  #variables that will be used in the Method Call below
  #Dice is a randomizer that functions as a dice roll
  a = dice(8)
  b = dice(8)
  c = dice(8)
  d = 2
  e = 3

  #Calling the Method to aid with sound design
  smacks = Addition([a,b,c,d,e])
  notes = Addition([a,b,d])

  #sound elements
  if notes % 2 == 0

    with_fx :flanger, mix: rrand(0.3,0.5) do
      with_fx :echo do
        use_synth [:pretty_bell, :kalimba, :prophet].choose
        play notes * 4, attack: dice(6), decay: dice(2)
      end
    end
  else

    with_fx :whammy, mix: rrand(0.2,0.6) do
      with_fx :gverb do
        use_synth [:pretty_bell, :kalimba, :bass_highend].choose
        play notes * 4, attack: dice(6), sustain: dice(3)
      end
    end
  end

  if smacks > 10

    if notes > 8


      with_fx :vowel ,voice: dice(4), mix: rrand(0.1,0.97) do
        sample :drum_bass_hard, decay: smacks / 12 if spread(smacks/4, smacks/3).look
      end

    else
      with_fx :ixi_techno, mix: rrand(0.25,0.75) do
        sample :drum_bass_soft, decay: smacks / 12 if spread(smacks/4, smacks/3).look
      end
    end

  else

    if notes > 8

      with_fx :ping_pong do
        time_warp -0.2 do #adding timewarp
          with_fx :whammy, amp: dice(3) do
            sample :tabla_ghe1, decay: smacks / 12 if spread(smacks/4, smacks/3).look
          end
        end
      end


    else
      with_fx :ping_pong,pre_mix: 0.5, mix: 0.7 do
        time_warp -1.5 do #time warp 2
          with_fx :ixi_techno, mix: 0.75 do
            sample :tabla_ghe3, decay: smacks / 12 if spread(smacks/4, smacks/3).look
          end
        end
      end
    end


  end


  #print out numbers
  puts Addition([a,b,c,d,e])
  puts notes

  sleep [0.25,0.5,1,2,4].choose
end
0
Subscribe to my newsletter

Read articles from Kofi / Illestpreacha directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Kofi / Illestpreacha
Kofi / Illestpreacha