Strudelify

radioactive

F.I.R.E.

KeyD majorTempo140 bpm
0:00/0:00
// radioactive — F.I.R.E.
// 140 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Transcription provider: pdmx. https://musescore.com/score/5897907; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 105 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(140/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once · [...]/2 spreads a riff over 2 bars.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// chords · piano
const piano = note(`<
  ~@13 A@2 B C@4 D@2 E@2 F@7 G H I J K L@2 M@3 N@3 O N@3 P@3 Q@4 R S@8 H I J K L@2 M@3 N@3 O T@3 U@2 V@2 W@2 X@2 Y Z AA
  AB AC@2 AD@3 AE@4 AF@4
>`.pickRestart({
  A: "[~ [d5,g5]@15 ~ [g5,b5]@15, b4, ~ d5]/2", // G5 G
  B: "[d5,a5,a#6,b6] [d5,a5,g6,g#6,a6] [e6,f6,f#6] [d5,a5,c#6,d6,d#6] [d5,f#5,a#5,b5,c6] [d5,f#5,g5,g#5,a5] [e5,f5,f#5] [c#5,d5,d#5,f#5] [a#4,b4,c5,d5,e5] [g4,g#4,a4,d5,e5] [e4,f4,f#4] [c#4,d4,d#4,d5,e5] [a#3,b3,c4] [g3,g#3,a3] [e3,f3,f#3] [c#3,d3,d#3], ~@3 [c#5,f#5]", // A#maj7 Dsus4 Dmaj7 Bm D Dmaj7 Gsus2 F#5
  C: "[b1 ~@2 f#4 b2 ~ f#4 b2 d2 ~@2 f#4 d3 ~ f#4 d3 a1 ~@2 [f#4,c#5] a2 ~ f#4 a2 g1 f#4 ~@2 f#1 ~@2 f#1, b2@2 b2@2 f#3@3 f#4@4 b4@4 f#4@4 ~ [f#4,c#5] a2@2 [f#4,d5]@2 ~ c#5@2 [f#2,f#4] f#1 [f#2,f#4,c#5]@2, c3 ~ b1@4 b4@10 ~@2 d2@4 d2@2 [f#4,f#5]@2 d3@2 [d2,f#5]@4 a2@4 a2@4 e3@8 g2@4 g2@12, ~@3 b1@2 b2@2 e5@8 e5@9 ~ d5@2 g1@5, ~@4 [f#4,f#5]@2 [b1,f#5]@2 d3@2 d3@2 a3@4 ~ a1@2 a1@3 [a1,c#5]@2 ~ g1 f#4@2 d5@4]/4", // F#5 D F# F#5 F# D F# B5 …
  D: "[b1 ~@2 f#4 [b2,f#4,f#5] ~@2 b2 d2 ~@2 [f#4,a4] [d3,f#4,a4] [f#4,a4] ~ d3, [f#4,b4]@3 b4@4 e5@9, b2@2 b2@2 f#3@3 f#4@4 ~@2 d3@2 ~, ~@2 b1@4 b1@5 f#5@5 ~@2 d2@4 d2@6 [d2,f#4,a4]@4, ~@10 b2 f#4 b1@4 d3@4 d3@4 a3@8]/2", // B5 F#m D F#m B5 D
  E: "[a1@2 ~@6 a2@2 ~@5 [e6,f6,f#6,g6] [g#2,g#3]@2 ~@6 [f6,f#6] [c#6,d6,d#6,e6] [a#5,b5,c6] [g5,g#5,a5] [d#5,e5,f5,f#5] [c5,c#5,d5] [g#4,a4,a#4,b4] [f#4,g4], a2@4 a2@4 e3@5 [g#5,a5,a#5,b5] [a2,c6,c#6,d6]@2 g#6 ~@15, ~@2 a1@4 a1@5 [c5,c#5,d5]@4 d#6@2 ~@15, ~@5 [a4,a#4,b4]@3 a6@4 ~@4, ~@10 a2@2 [a1,d#5,e5,f5,f#5,g5]@5 ~@15]/2", // G# F#maj7 Gmaj7 D7
  F: "[b1 ~@2 f#4 [b2,f#4,f#5] ~@2 b2 d2 ~@2 f#4 [d3,f#4,f#5] ~@2 d3 a1 ~@2 [f#4,c#5] [a2,f#4,c#5] ~@2 a2 g1 ~ [f#4,c#5] f#4 [f#1,f#4] [f#4,b4] ~ f#1 b1 ~@3 [b2,f#4,f#5] ~@2 b2 d2 ~ [f#4,a4]!2 d3 ~ a4 d3 a1 ~@3 a2 ~ g4 [a2,g4,b4], b2@4 b2@4 f#3@6 [e4,e5]@13 [f#4,f#5]@3 [e4,e5]@16 d5@10 d5@4 f#4@12 ~@2 b2@2 b1@2 e5@18 ~@10 a2@4 ~@2, ~ b1@2 b4@5 ~@3 b4@5 ~@5 c#5@2 f#4@3 ~@2 f#2 f#1 b4@9 e4@7 [d2,f#4]@2 a2@2 a2@2 e3@4, ~@6 b1@5 [f#4,f#5]@5 ~@2 d2@4 d2@4 d3@2 d2@4 a2@4 a2@4 e3@8 g2@4 g2@8 f#2@4 b2@4 b2@4 f#3@8 d3@4 d3@4 a3@8 ~@2 a1@4 a1@6 [a1,c#5]@4, ~@10 b2@2 b1@4 d3@4 d3@4 a3@8 ~@2 a1@4 a1@4 [a2,f#4]@2 a1@4 ~@2 g1@4 [g1,c#5]@10 ~@2 b1@4 b1@5 [f#4,f#5]@5 ~@2 d2@4 d2@2 [f#4,a4]@2 d3@4 [e4,a4]@18]/7", // B5 D F#5 F#m F#5 F# B5 F#m …
  G: "g1 ~@3 a1 ~@2 a1, g2 g2@3, ~ g1@2 g1@5, ~ [d4,f#4,b4] [a2,d4,f#4,b4]!2, ~@5 a1@2 ~", // Bm Bm7
  H: "b1 ~@3 b2!4, [d4,f#4], b4 [b2,b4,d5,b5] f#3@2, ~ b1@2 b1@5, ~@2 [b4,d5,b5]!2", // D Bm
  I: "d2 ~@3 d3!4, [a4,d5,a5] [d5,a5]@3, ~ d2@2 d2@5, ~ [d3,a4] [f#4,f#5]@2, ~@2 [a3,a4]!2", // D5 F# A
  J: "a1 ~@3 a2!4, a3, a4 [a2,a4,c#5,a5] e3@2, ~ a1@2 a1@5, ~@2 [a4,c#5,a5]!2", // A
  K: "[g#1,g#2] g#2 ~@2 e2!4, [g#4,b4,g#5] [g#2,b4,g#5]@3, ~ g#1@2 g#1@5, ~ g#4 [b2,e4,g#4,e5]@2", // G# G#m E
  L: "[b1 ~@3 b2!4 d2 ~@3 d3!4, [f#4,f#5] [b2,f#4,f#5] [f#3,f#4,f#5]@2 ~ [d3,f#4,f#5] d4 ~, ~ [b1,e4,e5]@2 [b1,e4,e5]@5 ~ d2@2 [d2,e4,e5]@5, ~@2 b3 [b3,b4]@4 [b3,d4,b4], ~@3 d4@3 [a3,f#4,f#5]@2]/2", // F# B5 F# D E5 Dsus2 B Bm …
  M: "[a1 ~@3 a2!4 [g#1,g#2] g#2 [b3,e4,b4]!2 e2!4 b1 ~@3 b2!4, [f#4,f#5] [a2,f#4,f#5] [e3,a3,f#4,f#5]@2 ~ g#2@3 ~ [b2,e4,e5] [f#3,e4,e5]@2, ~ [a1,e4,e5]@2 [a1,e5]@5 ~ g#1@2 g#1@5 ~ b1@2 [b1,d4,d5]@5, ~@3 e4@3 [b3,e4,b4]@4 ~@2 [b2,e3,b3,e4,b4]@4 ~ [f#4,f#5]@7, ~@14 [d4,d5]@5 ~ b3@2 [b3,b4]@2]/3", // G# E5 F# D F#m7 E5 F#7 A5 …
  N: "[d2 ~@2 d4 d3!4 a1 [a5,e6,a6]!3 a2!4 [g#1,g#2] [g#2,g#5,e6,g#6] [g#5,e6,g#6]!2 e2!4, ~ [f#4,f#5]@7 ~@4 e6@2 [g#5,e6,g#6]@3 ~@5 [f#5,d6,f#6]@2, ~ d2@2 [d2,d5]@5 ~ a1@2 a1@5 ~ g#1@2 g#1@5, ~ [d3,e4,e5] [a3,d4,e4,e5]@2 ~ a2 [e3,a3,a5,a6]@2 ~ g#2@3, ~@3 [b4,b5]@5 ~@2 [b2,e3,g#5,e6,g#6]@2]/3", // A5 G# C#m F# C#m D Dsus2 Asus4 …
  O: "b1 ~@3 b2!4, ~ [f#4,f#5]@7, ~ b1@2 [b1,d4,d5]@5, ~ [b2,e4,e5] [f#3,e4,e5]@2, ~@2 b3 [b3,b4]", // F# Bm E5 F#7 B
  P: "[b1 ~@2 f#4 [b2,f#4,f#5] ~@2 b2 d2 ~@2 f#4 [d3,f#4,f#5] ~@2 d3 a1 ~@3 [a2,f#4,c#5] [f#4,c#5]!2 [a2,f#4,c#5], ~@2 b1@4 b4@8 [e4,e5]@13 [f#4,f#5]@3 [e4,e5]@18, ~ b2 b3@2 ~ d3 d4@2 ~ a2 a3@2, ~@6 b1@5 [f#4,f#5]@5 ~@6 b4@10 ~@10 a2@4 ~@2, ~@5 b2 b1@2 ~ d2@2 d2@2 d3 d2@2 ~ a1@2 a1@3 a1@2]/3", // B5 D F#m F#5 F#m E F# E …
  Q: "[g1 ~@3 f#2 ~ [f#4,b4] f#2 b1 ~@2 f#4 [b2,f#4,f#5] ~@2 b2 d2 ~@2 [f#4,a4] [d3,f#4,a4] ~@2 d3 a1 ~@3 a2 ~@2 [a2,b3,b4], d5@4 f#4 f#2 f#1 [f#4,b4]@4 b4@4 e5@8 [e4,a4]@9, f#4@4 [g2,c#5]@12 ~@4 b2@4 ~@2 b2@2 b1@2 e4@13 f#4@5 ~@8 a3@8, ~@2 g1@4 g1@10 ~@2 b1@4 b1@5 [f#4,f#5]@5 ~@4 d3@4 d4@8 ~@4 a2@4 ~@2 a2@4 ~@2, ~@4 f#4@4 [f#3,d5]@8 ~@8 b3@8 ~@2 d2@4 d2@4 d3 a4 d2@4 ~@2 a1@4 a1@6 [a1,c#4,c#5]@4]/4", // B5 F#m D Asus2 B5 A5 Gdim F# …
  R: "~ [b2,g#3]@7 ~ [c#3,a3]@7, g#2 a2", // E F#m
  S: "[b1 ~@2 f#4 [b2,f#4,f#5] ~@2 b2 d2 ~@2 f#4 [d3,f#4,f#5] ~@2 d3 a1 ~@2 [f#4,c#5] [a2,f#4,c#5] ~@2 a2 g1 ~ [f#4,c#5] f#4 [f#2,f#4] [f#4,b4] ~ f#2 b1 ~@3 [b2,f#4,f#5] ~@2 b2 d2 ~ [f#4,a4]!2 d3 ~ a4 d3 a1 ~@3 a2 ~@2 a2 g1 ~@3 a1 ~@2 a1, ~@2 b1@4 b4@8 [e4,e5]@13 [f#4,f#5]@3 [e4,e5]@16 d5@10 ~@2 f#2@2 b4@18 e5@18 ~@10 a2@4 b3@18, ~@2 b2@2 b3@4 ~@2 d3@2 d4@4 ~@2 a2@2 a3@3 f#4@3 g2@4 f#4@6 b3@3 e4@7 [d2,f#4]@2 ~ a1@2 a1@3 [a1,c#4,c#5] b4@3 [d4,f#4,b4]@2 [a2,d4,f#4,b4] a1 [a2,d4,f#4,b4]@2, ~@6 b1@5 [f#4,f#5]@5 ~@6 b4@10 ~@10 c#5@6 ~@8 [f#3,d5]@4 f#1@4 ~@4 b2@4 ~@2 b2@2 b1@4 ~@2 d2@4 d2@2 [f#4,a4]@2 d3@4 [e4,a4]@18 ~@2 g1@4 g1@10, ~@10 b2@2 b1@4 ~@2 d2@4 d2@4 d3@2 d2@4 ~@2 a1@4 a1@4 [a2,f#4]@2 a1@4 ~@2 g1@4 [g1,c#5]@10 ~@2 b1@4 b1@5 [f#4,f#5]@5 ~@4 d3@4 d4@8 ~@4 a2@4 a3@8 g2@4 g2@12]/8", // B5 D F#5 F#m F#5 F# B5 F#m …
  T: "[d2 ~@2 d4 d3!4 a1 [a5,e6,a6]!3 a2!4 ~ [g#5,e6,g#6]!3 ~@2 [f#5,d6,f#6]@2, ~ [f#4,f#5]@7 ~@4 e6@2 [g#5,e6,g#6]@3 ~@7, ~@2 d2@4 d2@10 ~@2 a1@4 a1@10 ~ [b2,g#3]@7 ~ [c#3,a3]@7, ~ [d3,e4,e5] [a3,d4,e4,e5]@2 ~ a2 [e3,a3,a5,a6]@2 g#2@2 [a2,g#5,e6,g#6]@2, ~@3 d5@3 [b4,d5,b5]@10 ~@8]/3", // A5 C#m D F# C#m E F#m Dsus2 …
  U: "[~@8 [f#4,d5]@3 [f#4,e5]@3 ~@14 [e4,a4]@4, [b2,d3]@3 c#3, [f#4,d5]@8 ~@6 [e4,c#5]@13 ~@5, ~ b3@23 ~ [f#3,c#4]@7]/2", // D F#7 A5 Bm D C#m F#5
  V: "[~@8 [e4,d5]@3 [e4,b4]@3 ~@3 [b2,g#3]@15, a2 g#2, [e4,c#5]@8 ~@6 [e4,b4]@17 ~, ~ [c#3,a3]@15 ~@16]/2", // E7 E5 E C#m E5 F#m
  W: "[~@8 [f#4,d5]@3 [f#4,e5]@3 ~@11 [f#3,c#4]@7, [b2,d3]@3 c#3, [f#4,d5]@8 ~@6 [e4,c#5]@17 ~, ~ b3@23 ~@8]/2", // D F#7 F#5 Bm D C#m
  X: "[~@8 [e4,d5]@3 [e4,b4]@3 ~@6 [b3,d4,b4]@4 [b3,d4,b4]@4 [b3,d4,b4]@4, a2 g#2, [e4,c#5]@4 ~@3 [e4,b4]@3 ~@6, ~ [c#3,a3]@15 ~ [b2,g#3]@15]/2", // E7 E5 Bm C#m E5 F#m E
  Y: "b1 ~@3 b2!4, d4, b3 [f#3,b3], b4 [b2,b4,d5,b5] [b4,d5,b5]!2, ~ b1@2 b1@5", // B5 Bm
  Z: "d2 ~@3 d3!4, [a4,d5,a5] [d5,a5]@3, ~ d2@2 d2@5, ~ [d3,a4] [d4,f#4,f#5]@2, ~@2 [a3,a4]!2", // D5 D A
  AA: "a1 ~@3 a2!4, a3 [e3,a3], a4 [a2,a4,c#5,a5] [a4,c#5,a5]!2, ~ a1@2 a1@5", // A5 A
  AB: "[g#1,g#2] g#2 ~@2 e2!4, [g#4,b4,g#5] [g#2,b4,g#5]@3, ~ g#1@2 g#1@5, ~ g#4 [b2,e3,e4,g#4,e5]@2", // G# G#m E
  AC: "[b1 ~@3 b2!4 d2 ~@3 d3!4, [f#4,f#5] [b2,f#4,f#5] [f#3,f#4,f#5]@2 ~ [d3,f#4,f#5] d4 ~, ~ [b1,e4,e5]@2 [b1,e4,e5]@5 ~ d2@2 [d2,e4,e5]@5, ~@2 [b3,b4] [b3,b4]@4 [b3,d4,b4], ~@3 d4@3 [a3,f#4,f#5]@2]/2", // F# B5 F# D E5 Dsus2 B Bm …
  AD: "[a1 ~@3 a2!4 g#2!2 [b3,e4,b4]!2 e2!4 b1 ~@3 b2!4, [f#4,f#5]@2 [a2,f#4,f#5]@2 [e3,a3,f#4,f#5]@4 ~@2 g#2@4 f#4@3 [f#4,f#5]@7, ~ [a1,e4,e5]@2 [a1,e5]@5 ~@3 g#1@5 ~ b1@2 [b1,d5]@5, ~@3 e4@3 [b3,e4,b4]@4 ~@2 [b2,e3,b3,e4,b4]@4 ~@2 [b2,e4,e5]@2 [f#3,e4,e5]@4, ~@4 b4@2 ~@8 [d4,d5]@5 d4 b3@2 [b3,d4,b4]@2]/3", // E5 F# D F#m7 F# A5 Bm E5 …
  AE: "[d2 ~@2 d4 d3!4 a1 [a5,e6,a6]!3 a2!4 [g#1,g#2] [g#2,g#5,e6,g#6] [g#5,e6,g#6]!2 e2!4 b1 ~@3 b2!4, ~ [f#4,f#5]@7 ~@4 e6@2 [g#5,e6,g#6]@3 ~@5 [d6,f#6]@6 b3@2 [b3,d4,b4]@2, ~ d2@2 d2@5 ~ a1@2 a1@5 ~ g#1@2 g#1@3 f#5@3 [f#4,f#5]@7, ~@2 [d3,e4,e5]@2 [a3,d4,e4,e5]@4 ~@2 a2@2 [e3,a3,a5,a6]@4 ~@2 g#2@6 ~ b1@2 [b1,d5]@5, ~@3 d5@3 [b4,d5,b5]@10 ~@4 [b2,e3,g#5,e6,g#6]@4 ~@2 [b2,e4,e5] d4 [f#3,e4,e5]@4]/4", // A5 G# C#m F# C#m D Bm F# …
  AF: "[d2 ~@2 d4 d3!4 a1 [a4,e5,a5]!3 a2!4 [e1,e2] [g#4,e5,g#5]!3 ~@2 [f#4,b4,f#5]@6 ~@4, ~ [f#4,f#5]@7 ~@4 e5@2 [g#4,e5,g#5]@3 ~@3 [g#4,e5,g#5]@8 ~@4, ~ d2@2 [d2,d5]@5 ~ a1@2 a1@5 ~@16, ~ [d3,e4,e5] [a3,e4,e5]@2 ~ a2 [e3,a3,a4,a5]@2 ~@8, ~@2 d4 [b3,d4,b4]@5 ~@8]/4", // A5 E C#m B5 F# C#m D Dsus2 …
})).s("gm_piano").gain(0.45)

