WCCC_Waves

BlurredWaveLengths

For this week's Creative Code challenge by @sableRaph: “Waves”, BlurredWaveLengths Represents many aspects of waves coded in SonicPi, Ruby, HydraVideoSynth & LiveCodeLab.

Wave Based Design

  • Poem is formatted in Ruby in a wave format

  • LiveCodeLab utilized the wave function in the code and blurred after for effects

  • HydraVideoSynth animation was inspired by wave type splashes

  • The SonicPi code was outputted into a wav. file and sound is a wave.

Wave Based Poem

Output

Waving
            [Notetaking with Gestures]             
                                [Binging Internally,Nightly]
                                                 [Even Beyond Hueish Qualms]
                                                                        [Zero Latency, Yielded]
                                                  [Curiosity/Yearning, Wittiness/Smoothfulness]                                                      [beacons switching knowledge uniquely]                              
            [Questioning Patterns Gifting ]             
[Patterns Gifting Questions]
                                            [Chasing Routes]                              
                                                                     [Through Features]
Waving

Video

Code

LiveCodelab

simpleGradient pink,white,pink

ambientLight sin(time) * 255,cos(time) * 255, tan(time) * 255

25 + ((time % 30) * 13) times
    scale 0.78
    rotate wave(0.03),sin(time) *wave(0.0003 * (time % 150))
    move sin(0.02),cos(0.03) * wave(0.03)
    box 0.5, 2, wave(sin(time))/1000
    peg Math.hypot(sin(time), cos(time)), sin(time), cos(time)
    ball wave(0.03) * -1

HydraVideoSynth - Repeating

s0.initScreen()

src(s0).scale(1.5).modulate(src(s0).scale(2).luma(0.3)).
modulateRepeat(src(s0).pixelate(50,50).luma(0.14).brightness(0.57),[3,4,5,4,3].smooth().fast(0.04)).out()

HydraVideoSynth - Wavey

s0.initScreen()

src(s0).repeat(2,2).scale(0.5).luma(0.12).
modulateScale(osc(1,1,1).repeat(2,2).pixelate(50,50).kaleid([4,3,2,1,2,3,5].smooth()).luma(0.1).
scale(0.3)).modulateRotate(osc(1,1,1).pixelate(50,50).kaleid(4).luma(0.1).scale(0.3).repeat(2,2)).
modulateScrollX(src(s0).repeat(2,2).pixelate(50,50).kaleid([4,3,2,1,2,3,5].smooth()),[0.3,0.2,0.1,-0.2,-0.3].smooth()).out()


speed = 0.5

SonicPi

live_loop :bassflow do
  with_fx [:reverb,:echo].tick, mix: [0.6,0.4,0.2,0.1].tick do
    use_random_seed Time.now.to_i / 2
    use_bpm [120,30].choose
    if one_in(2)
      sample [:tabla_dhec,:tabla_tas3,:tabla_re].tick , rate: [0.5,1,-0.87,0.25].tick, amp: dice(3)+ 1
      sleep [0.5,1,2].choose
    else
      use_bpm [120,75,40].choose
      sample [:drum_bass_soft,:ambi_drone,:ambi_piano].choose, amp: [1.5,2.5,0.75].choose
      sleep [0.25,0.5,1,4].tick
    end
  end
end

live_loop :heavydrum do
  with_fx :ixi_techno, mix: [0.75,0.5,0.625].choose do
    use_random_seed Time.now.to_i / 4
    if one_in(2)
      use_bpm [120,180,240].choose
      sample :drum_cymbal_closed,rate: [0.5,1,-1,-0.5,2,-2].choose
      sleep 0.5
    else
      use_bpm [120].choose
      sample [:drum_heavy_kick,:elec_snare,:elec_blip2].choose
      sleep 0.25
    end
  end
end


live_loop :heavydrum1 do
  with_fx :ixi_techno, mix: ((use_random_seed Time.now.to_i / 10) % 10 + 1)/11 , phase: dice(3) do
    use_random_seed Time.now.to_i / 3
    if one_in(2)
      use_bpm [120,60].choose
      sample :drum_cymbal_closed, beat_stretch: dice(5)+2
      sleep [0.5,0.75,1,2,4].tick
    else
      use_bpm [120,60].choose
      sample :drum_heavy_kick, rate: [0.5,1,-1,-0.5,2,-2].choose
      sleep [0.25,0.5,2,4].choose
    end
  end
end

live_loop :drumming do
  use_bpm [120,60].choose
  use_random_seed Time.now.to_i / 2
  sample [:drum_cymbal_pedal,:ambi_soft_buzz].choose
  sample [:drum_splash_hard,:elec_ping].choose, rate: [0.5,1,-0.5,1,0.25,2].tick
  sleep [4,8,2].choose
end


live_loop :moredrums do
  use_bpm [120,60,30].choose
  with_fx [:flanger,:ping_pong].tick, mix: ((use_random_seed Time.now.to_i * 2) % 10 + 1)/11  do
    with_fx :echo, mix: rrand(0.1,0.7), amp: dice(4) do
      sample [:drum_tom_mid_soft,:perc_snap2,:drum_roll,:elec_plip,:elec_ping].choose
      sleep [1,2,4,8].choose
    end
  end
end

Poetic Format

SonicPi/Ruby Poetic FrameWork

use_random_seed Time.now.to_i / 2
x = ('a'..'z').to_a.shuffle.reverse
y = ('a'..'z').to_a.shuffle.reverse

#wave components
wave1 = [x[12],y[17],y[12]]
wave2 = [y[5],y[10],y[12]]

wave2a = wave2.shuffle
wave2b = wave2.shuffle.reverse

#second wave components

wave3 = (y.last(13) + x.first(12)).shuffle
wave3a = [wave3[10],wave3[12],wave3[8],wave3[17]]

#Output to a file
#.center(40) aligns the code to follow Form

File.open("E:/Creatuve Code Challenges/Wave/MicroWavePoetry.txt", "w+") do |f|
  f.puts("#{y[17].center(1)}")
  f.puts("#{wave1}".center(40))
  f.puts("#{y.last(3)}".center(80))
  f.puts("#{x.last(4)}".center(120))
  f.puts("#{y.first(3)}".center(160))
  f.puts("#{x.first(4)}".center(120))
  f.puts("#{wave3a}".center(80))
  f.puts("#{wave2}".center(40))
  f.puts("#{wave2a}".center(15))
  #.puts(wave2b[0].center(10))
  f.puts("#{wave3.last(2)}".center(100))
  f.puts("#{wave3.first(2)}".center(150))
  f.puts("#{y[17].center(1)}")
end

Output Example

w
            ["n", "w", "g"]             
                                ["b", "i", "n"]
                                                 ["e", "b", "h", "q"]        
                                                                        ["z", "l", "y"]

                                                  ["c", "y", "w", "s"]                                                  
                              ["b", "s", "k", "u"]                              
            ["q", "p", "g"]             
["p", "g", "q"]
                                            ["c", "r"]
                                                                     ["t", "f"]
w
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