# Genuary2023_Suprematism

·

## Suprematism

For Today's prompt, I am following the following information about Suprematism :

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%

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 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)
end
end

with_fx effect4, mix: intensity do
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
end

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))
end
end

with_fx effect4, mix: 0.1 do
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)
end

end
end
end

#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)
``````