Skip to main content

Command Palette

Search for a command to run...

WCCC_ColorRiot

Riot of Color

Updated
3 min read
WCCC_ColorRiot

ColorSplashRiotScape

For this week's Creative Code Challenge by @sableraph: "Riot of Color”, ColorSplashRiotScape coded from HydraVideoSynth, BarbaraGraphics & SonicPi. Uses a riot of colors to convey the personalities, characteristics and movements from these colors. Audio is also coming from the color : Peach Cobbler.

Poem

Colors Overlapping and Rioting
Different splashes of hues, 
Rotating & Pivoting
WIth a snap, externally choose
Where to go
Where the ColorSplashScape
Decides to Hold
Forgoes sense and begins it Fate

Video

https://youtu.be/Z3mp9e6YSR4

Code

HydraVideoSynth

//Part 1

osc(8,-0.5, 1).color([-1.5,2,3],[-1.5,0,1.5], [0,1,-1.5]).diff(o0).luma(0.3).rotate([-0.5,10,20].smooth(), ()=> (time % 10 + 1)/9).modulate(shape([0.2,0.1,1,2].smooth(),[0.4,0.2,0.3].smooth(),[0.5,1].smooth()).rotate(0.5, 0.5).modulateScale(osc(1,-0.5,0)).scale(0.5).repeatX(1.5, [1.5,2.5,3].smooth()).repeatY([1.5,2.3,3].smooth(), 1.5)).scrollX([0.5,1,2,4].smooth()).scrollY(()=> (time % 20 + 1)/30).out(o0)

speed = 0.015

//Part 2


osc(8,-0.5, 1).color([-1.5,2,3],[-1.5,0,1.5], [0,1,-1.5]).diff(o0).rotate([-0.5,10,20].smooth(), ()=> (time % 10 + 1)/9).modulate(shape([0.2,0.1,1,2].smooth(),[0.4,0.2,0.3].smooth(),[0.5,1].smooth()).rotate(0.5, 0.5).modulateScale(osc(1,-0.5,0)).scale(0.5).repeatX(1.5, [1.5,2.5,3].smooth()).repeatY([1.5,2.3,3].smooth(), 1.5)).scrollX([0.5,1,2,4].smooth()).scrollY(()=> (time % 20 + 1)/30).out(o0)

speed = 0.015

SonicPi

#reading of the DipInCodeFirstService
#for csvs larger than 10 mbs use the for reach


require 'csv'

#naming the Dataset DipInCode and going to read the file
Dip = CSV.parse(File.read("C:/Colorscape/DipInCode/SonicPi_CodeBase/Model/DipInCode_FirstService.csv"), headers: true)

#Getting the Ingredients
PeachCobbler = Dip[31]

#Dip[foodname][column].to_f , need to.f as it is to float
#0s and other ratios might have to be switch out to give flow to that track and make it run

with_fx :ixi_techno do
  live_loop :PeachCobbler1 do
    use_bpm PeachCobbler["Red"].to_f
    sample :ambi_choir, rate: dice(PeachCobbler["Yellow"].to_f/PeachCobbler["Hue"].to_f)  if spread(PeachCobbler["Blue%"].to_f,PeachCobbler["Green%"].to_f).tick
    sample :perc_snap2,rate: rrand(PeachCobbler["y2"].to_f,PeachCobbler["Red"].to_f/PeachCobbler["Blue"].to_f)  if spread(PeachCobbler["H-Lab1"].to_f,PeachCobbler["CIE-L"].to_f).reverse.mirror
    sleep [PeachCobbler["x2"].to_f,PeachCobbler["Yellow"].to_f/PeachCobbler["Mangeta"].to_f,PeachCobbler["Saturation2"].to_f/PeachCobbler["Lightness"].to_f].choose
  end
end

