Examples / Songs / Agency
Cascade Failure
Play in Cycletron Opens it in the app in your browser, with the visualizers. Desktop browsers only.
// AGENCY OST — 06 · Cascade Failure
// Systems fall like dominoes. Neurofunk with breakcore edits at the peak.
//
// FORM (174 BPM · 1 cycle = 1 bar · 72 bars ≈ 1:39 · loops):
// intro 8 e2 alarm (minor-2nd siren) + ticking hats + filtered kick
// build 8 e3 + reese fades in low, snare roll into the drop
// drop 16 e5 full two-step break + reese + falling-domino arp
// glitch 8 e5 breakcore edits: chopped kicks, snare rolls, bitcrush
// break 8 e2 half-time disbelief — sub + airy pad, alarm distant
// drop2 16 e5 full + 16th hats + octave stab double
// outro 8 e1 drums filter away, the alarm never stops
// hook: the falling-domino arp (descending cascades) — both drops.
setbpm(174);
"<intro@2 build@2 drop@4 glitch@2 break@2 drop2@4 outro@2>".slow(4).pickRestart({
intro: stack(
note("<[d#5 e5 d#5 e5] [d#5 e5 d#5 e5] [d#5 e5 d#5 e5] [d#5 e5 d#5 d#5]>")
.s("square").lpf(1200).decay(0.12).sustain(0).room(0.5).gain(0.22).pan(0.55),
s("hh*8").gain(0.18),
s("bd ~ ~ ~ ~ ~ ~ ~ ~ ~ bd ~ ~ ~ ~ ~").lpf(400).gain(0.7),
chord("<G#m G#m E E>").voicing().s("wt_pad")
.attack(0.8).release(1.2).lpf(900).room(0.6).gain(0.24)
),
build: stack(
note("d#5 e5 d#5 e5").s("square").lpf(1400).decay(0.12).sustain(0).room(0.5).gain(0.22).pan(0.55),
s("hh*8").gain(0.16),
s("bd ~ ~ ~ ~ ~ ~ ~ ~ ~ bd ~ ~ ~ ~ ~").gain(0.85),
s("<[~ ~ ~ ~ sd ~ ~ ~ ~ ~ ~ ~ sd ~ ~ ~] [~ ~ ~ ~ sd ~ ~ ~ ~ ~ ~ ~ sd ~ ~ ~] [~ ~ ~ ~ sd ~ ~ ~ ~ ~ ~ ~ sd ~ sd sd] [sd*4 sd*4 sd*8 sd*8]>")
.gain(0.6),
note("<[g#1 ~ g#1 g#1] [g#1 ~ g#1 g#1] [f#1 ~ f#1 f#1] [e1 ~ e1 e1]>")
.s("supersaw").lpf(sine.range(150, 700).slow(4)).resonance(10).gain(0.42)
),
drop: stack(
s("bd ~ ~ ~ ~ ~ ~ ~ ~ ~ bd ~ ~ ~ ~ ~").gain(0.95),
s("~ ~ ~ ~ sd ~ ~ ~ ~ ~ ~ ~ sd ~ ~ ~").gain(0.8),
s("hh*16").gain(0.2),
note("<[g#1 ~ g#1 g#1] [g#1 ~ g#1 e1] [f#1 ~ f#1 f#1] [e1 ~ e1 d#1] [g#1 ~ g#1 g#1] [e1 ~ e1 e1] [f#1 ~ f#1 b1] [d#1 ~ d#1 d#1]>")
.s("supersaw").lpf(sine.range(180, 1300).slow(2)).resonance(11).gain(0.48),
note("<[19 16 14 12] [16 14 12 9] [14 12 9 7] [12 9 7 4] [21 19 16 14] [19 16 14 12] [14 12 9 7] [9 7 4 2]>")
.scale("G#4:minor").s("wt_pluck").fast(2)
.decay(0.1).sustain(0).delay(0.25).delaytime(0.34).gain(0.34).pan(0.6),
note("<g#3 d#3 b3 g#3 e3 b3 f#3 d#3>").s("supersaw")
.lpf(2200).dist(0.35).decay(0.18).sustain(0).gain(0.36)
),
glitch: stack(
s("<[bd ~ bd bd ~ bd ~ ~ ~ bd bd ~ ~ bd ~ bd] [bd ~ ~ bd ~ ~ bd ~ ~ ~ bd ~ bd bd ~ ~] [bd ~ bd bd ~ bd ~ ~ ~ bd bd ~ ~ bd ~ bd] [bd bd ~ bd bd ~ bd bd ~ bd ~ bd bd ~ bd bd]>")
.gain(0.9),
s("<[~ ~ ~ ~ sd ~ ~ sd ~ sd ~ ~ sd ~ ~ ~] [~ ~ sd ~ ~ ~ sd ~ ~ ~ ~ sd ~ ~ sd sd] [~ ~ ~ ~ sd ~ ~ sd ~ sd ~ ~ sd ~ ~ ~] [sd*8 ~ sd*4 sd*16]>")
.crush(6).gain(0.65),
s("hh*16").crush(5).gain(0.18).pan(sine.range(0.3, 0.7).fast(2)),
note("g#1 ~ g#1 g#1 ~ e1 ~ f#1").s("supersaw")
.lpf(sine.range(200, 1600)).resonance(12).dist(0.2).gain(0.45),
note("<[19 ~ 16 ~ 14 ~ 12 ~] [~ 16 ~ 12 ~ 9 ~ 7] [19 ~ 16 ~ 14 ~ 12 ~] [24 21 19 16 14 12 9 7]>")
.scale("G#4:minor").s("wt_pluck").crush(6)
.decay(0.08).sustain(0).gain(0.32).pan(0.4)
),
break: stack(
note("d#5 ~ e5 ~").slow(2).s("square").lpf(900).decay(0.15).sustain(0)
.room(0.7).delay(0.4).delaytime(0.34).gain(0.18).pan(0.55),
note("<g#1 g#1 e1 f#1>").s("sine").attack(0.03).release(0.8).gain(0.5),
s("bd ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~").gain(0.7),
chord("<G#m E B F#>").voicing().s("wt_pad")
.attack(1.0).release(1.5).lpf(1100).room(0.7).gain(0.26)
),
drop2: stack(
s("bd ~ ~ ~ ~ ~ ~ ~ ~ ~ bd ~ ~ ~ ~ ~").gain(0.95),
s("~ ~ ~ ~ sd ~ ~ ~ ~ ~ ~ ~ sd ~ ~ ~").gain(0.8),
s("hh*16").gain(0.22).pan(sine.range(0.35, 0.65)),
s("~ oh ~ oh").gain(0.2),
note("<[g#1 ~ g#1 g#1] [g#1 ~ g#1 e1] [f#1 ~ f#1 f#1] [e1 ~ e1 d#1] [g#1 ~ g#1 g#1] [e1 ~ e1 e1] [f#1 ~ f#1 b1] [d#1 ~ d#1 d#1]>")
.s("supersaw").lpf(sine.range(180, 1500).slow(2)).resonance(11).gain(0.48),
note("<[19 16 14 12] [16 14 12 9] [14 12 9 7] [12 9 7 4] [21 19 16 14] [19 16 14 12] [14 12 9 7] [9 7 4 2]>")
.scale("G#4:minor").s("wt_pluck").fast(2)
.decay(0.1).sustain(0).delay(0.25).delaytime(0.34).gain(0.34).pan(0.6),
note("<g#3 d#3 b3 g#3 e3 b3 f#3 d#3>").s("supersaw")
.lpf(2400).dist(0.35).decay(0.18).sustain(0)
.off(0.5, x => x.add(12).gain(0.5)).gain(0.36)
),
outro: stack(
note("<[d#5 e5 d#5 e5] [d#5 e5 d#5 e5] [d#5 ~ e5 ~] [d#5 ~ ~ ~]>")
.s("square").lpf(1000).decay(0.12).sustain(0).room(0.6)
.delay(0.4).delaytime(0.34).gain(0.2).pan(0.55),
s("bd ~ ~ ~ ~ ~ ~ ~ ~ ~ bd ~ ~ ~ ~ ~").lpf(isaw.range(150, 800).slow(4)).gain(0.7),
note("g#1").s("sine").attack(1.0).release(2.0).slow(2).gain(0.4),
chord("<G#m G#m E E>").voicing().s("wt_pad")
.attack(1.2).release(2.0).lpf(isaw.range(300, 1000).slow(4)).room(0.7).gain(0.24)
)
})