NaPoWriMo+GenMo2025_Haiga3

2 min read
Table of contents

DotsFlippage
For the 12th Poem of NaPoWriMo/ NaPoGenMo 2025, DotsFlippage is layered by TixyLand & SonicPi code. The output is inspired by the Haiga, which are illustrations accompanied by Haiku poems.
Poem
Dots Flopping Flipping
Bursting with Hope, But the Truth
Is in the Blinking
Video
Code
TixyLand
pow((y/i+t)|(x/y)*i,sin(x))&hypot((sin(t)/i,cos(y/x)*t))
SonicPi
#remixed another beat , adding more elements through the rotations arrays and adding more synths and sounds
use_bpm 20
n = ring(:b3,:c4,:c5,:c6)
#my arrays of effects, synths, samples
Effects_Swap1 = [:ixitechno, :reverb, :panslicer]
FlavourRotation = [:Pretty_bell,:prophet,:piano,:dpulse]
PercRotation = [:bd_pure, :perc_snap, :bd_haus]
bdRotation = [:bd_haus, :bd_fat, :bd_gas, :bd_808]
DrumHardRotation = [:drum_heavy_kick,:drum_snare_hard,:drum_tom_hi_hard]
#counters
w = 0
x = 0
#liveloop commences
live_loop :bassflow do
with_fx :flanger, mix: rrand_i(0.1,0.9) do
with_fx :gverb, mix: [0.1,0.2,0.3,0.2,0.1].tick do
use_random_seed (Time.now.to_i) / 3
use_bpm 120 / (dice(4)+1)
if one_in(2)
sample :drum_bass_hard
sleep 0.5
else
sample :drum_bass_soft
sleep [0.25,1].choose
end
end
end
end
live_loop :IslandFlavour do
use_random_seed Time.now.to_i
with_fx Effects_Swap1[rand(3)] do
use_bpm 120 / (dice(4)+1)
use_synth FlavourRotation[rand(4)]
x += 1
if (w % 4 == 0)
play n.tick, on: spread(5,12).look, release: (1.0/24), pan: rrand(-0.8,0.8)
sleep [(1.0/24),0.5,0.75].choose
else
play n.tick, on: spread(11,24).look, release: (1.0/24), pan: rrand(-0.8,0.8)
sleep [(1.0/24),0.75].choose
end
# end
end
end
live_loop :PercFlavour do
use_random_seed Math.cbrt(Time.now.to_i)
x += 1
if (x % 4 == 0)
sample PercRotation[rand(3)] if spread(5,12).tick
sleep [(1.0/24),0.35].choose
else
sample PercRotation[rand(3)] if spread(5,8).tick
sleep [(1.0/24),0.75,0.35].choose
end
end
live_loop :flow do
with_fx :ping_pong do
sample bdRotation[rand(4)]if spread(7,24).tick
sleep [(1.0/24),0.5,1].choose
end
end
live_loop :startingline do
sample bdRotation[rand(2)], rate: 1
sleep 0.5
4.times do
sample DrumHardRotation[rand(4)]
sample [:drum_bass_hard,:elec_blip,:glitch_robot2,:guit_em9].choose, rate: dice(6) * -1
sample [:drum_bass_soft,:elec_chime,:glitch_robot,:perc_snap2,:perc_till].choose, rate: dice(6) * -1
sleep [(1.0/24),0.75,1.25].choose
end
end
0
Subscribe to my newsletter
Read articles from Kofi / Illestpreacha directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
