The prompt for Genuary2023 Day 29 is
"Maximalism"
For Today's prompt, the piece is named OverSketching
The visuals are made up of three individual LiveCodeLab sketches that are overlayed in numerous ways via Hydra (Thru it's initScreen() function)
- Added a filter to add more flare to the colours within
For the audio portion, I took two previous SonicPi-coded tracks and merge them into one while slowing down the track
Poem
Layering on Top
Layering non-stop
OverSketching is a mindset
That these sketches will ask to not be reset
Being in love with that preset
That intent
That the layers of sketches present
LiveCodeLab Code
First Instance
turns = ((sin(time % 4) + 1) * 15)/4
detail = 400
speed = 0.4
simpleGradient pink,white,black
scale (time % 20 + 1)/10 + wave(0.003)
rotate 15,3,1
detail times with i
rotate 0, 0, (2 * pi) / detail
move 0.65
rotate (turns * i * pi) / detail + (time * speed), 0, 0
rect 1, (sin(time) + 1)/10
detail times with i
rotate 0, sin(time % 30) / 24, (2 * pi) / detail
move 0.65,2,4
rotate (turns * i * pi) / detail + (time * speed), 0, 0
rect 1, (cos(time) + 1)/15
detail times with i
if time % 20 > 10
animationStyle motionBlur
else
animationStyle paintOver
rotate 0, 0, (2 * pi) / detail
move 4,0.65,2
rotate (turns * i * pi) / detail + (time * speed), 0, 0
rect 1, (cos(time) + 1)/20
Second Instance
turns = (sin(time % 40)+1) / (cos(time % 10) + 1)
detail = 100
speed = 0.25
animationStyle motionBlur
simpleGradient blue,red,yellow
scale abs(2 - wave(0.03)) * 2
rotate time / 5, time/5,time/3
(time % 13)/4 times
rotate 0, 2, tan(wave(0.03))
detail times with i
rotate 0, 0, 2 * pi / detail
move 2, 5, 1
rotate (turns * i * pi) / detail + (time * speed), 0, 0
rect 0.2 + wave() + 0.1,0.3,0.6
Third Instance
noStroke
ambientLight 200,150,220
simpleGradient aqua,teal,blue
rotate time, time/2, time/3
scale wave(0.03) + 0.4
900 - ((time % 24)*30) times with i
rotate time * 2 + sin(i)
move 2, sin(time), sin(wave(0.5))
fill yellow
ball abs(1 - wave(0.03)), 0.4 * wave(0.04), 0.07 * (time % 3 + 0.5)
fill red
box 0.07 * (time % 3 + 0.5), abs(1 - wave(0.03)), 0.4 * wave(0.04)
fill green
peg 0.4 * wave(0.04), 0.07 * (time % 3 + 0.5), abs(1 - wave(0.03))
Hydra Code
s0.initScreen();
s1.initScreen();
s2.initScreen();
shape(30, 0.01, 1)
.mult(src(s0)
.blend(osc(20, -0.1, 1)
.modulate(noise(3, 1))
.rotate(0.7)))
.scroll(() => mouse.x * 0.003, () => mouse.y * 0.0004)
.modulateRotate(src(s0)
.kaleid(4), () => mouse.x * 0.004)
.modulateScale(s0, () => mouse.x * 0.004)
.out(o0);
src(s1).pixelate(10000,1000).diff(o0).modulateScale(s2, () => mouse.x * 0.004).out(o2)
src(s2).modulateRotate(src(s2)).scale(0.33).scroll(()=> Math.sin(time % 25)/10).out(o3)
render()
speed = 0.25;
SonicPi Code
#Color +Shadows
#RGB Values
#shadow length equation is Length = height / tan(angle)
#Due to High Pitches, will divide the numbers by 3
def color(hue,loop,synth,effect)
with_fx effect do
live_loop loop do
i = 0 #counter to iterate between the 3 values
use_synth synth
play hue[i]/3 ,release: 2
sleep [0.5,1,2].choose
if i < 4
i+= 1
end
end
end
end
#shadow length component
#adding a decay to the shadow portion
def shadowColor(hue,loop,synth,effect)
with_fx effect do
live_loop loop do
i = 0 #counter to iterate between the 3 values
use_synth synth
play (hue[i]/Math.tan(70)) / 3 #,attack: dice(2)
play ((hue[i]/Math.tan(40)).abs)/3 #,#decay: dice(2)
sleep [0.25,0.5,1,2].choose
if i < 4
i+= 1
end
end
end
end
#taking in the hue,loop name and attached synth, effect
def colorpalette1
#colorpalette1
stromboli = [44,70,66]
hampton = [230,209,169]
teak = [180,150,109]
color(stromboli, :stromboli,:chipbass,:ixi_techno)
shadowColor(stromboli,:strombolishadow,:chipbass,:whammy)
color(hampton,:hampton,:chipbass,:whammy)
shadowColor(hampton,:hamptonshadow,:chipbass,:flanger)
color(teak,:teak,:chipbass,:flanger)
shadowColor(teak,:teakshadow,:chipbass,:ixi_techno)
end
def colorpalette2
#colorpalette2
summerGreen = [144,180,172]
muleFawn = [143,63,43]
sorrellBrown = [197,168,131]
color(summerGreen,:summerGreen,:piano,:vowel)
shadowColor(summerGreen,:summerGreenshadow,:piano,:flanger)
color(muleFawn,:muleFawn,:piano,:pingpong)
shadowColor(muleFawn,:muleFawnshadow,:piano,:pingpong)
color(sorrellBrown,:sorrellBrown,:piano,:pingpong)
shadowColor(sorrellBrown,:sorrellBrownshadow,:piano,:pingpong)
end
def colorpalette3
#colorpalette3
ecruWhite = [243,242,226]
paleOyster = [149,144,129]
capePalliser = [147,113,73]
color(ecruWhite,:ecruWhite,:hollow,:vowel)
shadowColor(ecruWhite,:ecruWhiteshadow,:hollow,:flanger)
color(paleOyster ,:paleOyster,:hollow,:pingpong)
shadowColor(paleOyster ,:paleOystershadow,:hollow,:pingpong)
color(capePalliser,:capePalliser,:piano,:pingpong)
shadowColor(capePalliser,:capePallisershadow,:hollow,:pingpong)
end
live_loop :coloring do
counter = (0..25).to_a.shuffle()
if counter[dice(25)] % 3 == 0 #if the number is divisible by 3
colorpalette1()
elsif counter[dice(25)] % 2 == 0 #if the number is divisible by 2
colorpalette2()
else
colorpalette3()
end
sleep [1,2,4,8].choose
end
def chordsChoose(notes,minMaj,minMaj2,timeChord,dc,st)
play chord(notes.choose, minMaj,decay: dc, sustain: st)
play_pattern_timed chord(timeChord, minMaj2), [0.25,0.5].choose
sleep [1,0.5,0.25,0.5,0.25,1].tick
end
def chordsTick(notes,minMaj,minMaj2,timeChord,dc,ak)
play chord(notes.choose, minMaj,decay: dc, attack: ak)
play_pattern_timed chord(timeChord, minMaj2), [0.25,0.5].tick
sleep [1,0.75,0.5, 0.25].choose
end
#function for the arrangement
def arrangement(sound,bpm,preeffect,intensity,intensity2,loop,effect,effect2,effect3,effect4)
use_synth sound
use_bpm bpm
with_fx preeffect,mix: intensity do
live_loop loop do
with_fx effect, mix: intensity2 do
chordsChoose([:c4,:f4],:minor,:major,[:c5,:c5].tick,0,dice(3))
chordsTick([:d3,:f3],:major,:major,[:f4,:d4].choose,2,1)
end
with_fx effect2, mix: 0.2 do
chordsTick([:g3,:a3,:c3],:major,:major,[:g4,:f4].choose,3,dice(3))
chordsTick([:e4,:a4,:c4],:major,:major,[:g4,:f4].choose,1,2)
end
with_fx effect3 do
chordsChoose([:a3,:g3],:minor,:major,[:a4,:a4].tick,0,dice(3))
chordsTick([:b2,:d2,:f4],:major,:major,[:g4,:f4,:d4].tick,1,dice(2))
end
with_fx effect4, mix: 0.1 do
chordsTick([:f3,:b3],:major,:major,[:f4,:d4].choose,0,2)
chordsTick([:g3,:a3,:c3],:major,:major,[:g4,:f4].choose,3,1)
chordsTick([:d3,:b3],:major,:major,[:f4,:d4].choose,2,3)
end
end
end
end
arrangement(:piano,60,:hpf,0.2,0.4,:arrangement1,:ixi_techno,:ping_pong,:ixi_techno,:ixi_techno)
arrangement([:fm,:prophet,:pretty_bell].choose,30,:lpf,0.3,0.5,:arrangement2,:ixi_techno,:gverb,:ixi_techno,:krush)
arrangement(:piano,30,:hpf,rrand(0.2,0.3),0.4,:arrangement3,:ixi_techno,:pitch_shift,:ixi_techno,:krush)
arrangement(:piano,15,:ping_pong,rrand(0.1,0.3),0.5,:arrangement4,:ixi_techno,:vowel,:ixi_techno,:ixi_techno)
arrangement([:fm,:prophet,:pretty_bell].choose,15,:ping_pong,rrand(0.1,0.3),0.5,:arrangement5,:ixi_techno,:pitch_shift,:ixi_techno,:ixi_techno)
arrangement(:chipbass,30,:vowel,rrand(0.1,0.3),0.5,:arrangement6,:ixi_techno,:pitch_shift,:ixi_techno,:ixi_techno)
arrangement(:dark_ambience,45,:whammy,rrand(0.2,0.7),0.4,:arrangement7,:ixi_techno,:ping_pong,:ixi_techno,:ixi_techno)
arrangement(:chipbass,15,:vowel,rrand(0.3,0.5),0.5,:arrangement8,:ixi_techno,:pitch_shift,:ixi_techno,:ixi_techno)