with_fx :krush, mix: PeachCobbler["x2"].to_f  do
  live_loop :PeachCobbler2 do
    use_bpm PeachCobbler["Blue"].to_f
    with_fx :reverb do
      sample :perc_snap2, rate: rrand(PeachCobbler["y2"].to_f,PeachCobbler["Red"].to_f/PeachCobbler["Blue"].to_f) if spread(PeachCobbler["H-Lab1"].to_f,PeachCobbler["CIE-L"].to_f).reverse.mirror
      sleep [PeachCobbler["x2"].to_f,PeachCobbler["Green%"].to_f/PeachCobbler["Blue%"].to_f].choose
    end
  end
end

with_fx :ping_pong do
  live_loop :PeachCobbler3 do
    use_bpm PeachCobbler["Green"].to_f
    sample :tabla_ghe2, rate: dice(PeachCobbler["Yellow"].to_f/PeachCobbler["Hue"].to_f)  if spread(PeachCobbler["Blue%"].to_f,PeachCobbler["Green%"].to_f).tick
    sample :perc_snap2, decay: PeachCobbler["H-Lab2"].to_f, rate: rrand(PeachCobbler["y2"].to_f,PeachCobbler["Red"].to_f/PeachCobbler["Blue"].to_f)  if spread(PeachCobbler["H-Lab1"].to_f,PeachCobbler["CIE-L"].to_f).reverse.mirror
    sleep [PeachCobbler["x2"].to_f,PeachCobbler["Yellow"].to_f/PeachCobbler["Mangeta"].to_f,PeachCobbler["Saturation2"].to_f/PeachCobbler["Lightness"].to_f].choose
  end
end

#.ceil to round up

with_fx :vowel,voice: dice((PeachCobbler["Saturation"].to_f % PeachCobbler["Hue"].to_f).ceil()) do
  live_loop :PeachCobbler4 do
    use_bpm PeachCobbler["Red"].to_f
    with_fx :reverb do
      sample :perc_snap2, rate: rrand(PeachCobbler["y2"].to_f,PeachCobbler["Red"].to_f/PeachCobbler["Blue"].to_f) if spread(PeachCobbler["H-Lab1"].to_f,PeachCobbler["CIE-L"].to_f).reverse.mirror
      sample :ambi_choir, rate: dice(PeachCobbler["Yellow"].to_f/PeachCobbler["Hue"].to_f)  if spread(PeachCobbler["Blue%"].to_f,PeachCobbler["Green%"].to_f).tick
      sleep [PeachCobbler["x2"].to_f,PeachCobbler["Green%"].to_f/PeachCobbler["Blue%"].to_f].choose
    end
  end
end

BarbaraGraphics

triangle white color 180 rotate
triangle black color 180 rotate 25 75 translate
triangle purple color 25 10 translate 17 10
triangle brown color 180 rotate 0 25 translate 20 5
triangle red color 0 25 translate
triangle yellow color 10 translate
duplicate 25 25 translate blue color
duplicate 180 90 rotate green color 5 translate
triangle orange color 75 rotate
all repeat

—



triangle white color 180 260 rotate
triangle black color 18 rotate 15 75 translate
triangle purple color 25 10 translate 27 20
triangle brown color 180 rotate 0 25 translate 20 15
triangle red color 0 25 translate
triangle yellow color 14 translate
duplicate 25 25 translate blue color
duplicate 180 90 rotate green color 15 translate
triangle orange color 75 rotate
all repeat

–


triangle grey color 180 rotate
circle black color 180 rotate 25 75 translate
triangle purple color 25 10 translate 17 10
triangle brown color 180 rotate 0 25 translate 20 5
circle red color 0 25 translate
circle navy color 10 -12
translate
duplicate 25 25 translate blue color
duplicate 180 90 rotate lime color 5 translate
triangle yellow color 75 rotate
all repeat

WCCChallenge

Part 1 of 50

Submissions to the WCCChallenge

Up next

WCCC_AboveBelow

Anagrams, all over

More from this blog

C

Code is Poetry & Data is Poetry

712 posts

Creative Coder/Multimedia Artist/Performative Programmer : Engineering Thru Creative Means and Providing Experiences