Skip to main content

Command Palette

Search for a command to run...

WCCC_Sticky

Stickiness From All Angles

Published
2 min read
WCCC_Sticky

StickyCoreUp

For this week's Creative Code challenge by @sableRaph: “Sticky“, StickyCoreUp is coded with SonicPi, LiveCodeLab & HydraVideoSynth. Explores stickiness through: Certain color pixels that are stuck with another color, pixels that are sticking to the screen and Entities/Audio that seem to have been stuck together.

Poetry

Stuck together
For worse or Better
Stickiness from the Pixels
Rendering their signals
As they keep sticking  together

Video

https://youtu.be/zCDLyC4MOd8

%[

https://youtu.be/zCDLyC4MOd8

\]

Code

LiveCodeLab

if time % 10 > 5
	background white
else
	background black

if time % 30 > 15
	animationStyle paintOver
else
	animationStyle motionBlur

pushMatrix()
75 times with i
	noStroke
	rotate 0.004,-0.004, time % 20 / 1000
	fill orange
	move sin(time)/100,0,0
	peg sin(time)* 1.25,1,(time % 5 + 1)/4
popMatrix()

pushMatrix()
75 times with i
	noStroke
	rotate (time % 60)/10000, sin(time)/10
	ambientLight 
	fill gold
	move 0,sin(time)/100
	peg 1,1,(time % 5 + 1)/4
popMatrix()

pushMatrix()
75 times with i
	scale 0.97
	noStroke
	rotate
	ambientLight 
	if time % 20 > 10
		fill black
	else
		fill red
	move 0,0,sin(time)/100
	ball 1,1,(time % 5 + 1)/4
popMatrix()

pushMatrix()
75 times with i
	scale 0.97
	stroke
	ambientLight
	fill grey
	move 0,sin(time)/100,sin(time)/100
	ball wave(1),1,(time % 5 + 1)/4
popMatrix()

SonicPi

live_loop :dosage do
  use_bpm 20
  use_random_seed (Time.now.to_i)/2
  with_fx [:echo,:wobble,:krush].choose, mix: rrand(0.25,0.55) , amp: 1 do
    sample [:ambi_drone,:ambi_glass_hum,:elec_fuzz_tom,:elec_beep].choose,beat_stretch: [1,0.5,0.8].choose, rate: [0.5,0.4,0.3,0.2,0.3,0.4].tick
    sleep [0.5,1,2].choose
  end
end

sample

live_loop :bell do
  with_fx [:ixi_techno,:flanger,:ping_pong].choose, mix: rrand(0.2,0.7) do
    use_random_seed (Time.now.to_i)
    use_bpm [120,80,220].choose
    sample [:perc_bell,:elec_bell,:loop_electric].choose, rate: (rrand 0.125,1.85)
    sleep rrand(0.2,2)
  end
end



live_loop :rollback2 do
  #making true random as it goes with the actual time
  #then using the Math.cbrt to make it a different seed ratio then the above function
  use_random_seed Math.cbrt(Time.now.to_i)
  use_bpm 45
  puts Time.now.to_i
  with_fx [:echo,:whammy,:distortion].choose, mix: rrand(0.1,0.6) do
    with_fx [:ping_pong,:distortion,:krush].choose, mix: rrand(0.1,0.9) do
      sample [:perc_swoosh,:perc_swoosh,:perc_snap].choose ,beat_stretch: [1,2,3,0.5].tick, sustain: 4, rate: Math.sqrt(dice(25) + 1)/3
      sleep [0.5,1,2,4,8].choose
    end
  end
  sleep [0.5,1,2].choose
end


live_loop :rollback3 do
  #making true random as it goes with the actual time
  #then using the Math.cbrt to make it a different seed ratio then the above function
  use_random_seed Math.cbrt(Time.now.to_i)
  use_bpm [45,90,90,90,135].tick
  puts Time.now.to_i
  with_fx [:echo,:whammy,:distortion,:pitch_shift].choose, mix: rrand(0.1,0.6) do
    with_fx [:ping_pong,:distortion,:krush].choose, mix: rrand(0.1,0.9) do
      sample [:loop_mehackit1,:perc_swoosh,:glitch_robot2,:glitch_robot1].choose ,beat_stretch: [1,2,3,0.5].tick, sustain: 4, rate: Math.sqrt(dice(25) + 1)/3
      sleep [0.5,1,0.25].choose
    end
  end
  sleep [0.5,1,2].choose
end

HydraVideoSynth

s0.initScreen()

src(s0).pixelate(125,125).blend(src(s0).scale(0.95).blend(src(s0).scale(1.05))).rotate(() => (time % 10) /100).modulateScale(src(s0)).out()