Strudelify

Them Bones

Alice in Chains

KeyA♭ majorTempo88 bpm
0:00/0:00
// Them Bones — Alice in Chains
// 87.5 bpm, 4/4, key G# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 36 bars on a 48-step grid, each part at one level. Source detail keeps the original performance.
setcpm(87.5/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 · electric guitar muted
const electric_guitar_muted = note(`<
  A B C D E F G H I J K L M N O@2 P Q@2 R@2 S T U V W X Y Z AA AB AC AD AE AF AG
>`.pickRestart({
  A: "[ab2,db3]@2 ~ [ab2,db3] ~@2 [ab2,db3] ~@2 [ab2,db3] ~@2 [a2,d3] ~@3 [a2,d3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~@2 [b2,e3] ~@5 [ab2,db3]@5 ~@2 [ab2,db3]", // Db5 D5 Eb5 E5 Db5
  B: "~@2 [ab2,db3] ~@2 [ab2,db3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [a2,d3] ~@3 [a2,d3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~@2 [b2,e3] ~@5 [ab2,db3]@5 ~@2 [ab2,db3] ~@2 [ab2,db3] ~", // Db5 D5 Eb5 E5 Db5
  C: "~ [ab2,db3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~@3 [bb2,eb3] ~@2 [b2,e3] ~@5 [ab2,db3]@5 ~ [ab2,db3] ~@2 [ab2,db3] ~@2 [ab2,db3] ~@3", // Db5 D5 Eb5 E5 Db5
  D: "[a2,d3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~@2 [b2,e3] ~@6 [ab2,db3]@5 ~ [ab2,db3] ~@2 [ab2,db3] ~@2 [ab2,db3] ~@2 [a2,d3] ~@2 [a2,d3] ~", // D5 Eb5 E5 Db5 D5
  E: "~@2 [a2,d3] ~@2 [a2,d3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~@2 [b2,e3] ~@5 [ab2,db3]@5 ~@2 [ab2,db3] ~@2 [ab2,db3] ~@2 [ab2,db3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2", // D5 Eb5 E5 Db5 D5
  F: "[a2,d3] ~@3 [bb2,eb3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~@2 [b2,e3] ~@5 [ab2,db3]@5 ~ [ab2,db3] ~@3 [ab2,db3] ~@2 [ab2,db3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [bb2,eb3]", // D5 Eb5 E5 Db5 D5 Eb5
  G: "~@2 [bb2,eb3] ~@2 [bb2,eb3] ~@3 [b2,e3] ~@5 [ab2,db3]@4 ~@2 [ab2,db3] ~@2 [ab2,db3] ~@2 [ab2,db3] ~@2 [a2,d3] ~@3 [a2,d3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~", // Eb5 E5 Db5 D5 Eb5
  H: "~ [bb2,eb3] ~@2 [b2,e3] ~@9 [a2,e3]@4 ~@2 [a2,e3]@5 ~ [a2,e3] ~@2 [a2,e3] ~@2 [a2,e3] ~@3 [a2,e3] ~@2 [ab2,eb3] ~@2 [ab2,eb3] ~@2 [ab2,eb3] ~@2", // Eb5 E5 A5 Ab5
  I: "[ab2,eb3]@3 ~@6 [b2,gb3]@9 ~@4 [b2,gb3]@4 ~@2 [b2,gb3] ~@2 [b2,gb3] ~@2 [b2,gb3] ~@3 [b2,gb3] ~@2 [bb2,f3] ~@2 [bb2,f3] ~@2 [bb2,f3]", // Ab5 B5 Bb5
  J: "~@2 [bb2,f3] ~@2 [bb2,f3]@2 ~ [a2,e3]@3 ~@7 [ab2,db3]@2 ~ [ab2,db3] ~@2 [ab2,db3] ~@2 [ab2,db3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [a2,d3] ~@3 [a2,d3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~", // Bb5 A5 Db5 D5 Eb5
  K: "~ [bb2,eb3] ~@2 [b2,e3] ~@5 [ab2,db3]@5 ~@2 [ab2,db3] ~@2 [ab2,db3] ~@2 [ab2,db3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~@3 [bb2,eb3] ~@2", // Eb5 E5 Db5 D5 Eb5
  L: "[b2,e3] ~@5 [ab2,db3]@6 [ab2,db3] ~@2 [ab2,db3] ~@2 [ab2,db3] ~@3 [a2,d3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~@3 [b2,e3] ~@3", // E5 Db5 D5 Eb5 E5
  M: "~@2 [ab2,db3]@5 ~ [ab2,db3] ~@2 [ab2,db3] ~@2 [ab2,db3] ~@2 [a2,d3] ~@2 [a2,d3] ~@3 [a2,d3] ~@2 [a2,d3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~@2 [b2,e3] ~@8", // Db5 D5 Eb5 E5
  N: "~ [ab2,db3]@5 ~ [ab2,db3]@5 ~ [a2,d3]@5 ~ [a2,d3]@5 ~@2 [bb2,eb3]@8 ~ [b2,e3] ~@5 [ab2,db3]@7", // Db5 D5 Eb5 E5 Db5
  O: "[~@3 [ab2,db3]@5 ~ [a2,d3]@5 ~ [a2,d3]@5 ~ [bb2,eb3]@8 ~@2 [b2,e3] ~@5 [ab2,db3]@8 ~ [ab2,db3]@5 ~ [a2,d3]@5 ~@2 [a2,d3]@5 ~ [bb2,eb3]@8 ~ [b2,e3] ~@6 [ab2,db3]@8 ~ [ab2,db3]@5 ~]/2", // Db5 D5 Eb5 E5 Db5 D5 Eb5 E5 …
  P: "[a2,d3]@5 ~ [a2,d3]@5 ~@2 [bb2,eb3]@8 ~ [b2,e3] ~@5 [ab2,db3]@8 ~@2 [ab2,db3]@5 ~ [a2,d3]@4", // D5 Eb5 E5 Db5 D5
  Q: "[~@2 [a2,d3]@5 ~@2 [bb2,eb3]@8 ~ [b2,e3] ~@5 [ab2,db3]@8 ~ [ab2,db3]@5 ~@2 [a2,d3]@5 ~ [a2,d3]@5 ~ [bb2,eb3]@8 ~@2 [b2,e3] ~@5 [ab2,db3]@8 ~ [ab2,db3]@5 ~ [a2,d3]@5 ~@2 [a2,d3]@5 ~]/2", // D5 Eb5 E5 Db5 D5 Eb5 E5 Db5 …
  R: "[[bb2,eb3]@8 ~ [b2,e3] ~@6 [ab2,db3]@8 ~ [ab2,db3]@5 ~ [a2,d3]@5 ~ [a2,d3]@5 ~@2 [bb2,eb3]@8 ~ [b2,e3] ~@8 [a2,e3]@4 ~@3 [a2,e3]@5 ~ [a2,e3] ~@2 [a2,e3] ~@2 [a2,e3] ~@2 [a2,e3] ~@2 [ab2,eb3] ~@2 [ab2,eb3] ~@3 [ab2,eb3] ~]/2", // Eb5 E5 Db5 D5 Eb5 E5 A5 Ab5
  S: "~ [ab2,eb3]@3 ~@6 [b2,gb3]@9 ~@4 [b2,gb3]@4 ~@2 [b2,gb3] ~@2 [b2,gb3] ~@2 [b2,gb3] ~@2 [b2,gb3] ~@2 [bb2,f3] ~@2 [bb2,f3] ~@3", // Ab5 B5 Bb5
  T: "[bb2,f3] ~@2 [bb2,f3] ~@2 [bb2,f3]@2 ~ [a2,e3]@3 ~@6 [ab2,db3]@2 ~ [ab2,db3] ~@3 [ab2,db3] ~@2 [ab2,db3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~", // Bb5 A5 Db5 D5 Eb5
  U: "~ [bb2,eb3] ~@3 [b2,e3] ~@5 [ab2,db3]@5 ~ [ab2,db3] ~@2 [ab2,db3] ~@2 [ab2,db3] ~@3 [a2,d3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~@2", // Eb5 E5 Db5 D5 Eb5
  V: "[b2,e3] ~@6 [ab2,db3]@5 ~ [ab2,db3] ~@2 [ab2,db3] ~@2 [ab2,db3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [a2,d3] ~@3 [a2,d3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~@2 [b2,e3] ~@3", // E5 Db5 D5 Eb5 E5
  W: "~@2 [ab2,db3]@5 ~@2 [ab2,db3] ~@2 [ab2,db3] ~@2 [ab2,db3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [a2,d3] ~@3 [bb2,eb3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~@2 [b2,e3] ~@7", // Db5 D5 Eb5 E5
  X: "~ [ab2,db3]@2 ~ [ab2,db3] ~@2 [ab2,db3] ~@3 [ab2,db3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~@3 [b2,e3] ~@5 [ab2,db3]@5 ~", // Db5 D5 Eb5 E5 Db5
  Y: "[ab2,db3] ~@2 [ab2,db3] ~@2 [ab2,db3] ~@2 [a2,d3] ~@3 [a2,d3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~@2 [b2,e3] ~@6 [ab2,db3]@5 ~ [ab2,db3] ~@2 [ab2,db3]", // Db5 D5 Eb5 E5 Db5
  Z: "~@2 [ab2,db3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [a2,d3] ~@3 [a2,d3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~@2 [b2,e3] ~@5 [ab2,db3]@5 ~@2 [ab2,db3] ~@2 [ab2,db3] ~@2 [ab2,db3] ~", // Db5 D5 Eb5 E5 Db5
  AA: "~ [a2,d3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [bb2,eb3] ~@3 [bb2,eb3] ~@2 [bb2,eb3] ~@2 [b2,e3] ~@5 [ab2,db3]@5 ~ [ab2,db3] ~@2 [ab2,db3] ~@2 [ab2,db3] ~@3 [a2,d3] ~@2", // D5 Eb5 E5 Db5 D5
  AB: "[a2,d3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~@2 [b2,e3] ~@6 [ab2,db3]@5 ~ [ab2,db3] ~@2 [ab2,db3] ~@2 [ab2,db3] ~@2 [a2,d3] ~@2 [a2,d3] ~@3 [a2,d3]", // D5 Eb5 E5 Db5 D5
  AC: "~@2 [a2,d3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~@2 [b2,e3] ~@5 [ab2,db3]@5 ~@2 [ab2,db3] ~@2 [ab2,db3] ~@2 [ab2,db3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2", // D5 Eb5 E5 Db5 D5
  AD: "~ [bb2,eb3] ~@2 [bb2,eb3] ~@2 [bb2,eb3] ~@2 [b2,e3] ~@5 [ab2,db3]@5 ~ [ab2,db3] ~@3 [ab2,db3] ~@2 [ab2,db3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [a2,d3] ~@2 [bb2,eb3] ~@2 [bb2,eb3]", // Eb5 E5 Db5 D5 Eb5
  AE: "~@3 [bb2,eb3] ~@2 [b2,e3] ~@8 [a2,e3]@4 ~@2 [a2,e3]@5 ~@2 [a2,e3] ~@2 [a2,e3] ~@2 [a2,e3] ~@2 [a2,e3] ~@2 [ab2,eb3] ~@2 [ab2,eb3] ~@2 [ab2,eb3] ~", // Eb5 E5 A5 Ab5
  AF: "~ [ab2,eb3]@3 ~@7 [b2,gb3]@9 ~@3 [b2,gb3]@5 ~ [b2,gb3] ~@3 [b2,gb3] ~@2 [b2,gb3] ~@2 [b2,gb3] ~@2 [bb2,f3] ~@2 [bb2,f3] ~@2", // Ab5 B5 Bb5
  AG: "[bb2,f3] ~@2 [bb2,f3] ~@2 [bb2,f3]@2 ~@2 [a2,e3]@3 ~@35", // Bb5 A5
})).s("gm_electric_guitar_muted").gain(0.3).pan(0.3)

// bass · slap bass 2
const bass = note("<A@3 B@5 C D@2 E F G H I J@2 K L M N O@2 P Q R S T U V W X Y Z AA>".pickRestart({
  A: "[db2@11 ~ d2@12 ~ eb2@8 ~ e2@3 ~@7 db2@12 d2@12 ~ eb2@9 e2@3 ~@3 b1@2 ~ db2@13 d2@12 eb2@8 ~@2 e2@3 ~@6 db2@12 ~]/3",
  B: "[d2@12 eb2@9 e2@3 ~@4 b1@3 db2@11 ~ d2@12 ~ eb2@9 e2@3 ~@7 db2@12 d2@13 eb2@9 e2@3 ~@3 b1@2 ~ db2@12 ~ d2@12 eb2@9 ~ e2@2 ~@4 db2@15 d2@12 ~ eb2@9 e2@2 ~@8 a1@6 e2@3 a1 ~@2 a1@3 e2@2 ~ a1@2 ~@2 ab1@9 eb2@3]/5",
  C: "ab2@2 ~ ab2@2 ~ eb2@3 b1@13 gb2@3 b2 ~@2 b2@2 ~ gb2@2 ~ b1@2 ~@2 bb1@8 ~ bb1",
  D: "[~@2 bb1 ~@2 bb1@2 ~ a1@4 ~@6 db2@12 d2@12 ~ eb2@9 e2@3 ~@6 db2@12 ~ d2@12 eb2@9 ~]/2",
  E: "e2@2 ~@4 b1@2 ~ db2@11 ~@2 d2@12 eb2@9 ~ e2@2 ~@2", F: "~@2 b1@2 ~ db2@12 d2@12 ~ eb2@9 e2@2 ~@7",
  G: "~ db2 ~@2 db2 ~@2 db2 ~@2 db2 ~@2 d2 ~@2 d2 ~@2 d2@2 ~ d2 ~@3 eb2 ~@2 eb2 ~@2 eb2 ~@2 e2 ~@5 b1@2 ~ db2@2 ~ db2",
  H: "~@3 db2 ~@2 db2 ~@2 d2 ~@2 d2@2 ~ d2@2 ~ d2@2 ~ eb2 ~@2 eb2 ~@2 eb2 ~@3 e2@2 ~@4 db2 ~@2 db2 ~@2 db2 ~@2 db2 ~",
  I: "~ db2 ~@2 d2 ~@3 d2 ~@2 d2 ~@2 d2@2 ~ eb2 ~@2 eb2 ~@2 eb2 ~@2 e2@2 ~@5 b1@3 db2@2 ~ db2 ~@2 db2 ~@2 db2 ~@2",
  J: "[d2@2 ~ d2@2 ~ d2@2 ~@2 d2@2 ~ eb2 ~@2 eb2 ~@2 eb2 ~@2 e2@2 ~@4 b1@3 ~ db2@2 ~ db2@2 ~ db2 ~@2 db2 ~@2 d2@2 ~ d2@2 ~ d2@2 ~ d2@2 ~@2 eb2 ~@2 eb2 ~@2 eb2 ~@2 e2@2 ~@4 db2@2 ~ db2@2 ~ db2 ~@2 db2 ~@3 db2 ~@2 d2@2 ~ d2@2 ~ d2@2]/2",
  K: "~ d2@2 ~ eb2 ~@2 eb2 ~@2 eb2 ~@3 e2@2 ~@4 db2 ~@2 db2 ~@2 db2 ~@2 db2 ~@2 db2 ~@2 d2@2 ~@2 d2@2 ~ d2@2 ~ d2@2 ~",
  L: "eb2 ~@2 eb2 ~@2 eb2 ~@2 e2@2 ~@5 db2 ~@2 db2 ~@2 db2 ~@2 db2 ~@2 db2 ~@2 d2@2 ~ d2 ~@2 d2@2 ~ d2@2 ~@2 eb2 ~@2 eb2",
  M: "~@2 eb2 ~@2 e2@3 ~@6 a1@5 ~@2 a1@5 ~ a1@7 ~@2 ab1@9 ~ ab1 ~",
  N: "~ ab1 ~@2 ab1@4 ~@3 b1@11 ~ b1@2 ~ b1 ~@2 b1@2 ~ b1@2 ~ b1@2 ~ b1@2 ~@2 bb1 ~ bb1 ~@2 bb1",
  O: "[~@3 bb1 ~@2 bb1 ~@2 a1@2 ~@7 db2@12 ~ d2@12 eb2@9 ~ e2@2 ~@7 db2@12 ~ d2@12 eb2@9]/2",
  P: "e2@2 ~@5 b1@3 db2@12 d2@13 eb2@9 e2@2 ~@2", Q: "~@6 db2@12 d2@12 ~ eb2@8 ~ e2@2 ~@6",
  R: "~ db2@2 ~ db2 ~@3 db3 ~@2 db2 ~@2 d2 ~@2 d2 ~@2 c3 ~@2 d2 ~@2 eb2 ~@3 b2 ~@2 eb2 ~@2 e2@2 ~@7 db2@2 ~, ~@36 bb2 ~@11",
  S: "db2 ~@2 db3 ~@2 db2 ~@3 d2 ~@2 d2 ~@2 c3 ~@2 d2 ~@3 eb2 ~@2 eb2 ~ b2 ~@2 bb2 e2 ~@7 db2@2 ~@2 db3 ~@2 db2",
  T: "~@2 db2 ~@3 d2 ~@2 d3 ~@2 d2 ~@2 d2 ~@2 eb2 ~@2 eb3 ~@2 eb2 ~@3 e2@2 ~@6 db2@4 ~@3 db2 ~@2 db2 ~",
  U: "~ d2 ~@2 c3 ~@3 d2 ~@2 d2 ~@2 eb2 ~@2 b2 ~@2 eb2 ~@2 [e2,bb2] ~@6 db2@4 ~ db3 ~@3 db2 ~@2 db2 ~@2 d2 ~@2", // Edim
  V: "c3 ~@2 d2 ~@2 d2 ~@3 eb2 ~@2 b2 ~@2 eb2 ~@2 [e2,bb2] ~@7 db2@5 ~@2 db2 ~@2 db2 ~@3 d2 ~@2 d2 ~@2 d2", // Edim
  W: "~@2 d2 ~@2 eb2 ~@2 eb2 ~@2 eb2 ~@2 e2 ~@8 db2@5 ~@2 db2 ~@2 db2 ~@2 d2 ~@2 d2 ~@3 d2 ~@2 d2 ~",
  X: "~ eb2 ~@2 eb2 ~@2 eb2 ~@2 e2 ~@8 db2@5 ~@2 db2 ~@2 db2 ~@2 d2 ~@2 d2 ~@2 d2 ~@3 d2 ~@2 eb2 ~@2",
  Y: "eb2 ~@2 eb2 ~@2 e2 ~@8 a1@5 ~@2 a1@4 ~@2 a1 ~@2 a1 ~@2 a1 ~@2 a1 ~@2 ab1 ~@2 ab1 ~@2 ab1 ~",
  Z: "~@2 ab1 ~@2 ab1@2 ~@4 b1@10 ~@2 b1 ~@3 b1 ~@2 b1 ~@2 b1 ~@2 b1 ~@2 b1 ~@2 bb1 ~@2 bb1 ~@2",
  AA: "bb1 ~@2 bb1 ~@3 bb1 ~@2 a1@3 ~@35",
})).s("gm_slap_bass_2").gain(0.35)

// chords · overdriven guitar
const overdriven_guitar = note(`<
  A B C D E F G H I J K L M N O@2 P Q@2 R@2 S T U V W X Y Z AA AB AC AD AE AF AG
>`.pickRestart({
  A: "[db3,g3]@2 ~ [db3,g3] ~@2 [db3,g3] ~@2 [db3,g3] ~@2 [d3,ab3] ~@3 [d3,ab3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~@2 [e3,bb3] ~@5 [db3,g3]@5 ~@2 [db3,g3]", // Dbdim Ddim Ebdim Edim Dbdim
  B: "~@2 [db3,g3] ~@2 [db3,g3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@3 [d3,ab3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~@2 [e3,bb3] ~@5 [db3,g3]@5 ~@2 [db3,g3] ~@2 [db3,g3] ~", // Dbdim Ddim Ebdim Edim Dbdim
  C: "~ [db3,g3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~@3 [eb3,a3] ~@2 [e3,bb3] ~@5 [db3,g3]@5 ~ [db3,g3] ~@2 [db3,g3] ~@2 [db3,g3] ~@3", // Dbdim Ddim Ebdim Edim Dbdim
  D: "[d3,ab3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~@2 [e3,bb3] ~@6 [db3,g3]@5 ~ [db3,g3] ~@2 [db3,g3] ~@2 [db3,g3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~", // Ddim Ebdim Edim Dbdim Ddim
  E: "~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~@2 [e3,bb3] ~@5 [db3,g3]@5 ~@2 [db3,g3] ~@2 [db3,g3] ~@2 [db3,g3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2", // Ddim Ebdim Edim Dbdim Ddim
  F: "[d3,ab3] ~@3 [eb3,a3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~@2 [e3,bb3] ~@5 [db3,g3]@5 ~ [db3,g3] ~@3 [db3,g3] ~@2 [db3,g3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [eb3,a3]", // Ddim Ebdim Edim Dbdim Ddim Ebdim
  G: "~@2 [eb3,a3] ~@2 [eb3,a3] ~@3 [e3,bb3] ~@5 [db3,g3]@4 ~@2 [db3,g3] ~@2 [db3,g3] ~@2 [db3,g3] ~@2 [d3,ab3] ~@3 [d3,ab3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~", // Ebdim Edim Dbdim Ddim Ebdim
  H: "~ [eb3,a3] ~@2 [e3,bb3] ~@9 [a3,e4]@4 ~@2 [a3,e4]@5 ~ [a3,e4] ~@2 [a3,e4] ~@2 [a3,e4] ~@3 [a3,e4] ~@2 [ab3,eb4] ~@2 [ab3,eb4] ~@2 [ab3,eb4] ~@2", // Ebdim Edim A5 Ab5
  I: "[ab3,eb4]@3 ~@6 [b3,gb4]@9 ~@4 [b3,gb4]@4 ~@2 [b3,gb4] ~@2 [b3,gb4] ~@2 [b3,gb4] ~@3 [b3,gb4] ~@2 [bb3,f4] ~@2 [bb3,f4] ~@2 [bb3,f4]", // Ab5 B5 Bb5
  J: "~@2 [bb3,f4] ~@2 [bb3,f4]@2 ~ [a3,e4]@3 ~@7 [db3,g3]@2 ~ [db3,g3] ~@2 [db3,g3] ~@2 [db3,g3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@3 [d3,ab3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~", // Bb5 A5 Dbdim Ddim Ebdim
  K: "~ [eb3,a3] ~@2 [e3,bb3] ~@5 [db3,g3]@5 ~@2 [db3,g3] ~@2 [db3,g3] ~@2 [db3,g3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~@3 [eb3,a3] ~@2", // Ebdim Edim Dbdim Ddim Ebdim
  L: "[e3,bb3] ~@5 [db3,g3]@6 [db3,g3] ~@2 [db3,g3] ~@2 [db3,g3] ~@3 [d3,ab3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~@3 [e3,bb3] ~@3", // Edim Dbdim Ddim Ebdim Edim
  M: "~@2 [db3,g3]@5 ~ [db3,g3] ~@2 [db3,g3] ~@2 [db3,g3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@3 [d3,ab3] ~@2 [d3,ab3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~@2 [e3,bb3] ~@8", // Dbdim Ddim Ebdim Edim
  N: "~ [db3,g3]@5 ~ [db3,g3]@5 ~ [d3,ab3]@5 ~ [d3,ab3]@5 ~@2 [eb3,a3]@8 ~ [e3,bb3] ~@5 [db3,g3]@7", // Dbdim Ddim Ebdim Edim Dbdim
  O: "[~@3 [db3,g3]@5 ~ [d3,ab3]@5 ~ [d3,ab3]@5 ~ [eb3,a3]@8 ~@2 [e3,bb3] ~@5 [db3,g3]@8 ~ [db3,g3]@5 ~ [d3,ab3]@5 ~@2 [d3,ab3]@5 ~ [eb3,a3]@8 ~ [e3,bb3] ~@6 [db3,g3]@8 ~ [db3,g3]@5 ~]/2", // Dbdim Ddim Ebdim Edim Dbdim Ddim Ebdim Edim …
  P: "[d3,ab3]@5 ~ [d3,ab3]@5 ~@2 [eb3,a3]@8 ~ [e3,bb3] ~@5 [db3,g3]@8 ~@2 [db3,g3]@5 ~ [d3,ab3]@4", // Ddim Ebdim Edim Dbdim Ddim
  Q: "[~@2 [d3,ab3]@5 ~@2 [eb3,a3]@8 ~ [e3,bb3] ~@5 [db3,g3]@8 ~ [db3,g3]@5 ~@2 [d3,ab3]@5 ~ [d3,ab3]@5 ~ [eb3,a3]@8 ~@2 [e3,bb3] ~@5 [db3,g3]@8 ~ [db3,g3]@5 ~ [d3,ab3]@5 ~@2 [d3,ab3]@5 ~]/2", // Ddim Ebdim Edim Dbdim Ddim Ebdim Edim Dbdim …
  R: "[[eb3,a3]@8 ~ [e3,bb3] ~@6 [db3,g3]@8 ~ [db3,g3]@5 ~ [d3,ab3]@5 ~ [d3,ab3]@5 ~@2 [eb3,a3]@8 ~ [e3,bb3] ~@8 [a3,e4]@4 ~@3 [a3,e4]@5 ~ [a3,e4] ~@2 [a3,e4] ~@2 [a3,e4] ~@2 [a3,e4] ~@2 [ab3,eb4] ~@2 [ab3,eb4] ~@3 [ab3,eb4] ~]/2", // Ebdim Edim Dbdim Ddim Ebdim Edim A5 Ab5
  S: "~ [ab3,eb4]@3 ~@6 [b3,gb4]@9 ~@4 [b3,gb4]@4 ~@2 [b3,gb4] ~@2 [b3,gb4] ~@2 [b3,gb4] ~@2 [b3,gb4] ~@2 [bb3,f4] ~@2 [bb3,f4] ~@3", // Ab5 B5 Bb5
  T: "[bb3,f4] ~@2 [bb3,f4] ~@2 [bb3,f4]@2 ~ [a3,e4]@3 ~@6 [db3,g3]@2 ~ [db3,g3] ~@3 [db3,g3] ~@2 [db3,g3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~", // Bb5 A5 Dbdim Ddim Ebdim
  U: "~ [eb3,a3] ~@3 [e3,bb3] ~@5 [db3,g3]@5 ~ [db3,g3] ~@2 [db3,g3] ~@2 [db3,g3] ~@3 [d3,ab3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~@2", // Ebdim Edim Dbdim Ddim Ebdim
  V: "[e3,bb3] ~@6 [db3,g3]@5 ~ [db3,g3] ~@2 [db3,g3] ~@2 [db3,g3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@3 [d3,ab3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~@2 [e3,bb3] ~@3", // Edim Dbdim Ddim Ebdim Edim
  W: "~@2 [db3,g3]@5 ~@2 [db3,g3] ~@2 [db3,g3] ~@2 [db3,g3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@3 [eb3,a3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~@2 [e3,bb3] ~@7", // Dbdim Ddim Ebdim Edim
  X: "~ [db3,g3]@2 ~ [db3,g3] ~@2 [db3,g3] ~@3 [db3,g3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~@3 [e3,bb3] ~@5 [db3,g3]@5 ~", // Dbdim Ddim Ebdim Edim Dbdim
  Y: "[db3,g3] ~@2 [db3,g3] ~@2 [db3,g3] ~@2 [d3,ab3] ~@3 [d3,ab3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~@2 [e3,bb3] ~@6 [db3,g3]@5 ~ [db3,g3] ~@2 [db3,g3]", // Dbdim Ddim Ebdim Edim Dbdim
  Z: "~@2 [db3,g3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@3 [d3,ab3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~@2 [e3,bb3] ~@5 [db3,g3]@5 ~@2 [db3,g3] ~@2 [db3,g3] ~@2 [db3,g3] ~", // Dbdim Ddim Ebdim Edim Dbdim
  AA: "~ [d3,ab3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [eb3,a3] ~@3 [eb3,a3] ~@2 [eb3,a3] ~@2 [e3,bb3] ~@5 [db3,g3]@5 ~ [db3,g3] ~@2 [db3,g3] ~@2 [db3,g3] ~@3 [d3,ab3] ~@2", // Ddim Ebdim Edim Dbdim Ddim
  AB: "[d3,ab3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~@2 [e3,bb3] ~@6 [db3,g3]@5 ~ [db3,g3] ~@2 [db3,g3] ~@2 [db3,g3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@3 [d3,ab3]", // Ddim Ebdim Edim Dbdim Ddim
  AC: "~@2 [d3,ab3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~@2 [e3,bb3] ~@5 [db3,g3]@5 ~@2 [db3,g3] ~@2 [db3,g3] ~@2 [db3,g3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2", // Ddim Ebdim Edim Dbdim Ddim
  AD: "~ [eb3,a3] ~@2 [eb3,a3] ~@2 [eb3,a3] ~@2 [e3,bb3] ~@5 [db3,g3]@5 ~ [db3,g3] ~@3 [db3,g3] ~@2 [db3,g3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [d3,ab3] ~@2 [eb3,a3] ~@2 [eb3,a3]", // Ebdim Edim Dbdim Ddim Ebdim
  AE: "~@3 [eb3,a3] ~@2 [e3,bb3] ~@8 [a3,e4]@4 ~@2 [a3,e4]@5 ~@2 [a3,e4] ~@2 [a3,e4] ~@2 [a3,e4] ~@2 [a3,e4] ~@2 [ab3,eb4] ~@2 [ab3,eb4] ~@2 [ab3,eb4] ~", // Ebdim Edim A5 Ab5
  AF: "~ [ab3,eb4]@3 ~@7 [b3,gb4]@9 ~@3 [b3,gb4]@5 ~ [b3,gb4] ~@3 [b3,gb4] ~@2 [b3,gb4] ~@2 [b3,gb4] ~@2 [bb3,f4] ~@2 [bb3,f4] ~@2", // Ab5 B5 Bb5
  AG: "[bb3,f4] ~@2 [bb3,f4] ~@2 [bb3,f4]@2 ~@2 [a3,e4]@3 ~@35", // Bb5 A5
})).s("gm_overdriven_guitar").gain(0.3).pan(0.7)

// drums · kick
const kick = s("bd").struct(`<
  A B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ
>`.pickRestart({
  A: "x ~@5 x ~@18 x ~@2 x ~@2 x ~@12 x ~@3", B: "~@2 x ~@18 x ~@2 x ~@2 x ~@11 x ~@6 x ~",
  C: "~@16 x ~@2 x ~@3 x ~@11 x ~@5 x ~@6", D: "~@12 x ~@2 x ~@2 x ~@12 x ~@5 x ~@10",
  E: "~@8 x ~@2 x ~@2 x ~@12 x ~@5 x ~@14", F: "~@4 x ~@2 x ~@2 x ~@11 x ~@6 x ~@17 x",
  G: "~@2 x ~@2 x ~@12 x ~@5 x ~@18 x ~@2 x ~", H: "~ x ~@12 x ~@5 x ~@15 x ~@8 x ~@2", I: "~@16 x ~@5 x ~@15 x ~@8 x",
  J: "~@18 x ~@5 x ~@18 x ~@2 x ~", K: "~ x ~@11 x ~@6 x ~@17 x ~@2 x ~@3 x ~@2",
  L: "~@9 x ~@5 x ~@18 x ~@2 x ~@2 x ~@7", M: "~@5 x ~@5 x ~@18 x ~@2 x ~@2 x ~@11",
  N: "~ x ~@5 x ~@18 x ~@2 x ~@2 x ~@11 x ~@3", O: "~@3 x ~@17 x ~@2 x ~@2 x ~@12 x ~@5 x ~",
  P: "~@17 x ~@2 x ~@2 x ~@12 x ~@5 x ~@5", Q: "~@13 x ~@2 x ~@2 x ~@12 x ~@5 x ~@9", R: "~@3 x!3 ~@3 x ~ x ~@4",
  S: "~@4 x ~@2 x ~@2 x ~@12 x ~@5 x ~@18", T: "x ~@2 x ~@2 x ~@12 x ~@5 x ~@18 x ~@2 x",
  U: "~@2 x ~@11 x ~@6 x ~@14 x ~@9 x ~", V: "~@16 x ~@6 x ~@14 x ~@9", W: "x ~@17 x ~@6 x ~@17 x ~@2 x ~",
  X: "~ x ~@12 x ~@5 x ~@18 x ~@2 x ~@2 x ~@2", Y: "~@10 x ~@5 x ~@18 x ~@2 x ~@2 x ~@6",
  Z: "~@6 x ~@5 x ~@18 x ~@2 x ~@2 x ~@10", AA: "~ x ~@5 x ~@18 x ~@2 x ~@2 x ~@12 x ~@2",
  AB: "~@3 x ~@18 x ~@2 x ~@2 x ~@12 x ~@5 x", AC: "~@18 x ~@2 x ~@2 x ~@11 x ~@6 x ~@4",
  AD: "~@13 x ~@3 x ~@2 x ~@11 x ~@5 x ~@9", AE: "~@9 x ~@2 x ~@2 x ~@12 x ~@5 x ~@13",
  AF: "~@5 x ~@2 x ~@2 x ~@12 x ~@5 x ~@17", AG: "~ x ~@2 x ~@2 x ~@11 x ~@6 x ~@17 x ~@2 x",
  AH: "~@3 x ~@11 x ~@5 x ~@15 x ~@8 x ~", AI: "~@17 x ~@5 x ~@15 x ~@8", AJ: "x",
})).gain(0.45)

// drums · snare
const snare = s("sd").struct("<A B C D E F G C H I C J E F K C J L M K N O P N J L Q K N R L Q S T U V>".pickRestart({
  A: "~@6 x ~@10 x ~@6", B: "~@4 x ~@10 x ~@8", C: "~@2 x ~@10 x ~@10", D: "x ~@20 x ~@21 x ~@4",
  E: "~@17 x ~@21 x ~@8", F: "~@13 x ~@21 x ~@12", G: "~@3 x ~@6 x ~@5", H: "~@3 x ~@24 x ~@19",
  I: "~@5 x ~@2 x ~@21 x ~@17", J: "x ~@10 x ~@10 x ~", K: "~@9 x ~@21 x ~@16", L: "~@9 x ~@10 x ~@3",
  M: "~@14 x ~@20 x ~@12", N: "~@5 x ~@21 x ~@20", O: "~@4 x ~@24 x ~@18", P: "~@6 x ~@2 x ~@21 x ~@16",
  Q: "~@7 x ~@10 x ~@5", R: "~ x ~@21 x ~@21 x ~@2", S: "~@5 x ~@10 x ~@7", T: "~@3 x ~@10 x ~@9",
  U: "~@5 x ~@23 x ~@18", V: "~@3 x ~ x ~@18",
})).gain(0.5)

// drums · hihat
const hihat = s("hh").struct("<~@9 A B C D E F G H I J K L ~@15>".pickRestart({
  A: "~@24 x ~@2 x ~@9 x ~@2 x ~@2 x ~@2 x ~",
  B: "~ x ~@11 x ~@3 x ~@2 x ~@2 x ~@2 x ~@5 x ~@2 x ~@2 x ~@2 x ~@3 x ~@2",
  C: "x ~@2 x ~@5 x ~@2 x ~@2 x ~@2 x ~@3 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@4",
  D: "~@5 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@3 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@8",
  E: "~@7 x ~@2 x ~@8 x ~@2 x ~@3 x ~@2 x ~@2 x ~@11 x ~@3",
  F: "x ~@2 x ~@2 x ~@2 x ~@5 x ~@2 x ~@2 x ~@2 x ~@2 x ~@3 x ~@2 x ~@5 x ~@2 x ~@2 x ~",
  G: "~ x ~@2 x ~@3 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@9 x ~@2 x ~@2 x ~@2 x ~@2",
  H: "x ~@2 x ~@2 x ~@3 x ~@2 x ~@2 x ~@2 x ~@2 x ~@15 x ~@2 x ~@6",
  I: "~@2 x ~@2 x ~@3 x ~@2 x ~@2 x ~@11 x ~@3 x ~@2 x ~@2 x ~@2 x ~@5 x ~",
  J: "~ x ~@2 x ~@2 x ~@2 x ~@3 x ~@2 x ~@5 x ~@2 x ~@2 x ~@2 x ~@2 x ~@3 x ~@2 x ~@2 x ~@2",
  K: "x ~@2 x ~@2 x ~@2 x ~@9 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@3 x ~@2 x", L: "~@2 x ~@2 x ~@42",
})).gain(0.4)

// drums · open hat
const open_hat = s("oh").struct("<~@9 A B C D E F G H I J K ~@16>".pickRestart({
  A: "~@10 x!2 ~@4", B: "~@2 x ~@10 x ~@10", C: "~ x ~@6", D: "~ x ~@22", E: "~@13 x ~@2 x ~@18 x ~@12",
  F: "~@9 x ~@27 x ~@10", G: "~@2 x", H: "~@44 x ~@2 x", I: "~@9 x ~@10 x ~@3", J: "~@5 x ~@6", K: "~@5 x ~@10",
})).gain(0.5)

// drums · crash
const crash = s("cr").struct("<A B C D E F G H ~ I ~@2 J ~@7 K ~ L ~@2 M N ~@6 O ~ P>".pickRestart({
  A: "x ~@5 x ~@5 x ~@6 x ~@5 x ~@5 x ~@5 x ~@5 x ~@4", B: "~@2 x ~@5 x ~@5 x ~@6 x ~@5 x ~@5 x ~@5 x ~@5 x ~@2",
  C: "~@4 x ~@5 x ~@5 x ~@6 x ~@4 x ~@5 x ~@6 x ~@5 x", D: "~@6 x ~@5 x ~@5 x ~@5 x ~@5 x ~@6 x ~@5 x ~@4",
  E: "~ x ~@6 x ~@5 x ~@5 x ~@5 x ~@6 x ~@5 x ~@5 x ~@2", F: "~@4 x ~@5 x ~@5 x ~@5 x ~@5 x ~@6 x ~@5 x ~@5 x",
  G: "~@5 x ~@5 x ~@6 x ~@5 x ~@5 x ~@6 x ~@5 x ~@4", H: "~ x ~@3 x ~@8 x ~@33", I: "~ x ~@4", J: "~@13 x!2 ~",
  K: "~@7 x ~@16", L: "~@2 x!2 ~@12", M: "~@40 x ~@2 x ~@4", N: "~ x ~@22", O: "~@2 x ~@2 x ~@10",
  P: "~@6 x ~@3 x ~@2 x ~@34",
})).gain(0.25)

// drums · ride
const ride = s("rd").struct("<~@7 A B C ~@10 D E F G H I J K L M N O P Q R S>".pickRestart({
  A: "~@20 x ~@5 x ~@6 x ~@2 x ~@2 x ~@5 x ~@2", B: "~@3 x ~@5 x ~@6 x ~@5 x ~@5 x ~@5 x ~@6 x ~@5 x", C: "~@5 x ~@42",
  D: "~@21 x ~@5 x ~@5 x ~@2 x ~@2 x ~@6 x ~", E: "~@4 x ~@5 x ~@5 x ~@6 x ~@5 x ~@5 x ~@5 x ~@6",
  F: "x ~@18 x ~@4 x ~@6 x ~@2 x ~@2 x ~@2 x ~@3 x ~@3",
  G: "~@2 x ~@2 x ~@5 x ~@2 x ~@2 x ~@2 x ~@2 x ~@3 x ~@5 x ~@5 x ~@2 x ~@2 x ~@2",
  H: "x ~@2 x ~@2 x ~@3 x ~@5 x ~@6 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x",
  I: "~@2 x ~@2 x ~@2 x ~@3 x ~@5 x ~@5 x ~@6 x ~ x ~@3 x ~@10",
  J: "~@7 x ~@6 x ~@2 x ~@2 x ~@2 x ~@2 x ~@5 x ~@3 x ~@5 x ~@2 x ~@2",
  K: "x ~@2 x ~@2 x ~@3 x ~@5 x ~@5 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@6 x",
  L: "~@6 x ~ x ~@3 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@5",
  M: "~ x ~@5 x ~@5 x ~@2 x ~@3 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x",
  N: "~@3 x ~@5 x ~@6 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@5 x ~@2 x ~@2 x ~@2 x ~",
  O: "~ x ~@3 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@6 x ~@5 x ~@2 x ~@2 x ~@3 x ~",
  P: "~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@5 x ~@6 x ~@2 x ~@2 x ~@2 x",
  Q: "~@2 x ~@18 x ~@6 x ~@5 x ~@2 x ~@2 x ~@5 x ~", R: "~@5 x ~@5 x ~@5 x ~@5 x ~@6 x ~@5 x ~@5 x ~@5", S: "x",
})).gain(0.35)

stack(electric_guitar_muted, bass, overdriven_guitar, kick, snare, hihat, open_hat, crash, ride)

More by Alice in Chains