// chords · piano · soft notes
const piano_soft = note("<A@2 B@2 A@2 B@2 C@2 D@2 E@3 ~@90>".pickRestart({
  A: "[~@7 e5, b1@5 a4 b4 e5 [b1,b4] a4 b4 f#5 [c#2,c#3]@4, b2 b4 [b2,d3]@6, b4 f#2@7, ~ a4@2 d5@13]/2", // B C# Bm
  B: "[~@7 b4, a1@8 [g#2,b4] a4 [e2,b4] d5 [g#2,b2] a4@3, a2 b4 [a2,c#3]@6, b4@2 e2@3 a4 b4 e5@9, ~ a4@2 d5@5 g#1@8]/2", // G#m E5 G#m A
  C: "[~@6 [b1,b2] ~@2 b1 ~@4 e5@2, b1@4 d3@6 [b0,b1,b4] f#5 [c#2,c#3] b4@3, b2@2 b4@2 b2 a4 b4 [b1,b2,e5] b4 [b2,a4]@7, b4 f#2@7, ~ a4@2 d5@13]/2", // B C# E5 B7
  D: "[~@15 f#5, a1@8 [g#2,b4] a4 [e2,b4] d5 [g#2,b2] a4 [c#3,b4]@2, a2@3 d5@2 a4 [e2,b4] e1@9, b4@2 [e2,b4]@2 c#3@3 d5 g#1@8, ~ a4@3 a2@12]/2", // G#m E5 G#m C#7 E5
  E: "[~ [b4,d5]@15 ~@32, [b2,g3,b3]@23 ~, g4@2 ~]/3", // Bm Em
})).s("gm_piano").gain(0.2)

stack(piano, piano_soft)