Strudelify
Poor Twisted Me cover art

1996 · Load

Poor Twisted Me

Metallica

KeyG♯ minorTempo120 bpm
0:00/0:00
// Poor Twisted Me — Metallica
// 120 bpm, 4/4, key G# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 122 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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, A@4 for four bars: edit a riff to change every repeat.

// chords · overdriven guitar · "James Hetfield"
const overdriven_guitar = note(`<
  A B A C A D A E F G H I F J K@2 F L H I F J K@2 M ~ M ~ N O P Q R@2 M ~ M S T U V W X Y H I F J Z@2 M ~ M ~ N O AA AB
  AC@2 M ~ M AD T U V W F AE AF AG AH@3 AI AJ AK AL AM AN AO AP AQ AR AS AT AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI
  BJ BK BL BM BN BO BP BM BQ AO X BC BR BS X BT BU@2 M ~
>`.pickRestart({
  A: "g#2@4 g#3 ~@19", B: "~@18 [f#3,b3,d#4]@4 a#3 ~", C: "~@2 [c#4,f4]@5 ~", D: "~@10 [f#3,b3,d#4] ~@7 a#3@4 ~@2",
  E: "~@3 [f#3,b3,d#4]@8 ~ g#3@2 f#3@2 d#3@2 c#3@4 ~@2", F: "g#2@4 g#3@2 g#2@4 g#3 ~@7 g#2 ~@3 g#3 ~",
  G: "~@6 g#2 ~@3 [f#3,b3,d#4]@2 ~@4 [b3,d#4] ~ [f#3,a#3]@3 ~@3", H: "g#2@4 g#3 ~ g#2@3 ~ g#3 ~@7 g#2 ~@3 g#3 ~",
  I: "~@6 g#2 ~@3 [f#3,c#4]@8 b3@2 g#3 ~ f#3 ~", J: "~@6 g#2 ~@3 [g#3,c#4] ~@7 b3@4 g#3 ~, ~@9 f#3 ~@2",
  K: "[g#2@3 ~ g#3 ~ g#2@3 ~ g#3 ~@5 g#2 ~ [b3,c#4]@2 ~ [g#3,b3,c#4]@6 ~ [b3,c#4] ~ [f#3,b3] ~@3 [f#3,b3]@8 g#3@4 ~@2]/2", // Bsus2 C#7 Bsus2 B5
  L: "~@6 g#2 ~@2 [g#3,c#4]@9 b3@4 g#3 ~", M: "g#2@4 g#3@2 g#2@4 g#3 ~@13", N: "g#2@3 ~ g#3@2 g#2@3 ~ g#3@2 ~@12",
  O: "~@18 [g#2,g#3]@5 ~", P: "f#2@2 f#3 f#2@2 f#3 ~@6", Q: "~@4 [g#3,b3] ~ [g#3,b3] ~@3 [g#3,c#4]@6 b3@6 g#3 ~",
  R: "[f#2@4 f#3@2 f#2@3 ~ f#3@2 ~@4 b3 ~ [f#3,b3] ~@3 [f#3,b3]@6 c#4 ~ [g#3,c#4]@2 ~@2 [g#3,c#4]@6 b3@5 ~@3]/2", // B5 C#5
  S: "~@18 c#5 ~@5", T: "[g#3,c#4]@4 ~@2 [g#3,c#4]@5 ~ [g#3,c#4]@5 ~ [g#3,c#4]@6, c#3@11 ~ c#3@12",
  U: "[b2,f#3,b3]@4 ~@2 [b2,f#3,b3]@5 ~ [b2,f#3,b3]@5 ~ [b2,f#3,b3]@5 ~", // B5
  V: "[f#2,c#3,f#3]@4 ~@2 [f#2,c#3,f#3]@5 ~ [f#2,c#3,f#3]@4 ~@2 [f#2,c#3,f#3]@4 ~@2", // F#5
  W: "[d#3,a#3,d#4] ~ [d#3,a#3,d#4] ~ [d#3,a#3,d#4] ~ [d#3,a#3,d#4] ~ [d#3,a#3,d#4] ~ [d#3,a#3,d#4] ~ [d#3,a#3,d#4] ~ [d#3,a#3,d#4] ~ [d#3,a#3,d#4] ~ [d#3,a#3,d#4] ~ [d#3,a#3,d#4] ~ [d#3,a#3,d#4] ~", // D#5
  X: "g#2@4 g#3@2 g#2@4 g#3 ~@7 g#2@4 g#3@2", Y: "~@6 g#2@4 [g#3,c#4]@8 b3@4 g#3 ~",
  Z: "[g#2@3 ~ g#3 ~ g#2@3 ~ g#3 ~@5 g#2 ~ [b3,c#4]@2 ~ [g#3,b3,c#4]@6 ~ [b3,c#4] ~ [f#3,a#3] ~@3 [f#3,b3]@8 g#3@4 ~@2]/2", // Bsus2 C#7 Bsus2 F# B5
  AA: "f#2@4 f#3@2 f#2@4 f#3@3 ~@2 f#3 ~@8", AB: "~@4 [g#3,b3] ~ [g#3,b3] ~@3 [g#3,c#4]@5 b3@6 g#3 ~@2",
  AC: "[f#2@4 f#3@2 f#2@3 ~ f#3@2 ~@4 b3 ~ [f#3,b3] ~@3 [f#3,b3]@6 c#4 ~ [g#3,c#4]@2 ~@2 [g#3,c#4]@5 b3@5 ~@4]/2", // B5 C#5
  AD: "~@18 g#3 ~@5", AE: "~@6 g#2 ~@3 g#3 ~@5 g#3@2 f#3@2 ~@2 g#2 ~",
  AF: "g#2 ~@3 g#3 ~ g#2@4 g#3@2 ~@4 g#3 ~ g#3@2 f#3@2 d#3@2",
  AG: "g#3@2 f#3@2 d#3@2 g#3@2 f#3@2 d#3@2 g#3@2 f#3@2 d#3 ~ g#3 ~@5",
  AH: "[f#2,c#3] ~@3 [f#2,c#3] ~ [f#2,c#3] ~ [f#2,c#3] ~ [f#2,c#3] ~ [f#2,c#3] ~@3 [f#2,c#3] ~ [f#2,c#3] ~ [f#2,c#3] ~ [f#2,c#3] ~", // F#5
  AI: "[f#2,c#3]@2 ~@2 [f#2,c#3] ~ [f#2,c#3] ~ [f#2,c#3] ~ [f#2,c#3] ~ [f#2,c#3]@2 ~@2 [f2,c3]@2 ~@2 [e2,b2]@2 ~@2", // F#5 F5 E5
  AJ: "[d#2,a#2]@3 ~ [d#2,a#2] ~ [d#2,a#2] ~ [d#2,a#2] ~ [d#2,a#2] ~ [d#2,a#2]@2 ~@2 [d#2,a#2] ~ [d#2,a#2] ~ [d#2,a#2] ~ [d#2,a#2] ~", // D#5
  AK: "[d#2,a#2]@2 ~@2 [d#2,a#2] ~ [d#2,a#2] ~ [d#2,a#2] ~ [d#2,a#2] ~ [d#2,a#2]@4 ~@2 [d#2,a#2]@6", // D#5
  AL: "[g#2,c#3]@5 ~ [g#2,c#3]@5 ~ [d#2,g#2,c#3]@5 ~ [d#2,g#2,c#3]@3 ~@3", // C#5 C#sus2
  AM: "[f#2,b2]@5 ~ b2 b2@4 ~ b2 b2@5 [f#2,b2]@5 ~, ~@3 f#2@2 ~ f#2@2 ~@4", // B5
  AN: "[f#2,c#3,f#3]@5 ~ [f#2,f#3]@5 ~ f#2 f#2@3 ~@2 [f#2,c#3,f#3]@4 ~@2, ~@2 c#3 ~ [c#3,f#3] ~@3", // F#5 F# F#5
  AO: "[d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~", // D#5
  AP: "[b3,d#4]@15 ~@3 g#3@4 f#3@2", AQ: "g#3@3 ~ b3@2 ~@18", AR: "[b3,d#4]@9 g#3@2 f#3", AS: "g#3@3 ~ f#3@2 ~@18",
  AT: "c#4@2 d#4 ~ d#4 ~ d#4@6 c#4@2 d#4 ~ d#4 ~ d#4@5 ~", AU: "f#4@2 g#4 ~ g#4 ~ g#4@6 f#4@2 g#4 ~ g#4 ~ g#4@5 ~",
  AV: "c#4@2 d#4 ~ d#4 ~ d#4 ~ d#4 ~ d#4 ~ c#4@2 d#4 ~ d#4 ~ d#4 ~ d#4 ~ d#4 ~",
  AW: "f#4@2 g#4 ~ g#4 ~ g#4 ~ g#4 ~ g#4 ~ c#4@2 d#4 ~ d#4 ~ d#4@5 ~",
  AX: "b2@4 b3@2 b2@4 b3@3 ~@3 [b3,d4,f#4] ~ [b3,d4,f#4] ~ [b3,d4,e4,f#4] ~ [b3,d4,e4,f#4] ~", // Bm
  AY: "[b3,d4,e4,f#4] ~ [b3,d4,f#4] ~ [b3,d4,f#4] ~ [b3,d4,f#4] ~ [b3,d4,f#4] ~ [b3,d4,e4,f#4] ~ [b3,d4,e4,f#4] ~ [b3,d4,e4,f#4] ~ [b3,d4] ~ d4@5 ~, ~@6 b3 ~", // Bm
  AZ: "b2@3 b3@2 ~ b2@4 b3@2 ~@12", BA: "~@6 d#3 ~", BB: "g#2@4 g#3@2 g#2@4 g#3@2 ~@6 g#2@4 g#3 ~",
  BC: "~@6 g#2@3 ~ [g#3,b3]@2 ~@4 b3@2 g#3@5 ~", BD: "g#2@4 g#3@2 g#2@3 ~ g#3 ~@7 g#2@3 ~ g#3 ~",
  BE: "~@2 [g#3,b3]@7 ~@3", // G#m
  BF: "[f#2,c#3,f#3]@3 ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~@3 [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~", // F#5
  BG: "[f#2,c#3,f#3] ~@3 [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~@3 [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~", // F#5
  BH: "[f#2,c#3,f#3] ~@3 [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3]@3 ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~", // F#5
  BI: "[f#2,c#3,f#3]@3 ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~ [f#2,c#3,f#3] ~@3 [f2,c3,f3]@2 ~@2 [e2,b2,e3]@2 ~@2", // F#5 F5 E5
  BJ: "[a#2,d#3]@3 ~ [a#2,d#3] ~ [a#2,d#3] ~ [a#2,d#3] ~ [a#2,d#3] ~ [d#2,a#2,d#3]@3 ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~", // D#5
  BK: "[d#2,a#2,d#3]@3 ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3]@3 ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~ [d#2,a#2,d#3] ~", // D#5
  BL: "[g#2,c#3]@4 ~@2 [g#2,c#3]@5 ~ [g#2,c#3]@5 ~ [g#2,c#3]@4 ~@2", // C#5
  BM: "[f#2,b2]@5 ~ [f#2,b2]@5 ~ [f#2,b2]@5 ~ [f#2,b2]@5 ~", // B5
  BN: "[f#2,c#3]@5 ~ [f#2,c#3]@5 ~ [f#2,c#3]@5 ~ [f#2,c#3]@4 ~@2", // F#5
  BO: "[g#2,d#3,g#3] ~ [d#3,g#3] ~ [g#2,d#3,g#3] ~ [g#2,d#3,g#3] ~ [g#2,d#3,g#3] ~ [g#2,d#3,g#3] ~, ~@3 g#2@2 ~@19", // G#5
  BP: "[g#2,c#3]@5 ~ [g#2,c#3]@5 ~ [g#2,c#3]@5 ~ [g#2,c#3]@4 c3 ~", // C#5
  BQ: "[f#2,c#3]@5 ~ [f#2,c#3]@5 ~ [f#2,c#3]@3 ~ c#3 ~ [f#2,c#3]@4 c#3 ~", // F#5
  BR: "g#2@2 g#3 g#2@2 g#3 ~@3 g#2@2 [g#3,c#4]", BS: "~@4 [g#3,c#4]@2 b3@4 g#3@2 ~@4 b3@2 g#3@4 f#3 ~",
  BT: "~@6 g#2@3 ~ [g#3,b3]@2 ~@6 g#3@5 ~", // G#m
  BU: "[g#2@4 g#3@2 g#2@4 g#3@2 ~@6 [g#3,c#4]@10 ~@2 [g#3,c#4]@9 ~ b3@2 g#3@4 f#3@2]/2", // C#5
})).s("gm_overdriven_guitar").gain(0.64)

