WCCChallenge-Lunar

WCCChallenge-Lunar

The NeverEnding Race

For this week's Creative Code Challenge by @sableRalph : Lunar I decided to do an audiovisual piece coded with LiveCodingYoutube(1902's A Trip to the Moon) & SonicPi for the sounds with filters added in post productions.

5 Centuries of Moon

Poetry

The Race
To outer space
Where pace is outplaced
By the vastness
That uniquely traces
Its orbit
As the moon is the meeting place
But the journey is tale of this story
Perhaps a revision to history
Of what occurred
Or maybe,
Just Maybe
The truth is being told
And this is the documentation when unfold
And the pages have been turnt split

Video

Design Process

Code

SonicPi - Lunar Races

with_fx :distortion, mix: 0.55 do
  with_fx :krush,mix: 0.7 do
    live_loop :drone do
      use_bpm 15
      sample :ambi_lunar_land , beat_stretch: 19 if spread(11,12).tick
      sleep [2,4,6,8,16].choose
    end
  end
end

with_fx :ping_pong, mix: 0.75 do
  with_fx :whammy do
    live_loop :drone2 do
      use_bpm 30
      sample :ambi_glass_rub, beat_stretch: 4 if spread(17,24).tick
      sleep [1,2,4,8].choose
    end
  end
end


with_fx :ping_pong, mix: 0.5 do
  with_fx :whammy do
    live_loop :drums2 do
      use_bpm 80
      sample :tabla_ghe3 if spread(7,12).tick
      sample :elec_beep if spread(17,24).tick
      sleep [0.5,1,2,4].choose
    end
  end
end

SonicPi - Triple Unknowns

notes = (ring 47, 72, 35, 59, 74, 54, 62)

with_fx :flanger do
  use_bpm 30
  live_loop :arp do
    use_synth :prophet
    play notes.tick, release: [0.2,0.4,0.6,0.8,1].tick
    sleep [0.250,0.500,1].choose
  end
end

with_fx :flanger do
  use_bpm 30
  live_loop :arp2 do
    use_synth :prophet
    play notes.tick, release: [0.2,0.4,0.6,0.8,1].choose
    sleep [0.250,0.500].choose
  end
end

LiveCodingYoutube

moon = "xLVChRVfZ74"

create(2,2,moon) // youtube id is pasted when you click a thumbnail
play(0)
play(all)
pause()
speed(0,-0.15)
speed([1,2],0.10)
jump([1,2],-30,20)
jump([0,3],-10,20)
jump(0,20,30)
jump(3,40,40)
play([0,3])
pause(all)
seek(all,0)
play(">0")
loopAt(1,3,2) // loop video 1 from 3 second for 2 seconds
loopAt(2,19,4)
loop([1,2],100,40) // loop video 2 and video 1 from