MinaCoding2025_Free

2 min read
Table of contents

Bluesprogattini
For MinaCoding2025 Prompt 30: Free, Bluesprogattini coded in OpenScad & SonicPi is an exploration of new species in the realm.
Poem
Bluesprogattini, are more than just creatures
With their geometrical features
Thinking of their futures
Their Cultures
As their movements have been translated
As new thoughts have been Created
Video
Code
OpenScad
union(){
//top
translate([0,35,95]) color("orange",1.0) sphere(22);
translate([-35,35,95]) color([0.15, 0.25, 0.47]) sphere(42);
translate([0,55,95]) color("orange",1.0) sphere(22);
translate([0,15,95]) color("orange",1.0) sphere(22);
translate([0,35,55]) color([0.15, 0.25, 0.47]) sphere(22);
translate([-35,35,55]) color([0.15, 0.25, 0.47]) sphere(22);
//teal section
translate([0,55,75]) color("teal",1.0) sphere(22);
translate([0,35,75]) color("white",1.0) sphere(22);
translate([0,15,75]) color("teal",1.0) sphere(22);
//eyes
translate([20,45,75]) color("black",1.0) sphere(10);
translate([20,25,75]) color("black",1.0) sphere(10);
translate([27,25,75]) color("gold",1.0) sphere(5);
translate([27,45,75]) color("gold",1.0) sphere(5);
//cylinder
translate([5,25,-35]) color([0.25,0.75,0.93]) cylinder(h = 125, r = 9);
translate([5,35,-35]) color([0.25,0.75,0.93]) cylinder(h = 125, r = 9);
translate([5,45,-35]) color([0.25,0.75,0.93]) cylinder(h = 125, r = 9);
//cylinder
translate([-25,105,75]) rotate([90,0,0]) color("white",1.0) cylinder(h = 145, r = 14);
}
SonicPi
live_loop :bassflow do
with_fx [:reverb,:echo].tick, mix: [0.6,0.4,0.2,0.1].tick do
use_random_seed Time.now.to_i / 2
use_bpm 120
if one_in(2)
sample [:elec_blip,:elec_blup].tick , rate: [0.5,1,-0.87,0.25].tick, amp: dice(3)+ 1
sleep 0.5
else
use_bpm [120,60,30].choose
sample :drum_bass_soft, amp: 2.5
sleep [0.25,0.5,1].tick
end
end
end
live_loop :heavydrum do
with_fx :ixi_techno, mix: [0.75,0.5,0.625].choose do
use_random_seed Time.now.to_i / 4
if one_in(2)
use_bpm [120,60,30,15].choose
sample :drum_cymbal_closed
sleep 0.5
else
use_bpm [120,60,30,15].choose
sample :drum_heavy_kick
sleep 0.25
end
end
end
live_loop :heavydrum do
with_fx :ixi_techno, mix: ((use_random_seed Time.now.to_i / 10) % 10 + 1)/11 , phase: dice(3) do
use_random_seed Time.now.to_i / 3
if one_in(2)
use_bpm [240,120,60].choose
sample :drum_cymbal_closed
sleep [0.5,0.75,1].tick
else
use_bpm [240,120,60].choose
sample :drum_heavy_kick
sleep [0.25,0.5].choose
end
end
end
live_loop :drumming do
use_bpm [240,120,60].choose
use_random_seed Time.now.to_i / 2
sample :drum_cymbal_pedal
sample :drum_splash_hard
sleep [4,8,2].choose
end
live_loop :moredrums do
use_bpm [240,120,60].choose
with_fx [:flanger,:ping_pong].tick, mix: ((use_random_seed Time.now.to_i * 2) % 10 + 1)/11 do
with_fx :echo, mix: rrand(0.1,0.7), amp: dice(4) do
sample [:tabla_ghe2,:tabla_ghe3,:tabla_ghe4].tick, beat_stretch: [0.5,1,0.75].tick
sleep [1,2].choose
end
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
