SpheresInBW
The prompt for Genuary2025 Day 14 is “BlackWhite” , Day 12 is “Subdivision” and Day 17 is “Pi=4”
SpheresInBW uses Hydra for subdividing the sketch, LiveCodeLab for the Black&White component while the coded SonicPi composition uses pi=4 to arrange the sounds.
Poem
The motions repeat
As the Grid is seen
In black and white
With the background Scenes
Between day and night
As the motions sweep
As the pixels are seen
Video
Code
LiveCodeLab
if time % 15 > 10
background white
fill black
stroke white
else if time % 15 < 5
background black
fill white
stroke black
else
background white
fill white
stroke black
3 times
scale sin(wave(0.003))
rotate
move
ball
ball
Hydra
s0.initScreen()
src(s0).scale(1.5).repeat(()=> time % 5 + 1, ()=> time % 5 + 2).out()
SonicPi
def circles1(radius,loop,timer)
circumference = 2 * 4 * radius
area = 4 * (radius ** 2)
live_loop loop do
use_bpm [5 * timer, 12 * timer, 8 * timer].choose
use_random_seed (Time.now.to_i)/timer
with_fx :ping_pong,mix: 0.75 do
with_fx :gverb, damp: 0.5 do
use_synth [:piano, :chipbass].choose
play circumference,amp: 2
sample [:tabla_ghe3,:perc_bell,:elec_beep].choose, beat_stretch: area / 80,amp: dice(10)
end
end
sleep [0.25,0.5,1,2,4,8,16].choose
end
end
def circles2(radius,loop,timer)
circumference = 2 * 4 * radius
area = 4 * (radius ** 2)
live_loop loop do
use_bpm [5 * timer, 12 * timer, 8 * timer].choose
use_random_seed (Time.now.to_i)/timer
with_fx :ixi_techno,mix: 0.75 do
with_fx :vowel, voice: dice(3) + 1 do
use_synth :chipbass
play circumference
sample [:elec_blup,:tabla_ghe2,:drum_bass_hard].choose, rate: area / 100, attack: dice(5), amp: dice(10)
end
end
sleep [0.25,0.5,1,2,4,8].choose
end
end
circles1([11,23,17].tick,:circle1,3)
circles2([4,7,9].tick,:circle2,4)
circles2([5,17,12].choose,:circle3,5)
circles1(9,:circle4,6)
circles2([10,12,14].tick,:circle5,7)
circles1([14,3,6].choose,:circle6,8)