WCCC_CrossingLines
Which Lines to Cross?
Published
•3 min read
WhichLineToCross
For this week's Creative Code challenge by @sableRaph: “CrossTheLine”, WhichLineToCross explores a scene, where many lines are being crossed and adjusted.Coded with LiveCodeLab, SonicPi & HydraVideoSynth with additional digital art techniques.
Poem
Which line to Cross
What line is loss
To the adjustment
Which paths needs to be tossed
And inquire through new judgements
few investments
For the lines to be Crossed
Video
Code
LIveCodeLab
background black
time % 12 times with i
scale Math.cbrt(cos(time%11)*wave(0.03))
rotate Math.cbrt(sin(time)*wave(0.03)),Math.cbrt(cos(time)*wave(0.03)),Math.hypot(Math.cbrt(sin(time)*wave(0.03),wave(0.3)))
noFill
move Math.cbrt(sin(time)*wave(0.3)),Math.cbrt(sin(time)*wave(0.03)),Math.cbrt(cos(time)*wave(0.03))
box Math.cbrt(sin(time)*wave(0.03)),Math.cbrt(sin(time)*wave(0.03)),Math.cbrt(sin(time)*wave(0.03))
popMatrix()
time % 12 times with i
noFill
scale Math.cbrt(cos(time%11)*wave(0.03))
rotate Math.cbrt(sin(time)*wave(0.03))+0.6,Math.cbrt(cos(time)*wave(0.03))+0.5,Math.hypot(Math.cbrt(sin(time)*wave(0.03),wave(0.3)))+0.5
move Math.cbrt(sin(time)*wave(0.3))+0.01,Math.cbrt(sin(time)*wave(0.03))+0.01,Math.cbrt(cos(time)*wave(0.03))+0.01
rect Math.cbrt(sin(time)*wave(0.03))+0.01,Math.cbrt(sin(time)*wave(0.03))-0.01,Math.cbrt(sin(time)*wave(0.03))-0.01
pushMatrix()
HydraVideoSynth
//Various iterations
s0.initScreen()
osc(3,1,1).repeat(()=> (time% 15)/3,()=> Math.sin((time % 15))*4).colorama(()=> (time % 30)/31).modulateRotate(noise(1,2,3).repeat(()=> (time % 10)/4,2)).mask(shape(3.25,0.5,4).scale([0.05,0.125,0.250,0.05,0.375,0.5,0.375,0.25,0.1,0.05].smooth()).repeat([2.7,3.5,4.2,3.1].fast(0.95),[4,3.5,4.1,2.9,2.4,3.1].fast(0.75)).rotate(()=> Math.sin(time)/10 * 7)).scrollX([0.5,0.3,-0.2,-0.1,0.2].fast(0.4)).scrollY([0.15,0.34,-0.31,-0.12,0.05,-0.03].smooth()).diff(src(s0)).out()
speed= 0.25
osc(3,1,1).repeat(()=> (time% 15)/3,()=> Math.sin((time % 15))*4).colorama(()=> (time % 30)/31).modulateRotate(noise(1,2,3).repeat(()=> (time % 10)/4,2)).mask(shape(3.25,0.5,4).scale([0.05,0.125,0.250,0.05,0.375,0.5,0.375,0.25,0.1,0.05].smooth()).repeat([2.7,3.5,4.2,3.1].fast(0.95),[4,3.5,4.1,2.9,2.4,3.1].fast(0.75)).rotate(()=> Math.sin(time)/10 * 7)).scrollX([0.5,0.3,-0.2,-0.1,0.2].fast(0.4)).scrollY([0.15,0.34,-0.31,-0.12,0.05,-0.03].smooth()).diff(src(s0)).pixelate(2500,50).out()
speed= 0.25
osc(3,1,1).repeat(()=> (time% 15)/3,()=> Math.sin((time % 15))*4).colorama(()=> (time % 30)/31).modulateRotate(noise(1,2,3).repeat(()=> (time % 10)/4,2)).mask(shape(3.25,0.5,4).scale([0.05,0.125,0.250,0.05,0.375,0.5,0.375,0.25,0.1,0.05].smooth()).repeat([2.7,3.5,4.2,3.1].fast(0.95),[4,3.5,4.1,2.9,2.4,3.1].fast(0.75)).rotate(()=> Math.sin(time)/10 * 7)).scrollX([0.5,0.3,-0.2,-0.1,0.2].fast(0.4)).scrollY([0.15,0.34,-0.31,-0.12,0.05,-0.03].smooth()).diff(src(s0)).out()
speed= 0.45
SonicPi
def neighboring(naming,looping,timer, timer2)
#random 10 list array with a seed, to make sure it is always random
use_random_seed Time.now.to_i / timer
cells = 25.times.map { Random.rand(0...2)}
#allows for cell automata rules to include every variable
cells1 = cells.push(cells[0],cells[1])
puts cells1
naming = []
#length of array and push every neighbor of 3 into the array
for i in -2..cells1.length-3 do
naming.push([cells1[i],cells1[i+1],cells1[i+2]])
end
#cellular automata rules
vech = [[0,0,0],[0,1,0],[1,1,1],[0,1,0]]
elec = [[1,0,0],[0,1,1]]
drums = [[1,0,1],[1,1,0]]
x = "vech5.wav"
x1 ="vech6.wav"
x2 = "vech7.wav"
x3 = "vech8.wav"
live_loop looping do
use_random_seed Time.now.to_i / timer
for i in 0..naming.length do
if drums.include? naming[i]
with_fx :ixi_techno, mix: [0.1,0.3,0.5,0.25,0.15].tick do
use_bpm [60,120,30,240].choose
sample [:drum_bass_hard,:drum_bass_soft,:tabla_ghe2].choose,pitch: dice(5), beat_stretch: [2,3,4].choose
end
sleep [0.5,1].choose
else if vech.include? naming[i]
use_bpm [60,120,30,240,480].choose
sample [x,x1,x2,x3].choose, rate: [-1,0.5,0.25,2].choose
sleep [0.5,1].choose
else
with_fx :flanger do
use_bpm [15,30,45,60,120,30,240,480].choose
sample [:elec_blip,:elec_beep,:elec_soft_kick,:ambi_piano].choose , rate: [-3, -1,0.5,0.25,-1.75,2,3].choose
end
sleep [0.5,1,0.2].choose
end
end
end
sleep [0.25,0.5,1].choose
end
end
# initalizing variables to pass through
neighboring(@neighbors1,:pass,2,4)
neighboring(@neighbors2,:pass1,3,5)
neighboring(@neighbors4,:pass2,11,64)
neighboring(@neighbors3,:pass3,13,25)
live_loop :stanza1 do
use_random_seed Time.now.to_i/2
with_fx :ping_pong do
with_fx :vowel, voice: dice(4) do
with_fx :ixi_techno, mix: [0.1, 0.3, 0.5, 0.3].tick do
use_bpm [120,30,240].choose
sample [:loop_garzul, :ambi_dark_woosh].tick,decay: 2, beat_stretch: 6, rate: [-1, 0.5 - 0.25, 2].choose
end
end
end
sleep [1,2,4].choose
end
live_loop :stanza2 do
use_random_seed Time.now.to_i/3
with_fx :ping_pong do
with_fx :vowel, voice: dice(4) do
with_fx :flanger, mix: [0.1, 0.3, 0.5, 0.3].tick do
use_bpm [120,30,240].choose
sample [:ambi_lunar_land, :ambi_dark_woosh,:elec_beep].choose,decay: 4, beat_stretch: 3, rate: [-1, 0.5 - 0.25, 2].choose
end
end
end
sleep [1,2,4].choose
end
live_loop :stanza3 do
use_random_seed Time.now.to_i/4
with_fx :ping_pong do
with_fx :vowel, voice: dice(4) do
with_fx :flanger, mix: [0.1, 0.3, 0.5, 0.3].tick do
use_bpm [120,30,60,15,240].choose
sample [:ambi_piano, :loop_breakbeat].tick,decay: 8, beat_stretch: 1.5, rate: [-1, 0.5 - 0.25, 2].choose
end
end
end
sleep [1,2,4].choose
end