// bass · electric bass pick · "Jason Newstead"
const bass = note(`<
  ~@16 A B A C D E F@2 G ~ H ~ I J K@4 L@2 A M N O P Q A R A C S@2 T@2 U ~ H ~ I J V@2 W@2 X@2 A M N O Y Z AA AB AC AD
  AE AF AG AH AI AJ N AK AL AM AN AO AP AQ AR AS AT@2 AU@2 AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BJ BN
  BO BP BQ BR BS BT BU@2 H ~
>`.pickRestart({
  A: "g#2@4 ~@2 g#2@4 f#2 ~ g#2@4 ~@2 g#2@3 ~ f#2@2, g#1@10 ~@2 g#1@9 ~@3", B: "~@3 b2@2 ~@19, [g#1,g#2]@5 ~@19",
  C: "g#2 f#2 ~@6, g#1@7 ~@17", D: "g#2@3 ~@3 g#2@4 f#2 ~ [g#1,g#2]@6 [g#1,g#2]@3 f#2@2 ~, g#1@3 ~@5",
  E: "~@4 b2@3 ~@14 d3 ~@2, [g#1,g#2] ~@3", // G#
  F: "[g#2@3 ~@3 g#2@3 ~ f#2@2 [g#1,g#2]@2 ~ g#2 g#1 ~ b2@2 ~@2 b2@5 ~ b2@2 g#2@2 ~ g#2@6 f#2@6 ~@3, g#1@5 ~@19]/2", // G#
  G: "g#2@5 ~ g#2@4 ~@14", H: "g#1@2 g#2 g#1@2 g#2 ~@6", I: "g#1@3 ~ g#2@2 g#1@4 g#2 ~@13", J: "~@18 g#1@4 g#2 ~",
  K: "[f#1@3 f#1 ~ f#1 ~@6 f#1@4 f#1 ~ f#1 ~@3 f#1@4 ~@2 f#1 ~ f#1 ~@3 f#1@5 ~ f#2@2 f#1@3 ~ f#1 f#1@3 ~@2 f#2 ~ f#1@2 ~ f#2@4 ~@5 f#1@3 ~ [f#1,f#2]@6 ~@2 [f#1,g#2] ~@4 [f#1,f#2]@5 g#2@5 f#2 ~@2, ~@66 f#2 ~@29]/4", // F# F#sus2 F#
  L: "[g#1@4 g#2@2 g#1@4 g#2@2 ~@6 g#2@3 ~ f#2@2 g#2@3 b2@2 ~@19, ~@9 g#1@5 ~@10]/2", M: "[g#1,g#2]@4 f#2 ~@19",
  N: "c#2@4 ~@2 c#2@5 ~ c#2@5 ~ c#2@4 c2 ~", O: "b1@5 ~ b1@5 ~ b1@5 ~ b1 ~@3 b1 ~",
  P: "f#1@3 ~@3 f#1@4 ~@2 f#1@4 ~@2 f#1@2 ~@2 f#1@2",
  Q: "d#2 ~@3 [d#1,d#2] ~ d#2 ~@3 d#1@2 d#2 ~ d#2 ~ d#2@2 d#1@2 ~@2 [d#1,d#2] ~, ~@10 d#2 ~@5 d#1 ~ d#2 ~@5", // D#
  R: "~@2 b2 ~@9, [g#1,g#2] ~@3", // G#
  S: "[g#2@3 ~@3 g#2@3 f#2 ~@2 [g#1,g#2]@6 [g#1,g#2]@3 f#2@2 ~ g#2@4 b2@3 ~@15 d3 ~, g#1@11 ~@12 g#1@6 ~@19]/2", // G#
  T: "[g#2@3 ~@3 g#2@3 ~ f#2@2 [g#1,g#2]@3 g#2 g#1 ~ b2@2 ~@2 b2@5 ~ b2@2 g#2@2 ~@2 g#2@6 f#2@6 ~@2, g#1@5 ~@19]/2", // G#
  U: "g#2@5 ~ g#2@4 ~@14, g#1@11 ~@13",
  V: "[f#1@3 ~ f#1 ~ f#1 ~@3 f#1@4 ~@2 f#1 ~ f#1 ~@3 f#1@4 ~@2 f#1 ~ f#1 ~@3 f#1@5 ~ f#2@2 f#1@3 ~ f#1 ~]/2",
  W: "[f#1@3 ~ f#2 ~ f#1@2 ~@2 f#2@4 ~@4 f#1@3 ~ [f#1,f#2]@6 ~@2 [g#1,g#2] ~@3 [f#1,f#2]@5 ~ g#2@5 ~ f#2 ~, ~@18 f#2 ~@29]/2", // F# G# F#
  X: "[g#1@4 g#2@2 g#1@4 g#2@2 ~@6 g#2@3 ~ f#2@2 g#2@4 b2@2 ~@18, ~@9 g#1@5 ~@10]/2",
  Y: "f#1@3 ~@3 f#1@4 ~@2 f#1@4 ~@2 f#1@2 ~@2 f#1@2, ~@18 d#1 ~@5",
  Z: "d#2 ~ d#2 ~ [d#1,d#2] ~ d#2 ~ d#2 ~ [d#1,d#2] d#1 d#2@2 d#2 ~ [d#1,d#2] ~ d#1@2 d#2 ~ [d#1,d#2] ~, ~@18 d#2 ~@5", // D#
  AA: "g#1@4 g#2@2 g#1@4 g#2@2 ~@4 g#2@2 g#1@4 g#2 ~", AB: "~@4 g#2@2 g#1@4 g#2 ~@5 g#2@2 g#1@3 ~@3",
  AC: "g#1@3 ~ g#2@2 g#1@4 g#2 ~@5 g#1 ~ g#2 ~ g#1 ~ g#2 ~",
  AD: "g#2 ~ g#1 ~ g#2 ~ g#2@2 g#1 ~ g#2@2 g#1 ~ g#2 g#1 ~ g#2 ~@6",
  AE: "f#1@2 ~@2 f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~@3 f#1 ~ f#1 ~ f#1 ~ f#1 ~",
  AF: "f#1@3 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1@2 ~@2 f#1 ~ f#1 ~ f#1 ~ f#1 ~",
  AG: "f#1@6 f#1 ~@3 f#2@5 ~ f#1 ~ f#2@4 ~@2, ~@18 f#1 ~@5",
  AH: "[f#1,f#2]@4 ~@2 [f#1,f#2]@2 ~@4 [f#1,f#2]@3 ~ [f1,f2]@2 ~@2 [e1,e2]@2 ~@2", // F# F E
  AI: "[d#1,d#2]@3 ~ [d#1,d#2] ~ [d#1,d#2] ~ [d#1,d#2] ~ [d#1,d#2] ~ [d#1,d#2]@4 d#2 ~ d#2@2 d#1 ~ d#2@2", // D#
  AJ: "d#1@3 ~ d#2 ~ d#1 ~ d#2 ~ d#1@2 d#2@2 ~@2 d#1 ~ d#2@2 d#1 ~ d#2 d#1", AK: "b1@3 b1@3 b2@2 b1@2 ~ a2",
  AL: "f#1@2 ~@4 f#1@6 f#2 ~@3 f#2@2 f#1@2 ~@4",
  AM: "d#2 ~ d#2 ~ d#2 ~ d#2 ~ d#2 ~ d#2 ~ d#2 ~ d#2 ~ d#2 ~ d#2 ~ d#2 ~ d#2 ~",
  AN: "[g#1,g#2]@4 ~@2 g#2@3 ~ [f#2,g#2] ~ g#2@4 ~@2 g#2@4 f#2 ~, ~@2 g#2 ~@9, ~@5 g#1@6 ~ g#1@10 ~@2", // G# F#sus2
  AO: "[g#1,g#2]@2 b2 ~@6 g#2 ~@2", AP: "[g#1,g#2]@5 ~ [g#1,g#2]@4 f#2 ~ [g#1,g#2]@5 ~ [g#1,g#2]@4 f#2 ~",
  AQ: "[g#1,g#2]@2 [f#1,f#2] ~@9", // G# F#
  AR: "[g#1,g#2]@5 ~ [g#1,g#2]@4 f#2 ~ [g#1,g#2] ~ [g#1,g#2] ~ g#2 ~ [g#1,g#2]@4 f#2 ~", AS: "[g#1,g#2]@2 b2 ~@9",
  AT: "[[g#1,g#2]@5 ~ [g#1,g#2]@4 f#2 ~ [g#1,g#2]@3 ~ g#2 ~ g#1@2 ~ g#1 g#1@5 b2 ~@2 b2 ~@2 b2@9 g#2@3 ~@3, ~@18 b2 ~@2 b2@6 ~@21]/2", // G#
  AU: "[b1@4 b2@2 b1@3 ~ b2@3 ~@3 b1@2 b2 ~@2 b2@5 ~@2 b1@2 b2 ~@3 b2@5 b1@3 b2@4 ~@2]/2",
  AV: "b1@3 ~ b2@2 b1@3 ~ b2@2 ~@12", AW: "~@10 b1@11 ~@3",
  AX: "g#2@4 ~@2 g#2@4 f#2 ~ [g#1,g#2]@5 ~ [g#1,g#2]@4 f#2 ~, g#1@11 ~@13", AY: "[g#1,g#2]@2 [b1,b2] ~@9",
  AZ: "[g#1,g#2]@5 ~ [g#1,g#2]@3 ~@3 [g#1,g#2]@4 ~@2 [g#1,g#2]@3 f#2 ~@2", // G#
  BA: "[g#1,g#2] ~@5 g#1@2 ~@3 g#1@2 ~@2 [g#1,g#2] ~ [g#1,g#2]@3 ~@4, ~@6 g#2 ~@4 g#2 ~@12", // G#
  BB: "[f#1,f#2]@3 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ [f#1,f#2]@3 f#1 f#2 ~ [f#1,f#2] ~ [f#1,f#2] ~ [f#1,f#2] ~, ~@3 f#2@2 ~@7", // F#
  BC: "f#1@2 ~@2 [f#1,f#2] ~ [f#1,f#2] ~ f#1 ~ f#1 ~ f#1@2 ~@2 f#1 ~ [f#1,f#2] ~ [f#1,f#2] ~ [f#1,f#2] ~, f#2 ~@23", // F#
  BD: "[f#1,f#2] ~@3 [f#1,f#2] ~ [f#1,f#2] ~ [f#1,f#2] ~ [f#1,f#2] ~ [f#1,f#2] ~@3 [f#1,f#2] ~ [f#1,f#2] ~ [f#1,f#2] ~ [f#1,f#2] ~", // F#
  BE: "[f#1,f#2] ~@3 [f#1,f#2] ~ [f#1,f#2] ~ [f#1,f#2] ~ [f#1,f#2] ~ [f#1,f#2] ~@3 [f1,f2] ~@3 [e1,e2] ~@3", // F# F E
  BF: "[d#1,d#2]@3 ~ [d#1,d#2] ~ [d#1,d#2] ~ [d#1,d#2] ~ [d#1,d#2] ~ [d#1,d#2]@2 d#1 ~ [d#1,d#2] ~ [d#1,d#2] ~ [d#1,d#2] ~ [d#1,d#2] ~", // D#
  BG: "d#2@2 ~@2 [d#1,d#2] ~ [d#1,d#2] ~ [d#1,d#2] ~ [d#1,d#2] ~ [d#1,d#2]@3 ~ [d#1,d#2] ~ [d#1,d#2] ~ [d#1,d#2] ~ [d#1,d#2] ~, d#1 ~@23", // D#
  BH: "[c#1,c#2]@5 ~ [c#1,c#2]@4 ~@2 [c#1,c#2]@4 ~@2 c#2@4 c2 ~, ~@9 c#1 ~@2", BI: "b1@5 ~ b1@5 ~ b1@5 ~ b1@3 ~ b1 ~",
  BJ: "f#1@4 ~@2 f#1@5 ~ f#1@5 ~ f#1@4 ~@2",
  BK: "[g#1,g#2]@2 ~@2 [g#1,g#2]@2 ~@2 [g#1,g#2]@3 ~ [g#1,g#2]@3 ~ [g#1,g#2]@2 ~@2 [g#1,g#2]@2 ~@2", // G#
  BL: "~@6 f#2@2 ~@4 c#2@4 c#2@2 c#2@4 c2 ~, ~@6 d#1 ~@17", BM: "~@12 c#1@6 b1 ~@5, b1@2 ~",
  BN: "[d#1,a#1] ~ [d#1,a#1] ~ [d#1,a#1] ~ [d#1,a#1] ~ [d#1,a#1] ~ [d#1,a#1] ~ [d#1,a#1] ~ [d#1,a#1] ~ [d#1,a#1] ~ [d#1,a#1] ~ [d#1,a#1] ~ [d#1,a#1] ~", // D#5
  BO: "[g#1,g#2]@5 ~ g#2@3 ~ f#2@2 g#2@3 ~@3 [g#1,g#2]@4 f#2@2, ~@6 g#1@11 ~@7, ~@9 g#2@2 ~@13", // G#
  BP: "g#2 g#2@3 b2@2 ~@18, g#1 ~@5", BQ: "[g#1,g#2]@4 ~@2 [g#1,g#2]@4 f#2 ~ [g#1,g#2]@4 ~@2 [g#1,g#2]@4 f#2@2",
  BR: "[g#1,g#2]@3 ~ g#1@2 g#2@2 ~@2 [g#1,g#2]@2 ~@4 g#2@2 [g#1,f#2]@3 ~ g#2 ~", // G# G#7
  BS: "[g#1,g#2]@3 ~@3 [g#1,g#2]@4 f#2 ~ [g#1,g#2]@5 ~ [g#1,g#2]@4 f#2 ~", BT: "[g#1,g#2]@4 b2@2 ~@9 b2@6 g#2@2 ~",
  BU: "[g#1@5 ~ [g#1,g#2]@4 f#2 ~ [g#1,g#2]@3 ~ g#2 ~ b2@2 ~@2 [g#1,b2]@6 ~@2 g#1@3 ~@2 g#1 ~@6 g#2@5 ~, ~@17 g#1@3 ~@10 b2@12 ~@6]/2", // G# G#m
})).s("gm_electric_bass_pick").gain(0.72)

