# 230707 2234 bpm 40 fast synth beat with hydra overlapping pattern
# Saved 230707 2234
# YT https://youtu.be/Iml5xKOzIRQ
#
use_bpm 40
with_fx :reverb, room: 0.5 do |rev|
with_fx :distortion, mix: 0, distort: 0 do |dist|
with_fx :ixi_techno, mix: 0, phase: 64 do |ixi|
with_fx :krush, mix: 0 do |krush|
live_loop :a1 do
tick
d = [0,0.2,0.4].choose + 0.2
di = [0,0.2,0.4,0.6].choose
control dist, mix: d, distort: di
control ixi, mix: di
control krush, mix: di
control rev, mix: d
use_synth :saw
use_synth_defaults release: [0.1,0.2,0.3].choose, cutoff: 90
n = :a1+knit(0,64,-3,64).look
p2 = (spread(3,5)*3+spread(3,4))
p1 = spread(4,5)
a = -0
play n+[0,0,0,0,12].look+a if p2.look
play n+[0,0,0,0,12].look+12+a, pan: 0.5 if p2.look
play n+[0,2,3,-2,12].look+12+12, pan: -0.5 if p2.reverse.look
sleep 0.125
end
end
live_loop :kick do
tick
p2 = (spread(3,5)*3+spread(3,4))
sample :bd_haus, cutoff: 80, amp: [2,0,4,2,0,0,2].look if bools(1).look
sample :sn_generic, rate: 4,finish: 0.1, cutoff: 110, amp: line(1,2,steps: 16).mirror.look-0.5 if bools(0,1,1,1,1).look
sleep 0.125
end
end
end
end
# Hydra code
# https://hydra.ojack.xyz/?code=JTJGJTJGczEuaW5pdFNjcmVlbigpJTBBJTIwJTIwJTBBc3JjKHMxKSUwQSUyRiUyRi5waXhlbGF0ZSgxNjAlMkM5MCklMEEucGl4ZWxhdGUoMTYwKjQlMkM5MCo0KSUwQS5zY3JvbGxYKDAlMkMwLjAxKSUwQS5vdXQobzApJTBBJTBBc3JjKHMxKSUwQSUyRiUyRi5waXhlbGF0ZSgxNjAlMkM5MCklMEEucGl4ZWxhdGUoMTYwKjQlMkM5MCo0KSUwQS5zY3JvbGxYKDAlMkMtMC4wMSklMEEub3V0KG8xKSUwQSUwQSUwQXNyYyhzMSklMEElMkYlMkYucGl4ZWxhdGUoMTYwJTJDOTApJTBBLnBpeGVsYXRlKDE2MCo0JTJDOTAqNCklMEEuc2Nyb2xsWSgwJTJDLTAuMDEpJTBBLm91dChvMiklMEElMEFzcmMoczEpJTBBJTIwLnBpeGVsYXRlKDE2MCo0JTJDOTAqNCklMEEuc2Nyb2xsWSgwJTJDMC4wMSklMEEuYmxlbmQobzAlMkMwLjUpJTBBLmJsZW5kKG8xJTJDMC41KSUwQS5ibGVuZChvMiUyQzAuNSklMEElMjAlMjAudGhyZXNoKDAuMSklMEElMjAlMjAuc2F0dXJhdGUoMjAwKSUwQS5zY2FsZSgxKSUwQSUyMCUyMC5vdXQobzMpJTBBJTBBcmVuZGVyKG8zKSUwQSUwQQ%3D%3D
Hydra code
//s1.initScreen() //Run 1.time choose Sonic Pi window as source, uncomment after this.
src(s1)
//.pixelate(160,90)
.pixelate(160*4,90*4)
.scrollX(0,0.01)
.out(o0)
src(s1)
//.pixelate(160,90)
.pixelate(160*4,90*4)
.scrollX(0,-0.01)
.out(o1)
src(s1)
//.pixelate(160,90)
.pixelate(160*4,90*4)
.scrollY(0,-0.01)
.out(o2)
src(s1)
.pixelate(160*4,90*4)
.scrollY(0,0.01)
.blend(o0,0.5)
.blend(o1,0.5)
.blend(o2,0.5)
.thresh(0.1)
.saturate(200)
.scale(1)
.out(o3)
render(o3)