Examples / Songs / Agency

Black ICE

Demos/Songs/agency/10-black-ice.strudel · 106 BPM

Play in Cycletron Opens it in the app in your browser, with the visualizers. Desktop browsers only.

// AGENCY OST — 10 · Black ICE
// ACT II. The Agency deploys its own countermeasure AI. Darksynth in the
// Perturbator mold: the bass IS the riff — staccato, distorted, full of
// holes — and the whole mix stops with it. Sub-sine doubles the riff for
// the concrete low end; the stops let the gated snare's tail hang.
//
// FORM (106 BPM · 1 cycle = 1 bar · 64 bars ≈ 2:25 · loops):
//   intro  8  e1  cold pad + warning arp; the ICE compiles
//   riff   16 e4  THE RIFF: bass+sub in lockstep, half-time gated snare
//   surge  8  e5  + harmonic-minor lead over the riff
//   stall  8  e2  hard stop — riff gone, heartbeat kick, pad tail
//   riff2  16 e5  full: riff + lead + open hats
//   outro  8  e1  the riff decays to single hits; pad closes
// hook: the stop-riff — bars end in silence, bar 4 cuts at the half.

setbpm(106);

"<intro@2 riff@4 surge@2 stall@2 riff2@4 outro@2>".slow(4).pickRestart({
  intro: stack(
    chord("<C#m C#m A A>").voicing().s("supersaw")
      .lpf(1100).attack(0.8).release(1.6).chorus(0.4).room(0.65).gain(0.26),
    note("<[7 ~ 7 ~ 6 ~ 7 ~] [7 ~ 6 ~ 4 ~ ~ ~] [7 ~ 7 ~ 9 ~ 7 ~] [6 ~ 4 ~ 2 ~ ~ ~]>")
      .scale("C#5:minor").s("pulse").decay(0.1).sustain(0)
      .delay(0.3).delaytime(0.1875).room(0.4).gain(0.26).pan(0.6),
    note("c#1").s("sine").slow(2).attack(1.5).release(3).gain(0.4)
  ),
  riff: stack(
    s("<[bd ~ ~ ~ bd ~ bd ~ ~ bd bd ~ ~ ~ ~ ~] [bd ~ ~ ~ bd ~ bd ~ bd ~ bd ~ bd ~ ~ ~] [bd ~ ~ ~ bd ~ bd ~ ~ bd bd ~ ~ ~ ~ ~] [bd ~ ~ bd ~ ~ bd ~ ~ ~ ~ ~ ~ ~ ~ ~]>")
      .gain(0.95).dist(0.25),
    s("~ ~ sd ~").room(0.6).roomsize(0.8).gain(0.7),
    s("hh*8").gain(0.2).pan(sine.range(0.4, 0.6)),
    note("<[c#1 c#1 ~ ~ c#1 ~ c#1 ~ ~ c#1 c#1 ~ ~ ~ ~ ~] [c#1 c#1 ~ ~ c#1 ~ c#1 ~ e1 ~ e1 ~ d1 ~ ~ ~] [c#1 c#1 ~ ~ c#1 ~ c#1 ~ ~ c#1 c#1 ~ ~ ~ ~ ~] [g#1 ~ ~ g#1 ~ ~ f#1 ~ ~ ~ ~ ~ ~ ~ ~ ~] [c#1 c#1 ~ ~ c#1 ~ c#1 ~ ~ c#1 c#1 ~ ~ ~ ~ ~] [c#1 c#1 ~ ~ c#1 ~ c#1 ~ e1 ~ e1 ~ d1 ~ ~ ~] [a1 ~ ~ a1 ~ ~ g#1 ~ ~ f#1 ~ ~ e1 ~ ~ ~] [c#1 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ c#1 c#2 c#1 ~]>")
      .s("sawtooth").lpf(900).resonance(8)
      .decay(0.09).sustain(0).dist(0.35).gain(0.58),
    note("<[c#1 c#1 ~ ~ c#1 ~ c#1 ~ ~ c#1 c#1 ~ ~ ~ ~ ~] [c#1 c#1 ~ ~ c#1 ~ c#1 ~ e1 ~ e1 ~ d1 ~ ~ ~] [c#1 c#1 ~ ~ c#1 ~ c#1 ~ ~ c#1 c#1 ~ ~ ~ ~ ~] [g#1 ~ ~ g#1 ~ ~ f#1 ~ ~ ~ ~ ~ ~ ~ ~ ~] [c#1 c#1 ~ ~ c#1 ~ c#1 ~ ~ c#1 c#1 ~ ~ ~ ~ ~] [c#1 c#1 ~ ~ c#1 ~ c#1 ~ e1 ~ e1 ~ d1 ~ ~ ~] [a1 ~ ~ a1 ~ ~ g#1 ~ ~ f#1 ~ ~ e1 ~ ~ ~] [c#1 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ c#1 c#2 c#1 ~]>")
      .s("sine").lpf(200).decay(0.12).sustain(0).dist(0.2).gain(0.42),
    chord("<C#m C#m A B>").voicing().s("supersaw")
      .attack(0.05).release(0.9).lpf(1000).chorus(0.4).room(0.6)
      .gain(saw.range(0.1, 0.26).fast(4))
  ),
  surge: stack(
    s("<[bd ~ ~ ~ bd ~ bd ~ ~ bd bd ~ ~ ~ ~ ~] [bd ~ ~ ~ bd ~ bd ~ bd ~ bd ~ bd ~ ~ ~] [bd ~ ~ ~ bd ~ bd ~ ~ bd bd ~ ~ ~ ~ ~] [bd ~ ~ bd ~ ~ bd ~ ~ ~ ~ ~ ~ ~ ~ ~]>")
      .gain(0.95).dist(0.28),
    s("~ ~ sd ~").room(0.6).roomsize(0.8).gain(0.72),
    s("hh*8").gain(0.22).pan(sine.range(0.4, 0.6)),
    note("<[c#1 c#1 ~ ~ c#1 ~ c#1 ~ ~ c#1 c#1 ~ ~ ~ ~ ~] [c#1 c#1 ~ ~ c#1 ~ c#1 ~ e1 ~ e1 ~ d1 ~ ~ ~] [c#1 c#1 ~ ~ c#1 ~ c#1 ~ ~ c#1 c#1 ~ ~ ~ ~ ~] [g#1 ~ ~ g#1 ~ ~ f#1 ~ ~ ~ ~ ~ ~ ~ ~ ~]>")
      .s("sawtooth").lpf(950).resonance(8)
      .decay(0.09).sustain(0).dist(0.35).gain(0.56),
    note("<[c#1 c#1 ~ ~ c#1 ~ c#1 ~ ~ c#1 c#1 ~ ~ ~ ~ ~] [c#1 c#1 ~ ~ c#1 ~ c#1 ~ e1 ~ e1 ~ d1 ~ ~ ~] [c#1 c#1 ~ ~ c#1 ~ c#1 ~ ~ c#1 c#1 ~ ~ ~ ~ ~] [g#1 ~ ~ g#1 ~ ~ f#1 ~ ~ ~ ~ ~ ~ ~ ~ ~]>")
      .s("sine").lpf(200).decay(0.12).sustain(0).dist(0.2).gain(0.4),
    note("<[0 ~ 2 ~ 3 ~ 5 ~] [7 ~ 5 ~ 3 ~ 2 ~] [0 ~ 2 ~ 3 ~ 5 ~] [7 ~ 9 ~ 7 ~ 5 ~] [0 ~ 2 ~ 3 ~ 5 ~] [7 ~ 5 ~ 3 ~ 2 ~] [3 ~ 5 ~ 7 ~ 9 ~] [7 ~ ~ ~ 5 ~ ~ ~]>")
      .scale("C#4:harmonic minor").s("sawtooth")
      .lpf(2600).resonance(6).decay(0.2).sustain(0.12)
      .dist(0.15).delay(0.25).delaytime(0.1875).room(0.3).gain(0.38)
  ),
  stall: stack(
    s("bd ~ ~ ~ ~ ~ ~ ~ ~ ~ bd ~ ~ ~ ~ ~").lpf(500).gain(0.7),
    chord("<C#m G#m A A>").voicing().s("supersaw")
      .attack(1.0).release(2.0).lpf(900).chorus(0.5).room(0.75).gain(0.28),
    note("<[7 ~ ~ ~ ~ ~ 6 ~] [4 ~ ~ ~ ~ ~ ~ ~] [~ ~ 7 ~ ~ ~ 9 ~] [7 ~ ~ ~ ~ ~ ~ ~]>")
      .scale("C#5:minor").s("pulse").decay(0.1).sustain(0)
      .delay(0.45).delaytime(0.1875).delayfeedback(0.5).room(0.5).gain(0.22).pan(0.6),
    note("c#1").s("sine").slow(2).attack(1.0).release(2.5).gain(0.42)
  ),
  riff2: stack(
    s("<[bd ~ ~ ~ bd ~ bd ~ ~ bd bd ~ ~ ~ ~ ~] [bd ~ ~ ~ bd ~ bd ~ bd ~ bd ~ bd ~ ~ ~] [bd ~ ~ ~ bd ~ bd ~ ~ bd bd ~ ~ ~ ~ ~] [bd ~ ~ bd ~ ~ bd ~ ~ ~ ~ ~ ~ ~ ~ ~]>")
      .gain(0.95).dist(0.28),
    s("~ ~ sd ~").room(0.6).roomsize(0.8).gain(0.72),
    s("hh*8").gain(0.22).pan(sine.range(0.4, 0.6)),
    s("~ ~ ~ oh").gain(0.26),
    note("<[c#1 c#1 ~ ~ c#1 ~ c#1 ~ ~ c#1 c#1 ~ ~ ~ ~ ~] [c#1 c#1 ~ ~ c#1 ~ c#1 ~ e1 ~ e1 ~ d1 ~ ~ ~] [c#1 c#1 ~ ~ c#1 ~ c#1 ~ ~ c#1 c#1 ~ ~ ~ ~ ~] [g#1 ~ ~ g#1 ~ ~ f#1 ~ ~ ~ ~ ~ ~ ~ ~ ~] [c#1 c#1 ~ ~ c#1 ~ c#1 ~ ~ c#1 c#1 ~ ~ ~ ~ ~] [c#1 c#1 ~ ~ c#1 ~ c#1 ~ e1 ~ e1 ~ d1 ~ ~ ~] [a1 ~ ~ a1 ~ ~ g#1 ~ ~ f#1 ~ ~ e1 ~ ~ ~] [c#1 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ c#1 c#2 c#1 ~]>")
      .s("sawtooth").lpf(1000).resonance(8)
      .decay(0.09).sustain(0).dist(0.35).gain(0.58),
    note("<[c#1 c#1 ~ ~ c#1 ~ c#1 ~ ~ c#1 c#1 ~ ~ ~ ~ ~] [c#1 c#1 ~ ~ c#1 ~ c#1 ~ e1 ~ e1 ~ d1 ~ ~ ~] [c#1 c#1 ~ ~ c#1 ~ c#1 ~ ~ c#1 c#1 ~ ~ ~ ~ ~] [g#1 ~ ~ g#1 ~ ~ f#1 ~ ~ ~ ~ ~ ~ ~ ~ ~] [c#1 c#1 ~ ~ c#1 ~ c#1 ~ ~ c#1 c#1 ~ ~ ~ ~ ~] [c#1 c#1 ~ ~ c#1 ~ c#1 ~ e1 ~ e1 ~ d1 ~ ~ ~] [a1 ~ ~ a1 ~ ~ g#1 ~ ~ f#1 ~ ~ e1 ~ ~ ~] [c#1 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ c#1 c#2 c#1 ~]>")
      .s("sine").lpf(200).decay(0.12).sustain(0).dist(0.2).gain(0.42),
    note("<[0 ~ 2 ~ 3 ~ 5 ~] [7 ~ 5 ~ 3 ~ 2 ~] [0 ~ 2 ~ 3 ~ 5 ~] [7 ~ 9 ~ 7 ~ 5 ~] [12 ~ 9 ~ 7 ~ 5 ~] [7 ~ 5 ~ 3 ~ 2 ~] [3 ~ 5 ~ 7 ~ 9 ~] [0 ~ ~ ~ ~ ~ ~ ~]>")
      .scale("C#4:harmonic minor").s("sawtooth")
      .lpf(2800).resonance(6).decay(0.2).sustain(0.12)
      .dist(0.15).delay(0.25).delaytime(0.1875).room(0.3).gain(0.36)
  ),
  outro: stack(
    note("<[c#1 ~ ~ ~ ~ ~ c#1 ~ ~ ~ ~ ~ ~ ~ ~ ~] [c#1 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~] [g#0 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~] [c#1 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~]>")
      .s("sawtooth").lpf(700).decay(0.12).sustain(0).dist(0.3).gain(0.5),
    chord("<C#m C#m A C#m>").voicing().s("supersaw")
      .attack(1.2).release(2.2).lpf(isaw.range(350, 1100).slow(8))
      .chorus(0.4).room(0.75).gain(0.26),
    note("c#1").s("sine").slow(2).attack(1.5).release(3).gain(0.4)
  )
})