// other · distortion guitar · "Echo Repeats"
const distortion_guitar = note(`<
  A B C B D ~ E F G H I J E K G L ~@8 D ~ M N O ~@5 P Q R ~@13 D ~ S ~ T ~@16 U ~@10 V W V X Y Z ~@6 V Z AA AB ~@14 AC B
  AC B AD AE ~@2 AF ~
>`.pickRestart({
  A: "~@3 g#2@2 g#3 ~@2 g#3 ~@3", B: "g#2@3 ~ g#3@2 ~@18", C: "~@6 g#2@4 g#3@2 g#2@3 ~ g#3@2 g#2@4 g#3@2",
  D: "~@3 g#2@2 g#3 g#2@2 g#3 ~@3", E: "~@3 g#2@2 g#3 g#2@2 g#3 ~@2 g#3", F: "~@6 g#2@4 g#3@2 g#2@3 ~ g#3@2 g#2@3 ~@3",
  G: "~@6 g#2@2 g#3 g#2@2 g#3", H: "g#2@4 g#3@3 ~@5 g#2@4 g#3@2 g#2@3 ~@3",
  I: "~@6 g#2@4 g#3@2 ~@4 g#3@2 g#2@3 ~ g#3@2", J: "g#2@2 g#3 ~@2 g#3 g#2@2 g#3 ~@3",
  K: "~@4 g#3@2 g#2@5 ~@5 g#3@2 g#2@3 ~@3", L: "g#2@3 ~ g#3 ~ g#2@4 g#3@2 g#2@4 g#3 ~@7",
  M: "~@3 g#2@2 g#3 g#2@2 ~ g#2@2 g#3", N: "g#2 ~@5", O: "~@6 g#2@2 g#3 ~@3", P: "~@16 g#3 ~@5 g#3@2", Q: "g#2 ~@7",
  R: "~@6 g#2@4 g#3 ~ g#2@3 ~@9", S: "~@6 g#2@4 g#3@2 g#2@5 ~ g#2@5 ~", T: "~@12 g#2@4 g#3@2 g#2@5 ~",
  U: "~@17 [g#4,c#5]@6 ~", V: "g#3@4 ~@2 g#3@3 ~ f#3 ~ g#3@4 ~@2 g#3@3 ~ f#3 ~, g#2@11 ~ g#2@11 ~",
  W: "[g#2,g#3]@4 b3 ~@19", X: "g#3@2 f#3 ~@9, g#2 ~@3", Y: "~@6 [g#2,g#3]@4 f#3 ~ g#3@4 ~@2 g#3@4 f#3@2, ~@6 g#2@5 ~",
  Z: "[g#2,g#3]@2 b3 ~@9", AA: "g#3@5 ~ g#3@4 f#3 ~ [g#2,g#3]@5 ~ [g#2,g#3]@4 f#3 ~, g#2@11 ~@13", AB: "[g#2,g#3]@3 ~",
  AC: "~@6 g#2@3 ~ g#3@2 g#2@3 ~ g#3@2 g#2@4 g#3@2", AD: "~@6 g#2@3 ~ g#3@2 g#2@4 g#3@2 g#2@3 ~ g#3@2",
  AE: "~@2 g#3 ~@9", AF: "~@3 g#2 ~@2",
})).s("gm_distortion_guitar").gain(0.2)

