WCCChallenge_Destruction

WCCChallenge_Destruction

Metamorphosis & Process

HuesinDestruction

For this week's Creative Code Challenge by @sableraph: Creative Destruction, I decided to make HuesInDestruction.

This week's languages are Hydra, LiveCodeLab & P5js for Visuals and Seis8s & SonicPi for Audio**.**

Destruction Process

  • The Destruction Process for this piece takes the visual output of the languages ( Hydra, Livecodelab & P5js) and gradually destroys the previous sketch to add additional layers to the output

  • The Blur, Oilpaint & Transitional filters were added to demonstrate the destructive nature of these pieces as a kind of metamorphosis

  • The view of the sketch changes as the first portion is an internal perspective of the world of the sketch, followed by a third-person view as seen with the various screens. Then followed by the same video being played from a 360 view.

  • For the Audio, Seis8s in combination with SonicPi was used to bring tension to the sounds. Also, an accidental insertion of @sableraph vocals can be heard in the beginning

  • With the overall, Glitchyness to further the "destruction" of pixels

Poetry

Metamorphosis in the Process
As the context of destruction
Is skewed towards creativeness
With dosage of randomness
Added to the transformation
That is heighten within the Metamorphosis
Lengthen through the lens
Lens of the code
Flowed to the ends
The curvature that makes the sketch
As its runs
Through the lines that commands how it is summoned
As the executable commences
As the sketch begins to be summed
As it is about to be fetched

Video

Code

Hydra

osc(4,1,1).color(0,1,[0,0.5,0.25,1]).modulateScale(noise(2,3,4))
.modulateKaleid(voronoi(1,2,3),0.7).out()

speed = 0.25

Livecodelab

if time % 10 == 5
    simpleGradient blue,orange,purple
scale 1.5 + wave(0.0003)
animationStyle paintOver
ambientLight 200,100,(20 + time) % 100
rotate frame / 100, sin(time), cos(time)
v = (frame / 2) % 255
fill 255 - v, 0, 0
stroke 255 - v, 0, 0
scale 1 - (v / 255)
box tan(3 - v), sin(v), cos(v)


background black
if time % 20 > 10
    noStroke
else if time % 20 < 5
    stroke 100,98,100
else
    stroke 200,100,200
stackN = 10 + time % 30
numStacks = 40 + time % 35
scale 0.3
spread = 18 + cos(time)
thinness = 0.08 + tan (time)
colorSpeed = 4 + wave(0.003)
movmentSpeed = 0.002
noiseMov = (x, y, j, z) -> spread * (  ( noise  (x * abs (sin (time+y) * movmentSpeed)) / (j + z) ) - 0.5  )
move 1, 1, 0
rotate 3, 0.6, time / 10
numStacks times with j
    move 0
        xm = noiseMov 200, 100, j, 20
        ym = noiseMov 209, 200, j, 2
        zm = (noiseMov 100, 300, j, 40) / 4
        move xm, ym, zm
        stackN times with i
            move 0, 0, i * thinness
                fill 255, (time*3*j*colorSpeed+i*255/stackN)%255, (time*1*j*colorSpeed+i*255/stackN)%255
                peg 3 - (time % i)
                rect  2 + (time % i),1, 2  * i

P5JS

let cnv; 
let vid = '<iframe width="800" height="800" src="https://www.youtube.com/embed/trsPw_IOSZY" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>'

let vid_rest = '<iframe width="200" height="200" src="https://www.youtube.com/embed/trsPw_IOSZY" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>'

function setup() {
  createCanvas(800, 800);

  cnv = createDiv(vid);
  cnv2 = createDiv(vid_rest);
  cnv3 = createDiv(vid_rest);
  cnv4 = createDiv(vid_rest);
  cnv5 = createDiv(vid_rest);
  cnv6 = createDiv(vid_rest);
  cnv7 = createDiv(vid_rest);
  cnv7 = createDiv(vid_rest);
  cnv8 = createDiv(vid_rest);
}

function draw() {

cnv.position(400,400);

  if (second()  % 10 == 5)
    {
      cnv2.position(random(0,600),random(0,800))
      cnv5.position(random(0,600),random(0,800))
    }

   if (second()  % 10 == 3)
    {
      cnv3.position(random(0,600),random(0,800))
      cnv4.position(random(0,600),random(0,800))
    }

 if (second()  % 10 == 7)
   {
     cnv7.position(random(0,600),random(0,800))
    cnv8.position(random(0,600),random(0,800))
   }


}

function mouseClicked() {

  cnv.position(0,0);
}

Seis8s

-- salsa suave remix

tempo 89;  
acordes [do m, do m , fa, fa, do, do m , do,fa, re dim, do m, fa, do, do, la, la , la, fa, re dim, do m, do m , re dim , re dim, re dim]; 
tumbao 1 $ sample 2 $ teclado; 
vol 1.1 $ tumbao [1a 5a 1a, 5a 1a, 1a 3a 5a] [1 2.5 4, 2.5 4] $ sample 4 $ bajo;
marcha [p p t "p" "p" "t" "p" "p" (t "a") p p (t "a") p a a] [1 1.5 2 2.5 3 3.5 4 4.5] $  congas;
preset 3  $ cumbia clave;
acompanamiento (3 2 1.5 6 4)("3a" "1a") $ cumbia jamblock;
preset 1  $ cumbia clave;
ritmo [ 1 2 3 4 6 ] $ guira

SonicPi


live_loop :dance do
  use_random_seed Time.now.to_i
  with_fx [:flanger,:whammy].choose, mix: rrand(0.1,0.7) do
    sample :loop_breakbeat,amp: dice(8),decay: dice(8), rate: [0.5,1,2].choose
    sleep [2,4,8].choose
  end
end


live_loop :dance1 do
  use_random_seed Time.now.to_i/2
  with_fx :ping_pong, mix: [0.1,0.2,0.1].choose do
    with_fx :vowel, voice: [1,2,3,4].choose, mix: 0.2 do
      use_bpm 60
      sample :loop_breakbeat, beat_stretch: [4,8].choose, amp: dice(8), rate: [0.5,0.25,1].choose
      sleep [4,8,16].choose
    end
  end
end


live_loop :dance2 do
  with_fx :ping_pong do
    use_random_seed Time.now.to_i/3
    with_fx :gverb, mix: rrand(0.3,0.6) do
      with_fx :vowel, voice: dice(3) do
        sample :loop_breakbeat,amp: dice(8), rate: 0.5
        sleep [1,2,4,8].choose
      end
    end
  end
end