Today's post will follow squares coded in LiveCodeLab as they represent the feelings of the particles and pixels. Audio takes in SonicPi code from the Generative Music prompt with some minor tweaks
The square isn’t getting warmer But it still intact with its corners With angles still equal Even if it is in the sequel Or their origins are seen in the prequel The corners remain As the squares rotate in their lanes
LiveCodeLab Code
simpleGradient black,white,grey
fill black
stroke white
scale wave(0.03)
rotate sin(time)/3,sin(time)/3
rect sin(time)/3 + cos(time)/3
rotate cos(time)/3,cos(time)/3
rect
rect 0.5,1
move 2,2,2
rotate sin(time)/3,sin(time)/3
rect sin(time) + cos(time)/4
rect
SonicPi Code
#Two chord based functions, one runs on a random assortment, while the other one iterates#In this version, Audio is slowed down by 55%defchordsChoose(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
enddefchordsTick(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 arrangementdefarrangement(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 effect4 do
with_fx effect, mix: intensity2 do
chordsChoose([:a4,:c4,:f4],:minor,:major,[:c5,:c5].tick,bpm/30,dice(3))
chordsTick([:d3,:f3,:c3,:b4],:major,:major,[:f4,:d4].choose,2,1)
endend
with_fx effect4, mix: intensity do
with_fx effect2, mix:0.2do
chordsTick([:g3,:a3,:c3],:major,:major,[:g4,:f4].choose,3,dice(3))
chordsTick([:e4,:a4,:c4],:major,:major,[:g4,:f4].choose,1,2)
endend
with_fx effect3, mix: intensity2 do
with_fx effect3 do
chordsChoose([:a3,:g3],:minor,:major,[:a4,:a4].tick,0,dice(3))
chordsTick([:b2,:d2,:f4,:d2],:major,:major,[:g4,:f4,:d4].tick,1,dice(2))
endend
with_fx effect4, mix:0.1do
chordsTick([:f3,:b3,:g2],:major,:major,[:f4,:d4].choose,0,2)
chordsTick([:g3,:a3,:c3,:f3],:major,:major,[:g4,:f4].choose,3,1)
chordsTick([:d3,:b3,:f3],:major,:major,[:f4,:d4].choose,2,bpm/20)
endendendend#treating every arrangement function as if it was a member of an ochestra
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)