// other · distortion guitar · "Echo Repeats" · soft notes
const distortion_guitar_soft = note(`<
  A B ~ C D E F G ~ B H I F J ~@10 D K L M D E ~@4 N M O P ~@12 D Q R S T U ~@61 V ~@2 W ~
>`.pickRestart({
  A: "~@6 g#2@2 ~ g#2@2 g#3", B: "~@3 g#2@2 g#3 ~@6", C: "~@10 g#3 ~@13", D: "~@9 g#2@2 g#3",
  E: "g#2@3 ~ g#3@2 g#2@3 ~ g#3@2 ~@12", F: "~@9 g#2@2 ~", G: "g#2@3 ~ g#3 ~@19", H: "~@4 g#2 ~@3", I: "~@3 g#2@2 ~@7",
  J: "g#2@4 ~@6 g#3@2 g#2@5 ~@7", K: "g#2@2 g#3 ~@9", L: "~@8 g#3 ~@3", M: "~@2 g#3 ~@2 g#3 ~@6",
  N: "~@6 g#2@2 ~ g#2@2 ~", O: "~@8 g#3 g#2@2 g#3", P: "g#2@4 g#3@3 ~@3 g#3 ~@13", Q: "g#2 g#3 ~@4",
  R: "~@8 g#3 ~@2 g#3", S: "~@2 g#3 ~@9", T: "~@11 g#3", U: "g#2@4 g#3@2 g#2@4 g#3@3 ~@11",
  V: "g#2@4 ~@2 g#2@3 ~ g#3@2 ~@12", W: "~@6 g#2@3 ~ g#3@2 ~@4 g#3@4 ~@4",
})).s("gm_distortion_guitar").gain(0.1)

// bass · fretless bass
const bass_2 = note("<~@24 A@2 B@2 A@2 ~@20 A@2 C@2 D@2 ~@64 E ~>".pickRestart({
  A: "[~@11 g#1@30 ~@7]/2", B: "[~@14 g#1@29 ~@5]/2", C: "[~@10 g#1@29 ~@9]/2", D: "[~@11 g#1@32 ~@5]/2",
  E: "~@5 g#1@7",
})).s("gm_fretless_bass").gain(0.72)

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

// drums · snare
const snare = s("sd").struct(`<
  ~@14 A B C@7 D C@7 D C@5 E C@3 F C@7 G C@6 H D C@5 E C@3 I C@2 J K L@3 M L@2 C@3 E C@3 J C@3 N C@2 H O C@3 J L@3 P L@2
  C@3 Q C@3 R C@3 S C@3 T U ~
>`.pickRestart({
  A: "x!6 ~ x!5", B: "~ x!4 ~ x!4 ~@2", C: "~ x", D: "x ~ x ~ x ~ x ~@4 x!2 ~ x ~ x ~ x ~ x ~ x ~",
  E: "~@3 x ~@2 x ~@2 x!3", F: "x!4 ~@2 x!6", G: "x!3 ~ x!2 ~@5 x", H: "~@12 x ~@10 x", I: "x!3 ~ x ~ x ~ x ~@2 x",
  J: "~@2 x!2", K: "~ x!10 ~", L: "~ x ~ x", M: "~@3 x ~@4 x ~ x ~", N: "x ~@5 x ~@2 x!3",
  O: "x ~ x ~ x ~ x ~@4 x!2 ~ x ~ x ~ x ~@5", P: "~@3 x ~@2 x ~ x ~ x ~", Q: "x!6", R: "~@3 x ~@2 x!6",
  S: "~@6 x ~@2 x!3", T: "~@3 x ~ x ~@3 x ~ x", U: "~@2 x ~@2 x ~@6",
})).gain(0.56)

// drums · low tom
const low_tom = s("lt").struct("<~@40 A ~@8 B ~@31 A ~@15 C ~@11 A D ~@11>".pickRestart({
  A: "~@11 x", B: "~@5 x", C: "~@10 x!2", D: "x ~@10 x",
})).gain(0.44)

// … 39 more lines

More by Metallica