Strudelify
One cover art

1989 · …And Justice for All

One

Metallica

KeyB minorTempo108 bpm
0:00/0:00
// One — Metallica
// 108 bpm, 4/4, key B minor. Source: mcgill + midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (4/4 at bar 1, 2/4 at bar 8, 4/4 at bar 9, 2/4 at bar 16, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 3 "Acoustic Guitar (Guitar 1)" acoustic guitar steel (copy of ch 2 "Electric Guitar (Guitar 2)" electric guitar clean)
// note: Full arrangement: all 181 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(108/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 clean · "Electric Guitar (Guitar 2)"
const electric_guitar_clean = note(`<
  A@2 B@2 C D E@2 F G H I J K L M N O P Q R S T ~@5 U V W X Y@2 Z P N AA AB@2 AC AD AE AF@3 ~@3 W AG AH AI AJ@2 N AK AL
  Q AM AN AO AP AQ@4 AR AS@2 AT AU@3 AV AW AX AP AY AX AP AY AX AZ BA BB AZ BA BB AZ BA BB AZ BA BB BC BD BE BC BD BE
  BF@2 BG@2 BH BI@5 BJ BK BJ BK BL BM BL BN BJ BK BJ BK BO@4 BP BQ BO@4 BR BS BO@5 BT BU BT BU BV BW BV BW BX BY BZ BY
  ~@6 CA CB CA CC CA CB CA CB CD BO@4 CE BO BX CF CG CH CI CJ CK CL
>`.pickRestart({
  A: "[~@9 e3 f#3@2 a3@2 ~ b3@15 ~@3 d4 c#4@2 b3@3 ~@4 c#4@2 a3@3, ~@21 d4 ~@2]/2",
  B: "[~@3 d4@3 ~ c#4@2 b3@21 ~@3 f#4 e4@2 ~ e4@2 d4 ~@2 d4 c#4 g3 a3 c#4@2, ~@3 d4 ~@14 d4 ~@5]/2",
  C: "~ g3@2 a3@3 b3@18, b3 ~@11", D: "b3@3 c#4 d4@2 c#4@12 b3@3 c#4@3", E: "[~ c#4@2 a3@3 b3@24 ~@18, d4 ~@23]/2",
  F: "~@9 [f#4,b4,d5] ~@2 b5@3 ~@4 g5@2 f#5 g5@2, ~@9 f#5@3 ~@6 a5@2 ~@4", G: "d5@18 ~@3 d4 c#4@2",
  H: "d4@3 ~@4 d4@2 e4@3 ~@3 f#4 e4@2 f#4@3 ~@3, ~@3 e4 ~@8", I: "g4@3 g4@3 f#4@13 ~@2 b3 d4@2",
  J: "~ g4@2 a4 ~@3 d4@2 f#4 g4@2 b4@2 ~ b3 d4@2 ~ b4@2 c#5@3, f#4 ~@2 b3 ~@5 f#4 ~@2",
  K: "d5@3 e5@3 d5@3 c#5@3 b4@3 c#5@3 c#5@4 d5@2, c#5 ~@2 d5 ~@20", L: "b4@3 ~", M: "~@6 b2 f#3",
  N: "b2@3 d3 d3@2 f#3@3 d3@3 g2@3 f#3@3 g2@3 d3@3", O: "f#3!2 ~ d3@3 b2@3 f#3@3 b2@3 d3 d3@2 f#3@3 d3@3",
  P: "g2@3 f#3@3 g2@3 d3@3 f#3 f#3@2 d3@3 b2@3 f#3@3", Q: "b2@3 d3 d3@2 f#3@3 d3@3 a2@3 f#3@3 a2@3 d3@3",
  R: "f#3!2 ~@4 g2@3 f#3@3 g2@3 d3 d3@2 f#3@3 d3@3, ~ g3@7", S: "e2 f#3@2 e3 f#2 c#3 g2 d3, ~@3 e3 ~@20",
  T: "d3 g2 a2 e3 ~@4", U: "~@12 b2@3 f#3@3 b2@3 d3 d3@2", V: "f#3@3 d3@3 g2@3 f#3@3 g2@3 d3@3 f#3 f#3@2 d3@3",
  W: "b2@3 f#3@3 b2@3 d3 d3@2 f#3@3 d3@3 g2@3 f#3@3", X: "g2@3 d3@3 [a2,d3]@6 b2@3 f#3@3 b2@3 d3 d3@2",
  Y: "[f#3@3 d3@3 a2@3 f#3@3 a2@3 d3@3 f#3!2 ~@4 g2@3 f#3@3 g2@3 d3 d3@2 f#3@3 d3@3 e2@3 b2 ~@2, ~@7 g3@7 ~@2]/2",
  Z: "f#2@3 b2 ~@2 b2@3 f#3@3 b2@3 d3 d3@2 f#3@3 d3@3", AA: "[a2,d3]@6 b2@3 f#3@3 b2@3 d3 d3@2 f#3@3 d3@3",
  AB: "[a2@3 f#3@3 a2@3 d3@3 f#3 f#3@2 ~@3 g2@3 f#3@3 g2@3 d3 d3@2 f#3@3 d3@3 e2@3 b2 ~@2 f#2@3 b2 ~@2, ~@5 g3@7 ~@4]/2",
  AC: "[g2,d3,g3]@3 [a2,e3,a3] [b2,f#3,b3] [a2,e3,a3] [g2,d3,g3]@2", // G5 A5 B5 A5 G5
  AD: "[f#2,c#3,f#3]@2 [b2,f#3,b3]@2 [a2,e3,a3]@3 [b2,f#3,b3]", AE: "[c#3,g#3,c#4] [b2,f#3,b3] [a2,e3,a3]@2 c3@2 c#3@2",
  AF: "d3/3", AG: "g2@3 d3@3 f#3 f#3@2 d3@3 b2@3 f#3@3 b2@3 d3 d3@2", AH: "f#3 d3 g2 f#3 g2 d3 [a2,d3]@2",
  AI: "b2@3 f#3@3 b2@3 d3 d3@2 f#3@3 d3@3 a2@3 f#3@3",
  AJ: "[a2@3 d3@3 f#3 f#3@2 ~@3 g2@3 f#3@3 g2@3 d3 d3@2 f#3@3 d3@3 e2@3 b2 ~@2 f#2@3 b2 ~@2 b2@3 f#3@3, ~@3 g3@7 ~@6]/2",
  AK: "f#3 f#3@2 d3@3 b2@3 f#3@3 b2@3 d3 d3@2 f#3@3 d3@3", AL: "g2 f#3 g2 d3 [a2,d3]@2 b2 f#3",
  AM: "f#3 f#3@2 ~@3 g2@3 f#3@3 g2@3 d3 d3@2 f#3@3 d3@3, ~ g3@7",
  AN: "e2@3 b2 ~@2 f#2@3 b2 ~@2 [g2,d3,g3]@9 [a2,e3,a3]@3", // G5 A5
  AO: "[b2,f#3,b3] [a2,e3,a3] [g2,d3,g3]@2 [f#2,c#3,f#3]@2 [b2,f#3,b3]@2", // B5 A5 G5 F#5 B5
  AP: "[a2,e3,a3]@3 [b2,f#3,b3] [c#3,g#3,c#4] [b2,f#3,b3] [a2,e3,a3]@2", // A5 B5 C#5 B5 A5
  AQ: "[c3@6 c#3@6 d3@66 ~ f#4@2 d4 f#4@2 a4@6 a4@3 g4@3, ~@39 a4 ~@8]/4", AR: "f#4@3 e4@3 f#4@3 g4 f#4@2 d4@12",
  AS: "[d5@3 c5@3 b4@3 a4@3 b4@3 c5@3 g4@12 ~ f#5@2 d5 f#5@2 a5@6 a5@3 g5@3, ~@15 a5 ~@8]/2",
  AT: "f#5@3 g5 f#5@2 d5@6 d5@3 f#5@3 g5@3 a5@3",
  AU: "[b5 a5 g5 b5 a5 g5 b5 a5 g5 f#5 g5@2 ~ f#5@2 d5@15 ~@6 [d4,g4]@6 [d4,g4]@3 g4@3 f#4@3 [d4,f#4]@3 [g4,c5]@3 [g4,c5]@3 [g4,c5]@3 [g4,c5]@3 [g4,b4]@3 ~@3, ~@12 e5@2 ~@31 d4@6 ~@21]/3", // G5 D C5 G
  AV: "c6 a5 f5 c6 a5 f5 c6 a5 f5 c6 a5 f5 c6 a5 f5 c6 a5 f5 ~ f5@2 e5@3, ~@9 [e5,c6] ~@2", // C
  AW: "~ f5@2 e5@9 [g2,d3,g3]@9 [a2,e3,a3]@3, [e5,c6] ~@11", // G5 A5 C
  AX: "[b2,f#3,b3] [a2,e3,a3] [g2,d3,g3]@2 [f#2,c#3,f#3]@2 [g2,f#3,b3]@2", // B5 A5 G5 F#5 Gmaj7
  AY: "[b2,f#3,b3]@2 [c#3,g#3,c#4]@2 [g2,d3,g3]@3 [a2,e3,a3]", AZ: "[e3,a3]@3 [d3,g3] [e3,a3] [f#3,a3] [g3,b3]@2",
  BA: "[g3,b3] [a3,c4] [g3,b3]@2 [b3,d#4,f#4]@4", BB: "[b3,d#4,f#4]@6 ~ a3@2 g3@15, ~@3 b3 ~@8",
  BC: "[e3,g3]!3 [e3,a3] [e3,g3] d3 [d3,f#3]!2", BD: "[d3,f#3] [d3,g3] [d3,f#3]@2 [b2,f#3,b3]@3 f#2",
  BE: "[b2,f#3,b3]@3 f#2@3 [c3,g3,c4]@3 [c3,g3] [c3,g3]@2 [c3,g3,c4]@3 g2@3 [c3,g3,c4]@3 g2@3", BF: "[e2,e3,g3]/2",
  BG: "e2!6 [e2,b2,e3]@3 ~@3 e2!6 [e2,b2,e3]@3 ~@3", BH: "e2!6 [e2,b2,e3]@6 e2!6 [e2,b2,e3]@3 ~@3",
  BI: "e2!6 [e2,b2,e3]@6 e2!6 [b2,e3]@3 [c3,f3]@3", BJ: "e2!6 [b2,e3]@3 ~@3 e2!6 [b2,e3]@3 ~@3",
  BK: "e2!6 [b2,e3]@3 ~@3 e2!6 [b2,e3]@3 [c3,f3]@3", BL: "e2!6 e3@6 e2!6 e3@3 f3@3", BM: "e2!6 d3@6 e2!6 d3@3 f3@3",
  BN: "e2!6 d3@6 e2!6 d3@3 b2@3", BO: "e2!6 [b2,e3]@3 e2!6 [b2,e3]@3 e2!3 [c3,f3]@3",
  BP: "e2!6 e2@2 ~ e2!6 e2@2 ~ e2!3 e2@2 ~", BQ: "e2!6 e2@2 ~ e2!7 ~@2 e2!6", BR: "e2!6 e2@2 ~ e2!7 ~@2 e2!3 e2@2 ~",
  BS: "e2!7 ~@2 e2!7 ~@2 e2!6", BT: "e2!6 [e2,b2,e3]@3 [e2,b2,e3]@3 e2!6 [e2,b2,e3]@3 [e2,b2,e3]@3",
  BU: "e2!6 [b2,e3]@3 [c3,f3]@3 g2!6 [g2,d3,g3]@3 [g2,d3,g3]@3", // E5 F5 G5
  BV: "g2!6 [g2,d3,g3]@3 [g2,d3,g3]@3 g2!6 [g2,d3,g3]@3 [g2,d3,g3]@3", // G5
  BW: "g2!6 [d3,g3]@3 [d#3,g#3]@3 f2!6 [f2,c3,f3]@3 [f2,c3,f3]@3", // G5 G#5 F5
  BX: "g2 g2@2 [g2,d3,g3]@3 g2!2 ~ [g2,d3,g3]@3 g2!2 ~ [g2,d3,g3]@3 g2!2 ~ [g2,d3,g3]@3", // G5
  BY: "f2!6 [f2,c3]@3 [f2,c3]@3 f2!6 [f2,c3]@3 [f2,c3]@3", // F5
  BZ: "g2!2 ~ [g2,d3,g3]@3 g2!2 ~ [g2,d3,g3]@3 g2 g2@2 [g2,d3,g3]@3 g2!2 ~ [g2,d3,g3]@3", // G5
  CA: "[e4,g4]!3 [d4,f#4]@3 [b3,d4]@3 [f#4,a4]!3 [e4,g4]@3 [b3,e4]@3 [g4,b4]!3 [f#4,a4]@3", // Em D Bm F#m Em E5 G F#m
  CB: "[g4,b4] [f#4,a4] [e4,g4] [f#4,a4]@3 [f#4,a4] [e4,g4] [d4,f#4] [e4,g4]@3 [e4,g4] [d4,f#4] [c#4,e4] [d4,f#4]@3 [d4,f#4] [c#4,e4] [b3,d4] [c4,e4]@3", // G F#m Em F#m Em D Em D …
  CC: "[g4,b4] [f#4,a4] [e4,g4] [f#4,a4]@3 [f#4,a4] [e4,g4] [d4,f#4] [e4,g4]@3 [a4,c5] [g4,b4] [f#4,a4] [g4,b4]@3 [g4,b4] [f#4,a4] [e4,g4] [f#4,a4]@3", // G F#m Em F#m Em D Em Am …
  CD: "[c#4,e4] [b3,d4] [a3,c#4] [b3,d4]@3 [b3,d4] [a3,c#4] [g3,b3] [a3,c#4]@3 [a3,c#4] [g3,b3] [f#3,a3] [g3,b3]@3 [f#3,b3] [e3,a3] [d3,g3] [f#3,a3]@3", // C#m Bm A Bm A G A G …
  CE: "g2!2 ~ [g2,d3,g3]@3 g2!2 ~ [g2,d3,g3]@3 g2!2 ~ [g2,d3,g3]@3 g2 g2@2 [g2,d3,g3]@3", // G5
  CF: "e2!6 [e2,b2,e3]@3 [e2,b2,e3]@3 f2!2 ~ [f2,c3,f#3]@3 f2!2 ~ [f2,c3,f#3]@3", // E5 F
  CG: "e2!6 [e2,b2,e3]@3 [e2,b2,e3]@3 f2 f2@2 [f2,c3,f#3]@3 f2!2 ~ [f2,c3,f#3]@3", // E5 F
  CH: "e2!6 [e2,b2,e3]@3 [e2,b2,e3]@3 f2!2 ~ [f2,c3,f#3]@3 f2 f2@2 [f2,c3,f#3]@3", // E5 F
  CI: "e2!6 [e2,b2,e3]@3 [e2,b2,e3]@3 g2!2 ~ [g2,d3,g3]@3 g2!2 ~ [g2,d3,g3]@3", // E5 G5
  CJ: "g2 g2@2 [g2,d3,g3]@3 g2!2 ~ [g2,d3,g3]@3 e2!6 [b2,e3]@3 e2!3", // G5 E5
  CK: "e2!3 [b2,e3]@3 e2!3 [c3,f3]@3 [e2,b2,e3]!6 [e2,b2,e3]@2 ~ [e2,b2,e3]!3", CL: "[e2,b2,e3]!4 ~@20",
})).s("gm_electric_guitar_clean").gain(0.49)

// other · electric guitar clean · "Electric Guitar (Riff A)"
const electric_guitar_clean_2 = note(`<
  ~@22 A B C D B C E ~@14 F G H F G I ~@14 A B C D B C D B C D B C J ~@7 K L M K L M K L M K L M ~@63 N@9 ~@14
>`.pickRestart({
  A: "~@4 d3 a3 g3 d4", B: "a3@3 g3@3 g3@6 b3 d4 b3!2 b3@2 b3 d4 b3 g3@3", C: "f3@2 g3 f4 c4 g3 e3 b3",
  D: "g3 b3 e4 b3 d3 a3 g3 d4", E: "g3 b3 c3@2 ~@4", F: "d3 a3 g3 d4 a3 g3 g3@2",
  G: "b3 d4 b3!2 b3@2 b3 d4 b3 g3@3 f3@6 g3@3 f4@3", H: "c4 g3 e3 b3 g3 b3 e4 b3", I: "c4 g3 e3 b3 g3 b3 c3@2",
  J: "g3 b3 e4 b3 ~@4", K: "[c3,e3]@3 [b2,d3] [c3,e3] [a2,d3] [g2,b2]@2", L: "[g2,d3,g3]!4 [b2,f#3,b3]@3 f#2",
  M: "[b2,f#3,b3] f#2 [c3,g3,c4]@3 g2 [c3,g3,c4] ~", N: "e2!6 [b2,e3]@3 e2!6 [b2,e3]@3 e2!3 [c3,f3]@3",
})).s("gm_electric_guitar_clean").gain(0.49)

// other · acoustic guitar steel · "Acoustic Guitar (Riff A1)"
const acoustic_guitar_steel = note(`<
  ~@22 A@2 B C@2 D E ~@14 F G H F G I ~@14 A@2 B C@2 B C@2 B C@2 B J ~@7 K L M K L M K L M K L M ~@86
>`.pickRestart({
  A: "[~@12 d3@3 d4@3 a3@3 d4@6 d4@3 e4@3 d4 e4 d4 c4 d4 c4 b3@6 b3@3]/2", B: "a3@2 a3 b3 c4@2 b3@2",
  C: "[g3@6 b3@3 g3@3 d3@3 d4@3 a3@3 d4@6 d4@3 e4@3 d4 e4 d4 c4 d4 c4 b3@6 b3@3]/2", D: "a3@2 a3 b3 c4 b3 a3@2",
  E: "g3 c3 ~@2", F: "d3@3 d4@3 a3@3 d4@6 d4@3 e4@3 d4 e4 d4", G: "c4 d4 c4 b3@6 b3@3 a3@6 a3@3 b3@3",
  H: "c4@2 b3@2 g3@2 b3 g3", I: "c4 b3 a3@2 g3@2 c3@2", J: "g3@2 b3 g3 ~@4",
  K: "[a2,e3] [a2,e3]@2 [a2,e3] [a2,e3]@2 [a2,e3]@3 b2@3 c3@3 a2@3 [g2,d3]@6", L: "[g2,d3]!4 [b2,f#3] f#2 [b2,f#3] f#2",
  M: "[b2,f#3]@3 f#2@3 ~ a2@2 g2@3 [c3,g3]@3 g2@3 [c3,g3]@3 a2@3, ~@3 [b2,g3] ~@8", // B5 C5 Em
})).s("gm_acoustic_guitar_steel").gain(0.49)

// other · overdriven guitar · "Guitar Solo"
const overdriven_guitar = note("<~@135 A B C D E F G H I J K L M N O P Q R S@4 T ~@23>".pickRestart({
  A: "[g5,b5] [e5,b5] [e5,g5] [g5,b5] [e5,b5] [e5,g5] [g5,b5] [e5,b5] [e5,g5] [e5,b5] [g5,b5] [e5,g5] [e5,c6] [g5,c6] [e5,g5] [e5,c6] [g5,b5] [e5,g5] [e5,c6] [g5,c6] [e5,g5] [e5,c6] [g5,c6] [e5,g5]", // G E5 Em G E5 Em G E5 …
  B: "[d5,f#5] [b4,f#5] [b4,d5] [d5,f#5] [b4,f#5] [b4,d5] [d5,f#5] [b4,f#5] [b4,d5] [d5,f#5] [b4,f#5] [b4,d5] [d5,g5] [b4,g5] [b4,d5] [d5,g5] [b4,g5] [b4,d5] [d5,g5] [b4,g5] [b4,d5] [d5,g5] [b4,g5] [b4,d5]", // D B5 Bm D B5 Bm D B5 …
  C: "[c5,e5] [a4,e5] [a4,c5] [a4,e5] [c5,e5] [a4,c5] [a4,e5] [c5,e5] [a4,c5] [a4,e5] [c5,e5] [a4,c5] [c5,f5] [a4,f5] [a4,c5] [c5,f5] [a4,f5] [a4,c5] [c5,f5] [a4,f5] [a4,c5] [a4,f5] [c5,f5] [a4,c5]", // C A5 Am A5 C Am A5 C …
  D: "[b4,e5] c#5 e5 b4 [a4,e5] ~ [b4,e5]@2 [a4,e5]@2 [g4,e5]@2 [a4,e5]@2 [g4,e5]@2 [f#4,e5]@2 [g4,e5]@2 [f#4,e5]@2 [e4,e5]@2", // E5 A5 E5 A5 C A5 C F#7 …
  E: "b4!7 b4@2 f#5!3 g5!3 a5!3 d5!3 a5!3", F: "d6@6 d6@3 d6@12 e5 g5 ~",
  G: "a5 g5 e5 d5 e5 f#5 [g5,a5] [e5,g5] ~ d5 e5 f#5 [g5,a5] [e5,g5] ~ c5 e5 f#5 [g5,a5] [e5,g5]@2 e5 f#5 g5", // Gsus2 Em Gsus2 Em Gsus2 Em
  H: "a5 g5 [d5,e5] e5 f#5 g5 a5 g5 [d5,e5] g5 a5 ~ b5 [g5,a5] d5 b5 [g5,a5] d5 [a5,b5] [d5,g5] ~ [a5,b5] [d5,g5] ~", // Dsus2 Gsus2 Asus2 G5 Asus2 G5
  I: "b5 a5 d5 b5 a5 d5 b5 a5 d5 b5 a5 g5 ~ g5 ~ f5 g5@2 f5 g5 ~@2 g5 ~, ~@12 f5@2 ~@7 f5@2 ~",
  J: "a#5 g5 ~@2 g5 ~ a#5 g5@2 f5 g5 ~ b5 a5 g5 a5@3 a5 g5 f#5 g5@3, ~@3 f5@2 ~@19",
  K: "f#5 e5 d5 e5@3 [d5,e5] [c5,d5] ~ d5@3 [c5,d5] [b4,c5]@2 c5@3 [b4,c5] [a4,b4] ~ b4 a4 g4", // Dsus2 Csus2 Cmaj7 Asus2
  L: "a4 g4 e4 g4 e4 g4 a4 ~ a4 ~ a4 ~ a4 ~ b4@8 [e4,g4] ~", M: "g4 e4 g4 e4 d#4 d4 b3 a#3 a3 g3@3",
  N: "g4 g4@2 [a#4,d5]@3 g4!2 ~ [a#4,d5]@3 g4!2 ~ [g#4,d5]@3 g4!2 ~ [a#4,d5]@3", // A# G#dim A#
  O: "[c5,e5]@9 [c5,e5]@9 [c5,e5] [a#4,d5] g4 [b4,d5]@3", // C A# Bm
  P: "g4!2 ~ [a4,d5]@3 g4!2 ~ [a4,d5]@3 g4 [c5,e5]@3 [c5,e5] ~ [b4,d5]@4 d4 ~", // D5 C Bm
  Q: "~ g5 ~ f5 g5@2 f5 g5 ~@2 g5 ~ f5 g5 ~@2 g5 ~ f5@6, f5@2 ~@7 f5@2 ~@4 f5@2 ~@7", R: "g2!6 g2@2 ~ g2!6 f#2!6 e2!3",
  S: "e2!6 [b2,e3]@3 e2!6 [b2,e3]@3 e2!3 [c3,f3]@3", T: "e2!6 e2@2 ~ d3!6 c#3!3 c3!3 b2!3",
})).s("gm_overdriven_guitar").gain(0.49)

// bass · electric bass pick · "Bass"
const bass = note(`<
  ~@14 A B C D E F G H I J K L J M@2 N O P Q R S T@2 U V@2 W X Y Z AA AB AC AA AD AE@2 AF AG@2 AH AI AJ AK@2 AL AM AN AO
  AP J K L J K L J K L J K AQ AN AO AR AN AO AR AN AS AT AU AV AW AX AY AT AZ AY AW BA BB BC BD BB BE AX BF@2 BG@2 BH
  BI@5 BG BJ BG BJ BK BL BK BM BG BJ BG BJ BN@4 BO BP BN@4 BQ BR BN@4 BR BS BT BS BT BU BV BU BV BW BX BY BX BZ BN@4 CA
  BN@13 CB BN BW CC CD CE CF CG CH CI
>`.pickRestart({
  A: "~@7 b1", B: "~ b1 ~ b1 ~ b1 b1@2", C: "b2 b1 c2 b1 g1@3 g1", D: "e1 f#1 b1@2 b2 b1 c2 b1, ~@18 b1 ~@5",
  E: "g1@3 g1 e1 f#1 b1@2", F: "b2 b1 c2 b1 a1@3 a1, ~@6 b1 ~@17",
  G: "~ g2 ~ e2@3 g1@9 g1@3 ~ f#1@2 g1@3, a2 ~@8 e1 ~@2", H: "e1@3 e1 f#1 c#2 g1@2", I: "d2 g1 a1 e2 d2 a2 d2 d3",
  J: "e2 c2 g1@2 g2 g1 a1 g1", K: "f1@2 f2 f1 f2 f1 e1 b1", L: "e2 b1 e2 b1 d2 a2 d2 d3",
  M: "[f1@2 f2 f1 f2 f1 e1@3 e1 c2@2 b1@3 b2, ~@30 b1 ~@17]/2", N: "c2 b1 g1@3 g1 e1 f#1", O: "b1 b2@2 b1 c2 b1 g1@2",
  P: "g1 a1 d2@2 b1@3 b1, ~@6 b1 ~@17", Q: "~ c2@2 b1@3 a1@9 a1@3 ~ g2 ~ e2@3, b1 ~@8 a2 ~@2",
  R: "g1@9 g1@3 ~ f#1@2 g1@3 e1@3 b1 ~@2, ~@6 e1 ~@5", S: "f#1@3 b1 ~@2 b1@6 b2@3 b1@3 c2@3 b1@3, ~@18 b1 ~@5",
  T: "[g1@3 g1 e1 f#1 b1@3 b1 c2 b1 g1@2 g1 a1, ~@30 b1 ~@17]/2", U: "d2@2 b1@3 b1 c2 b1, b1 ~@17 b1 ~@5",
  V: "[a1@9 a1@3 ~ g2@2 e2@3 g1@9 g1@3 ~ f#1@2 g1@3 e1@6 f#1@3 e1@3, ~@6 a2 ~@8 e1 ~@8]/2", W: "g1@3 a1 b1 a1 g1@2",
  X: "f#1@2 b1@2 a1@3 b1", Y: "c#2 b1 a1@2 c2 g2 c#2 g#2", Z: "d2@2 a2 d2 e2 c2 g1@2", AA: "g2 g1 a1 g1 f1@2 f2 f1",
  AB: "f2 f1 e1 b1 e2 b1 e2 b1", AC: "d2 a2 d2 d3 e2 c2 g1@2", AD: "f2 f1 e1@3 e1 c2@2, ~@18 b1 ~@5",
  AE: "[b1@3 b2 c2 b1 g1@3 g1 e1 f#1 b1 b2@2 b1]/2", AF: "c2 b1 g1@2 g1 a1 d2@2, ~@18 b1 ~@5",
  AG: "[b1@9 b1@3 ~ c2 ~ b1@3 a1@9 a1@3 ~ g2@2 e2@3 g1@9 g1@3, ~@6 b1 ~@8 a2 ~@8]/2",
  AH: "~ f#1@2 g1@3 e1@3 b1 ~@2 f#1@3 b1 ~@2 b1@6, e1 ~@11", AI: "b2 b1 c2 b1 g1@3 g1, ~@6 b1 ~@17",
  AJ: "e1 f#1 b1@3 b1 c2 b1, ~@18 b1 ~@5", AK: "[g1@2 g1 a1 d2@2 b1@3 b1 c2 b1 a1@3 a1, ~@12 b1 ~@17 b1 ~@17]/2",
  AL: "~ g2@2 e2@3 g1@9 g1@3 ~ f#1@2 g1@3, a2 ~@8 e1 ~@2", AM: "e1@2 f#1 e1 g1@3 a1", AN: "b1 a1 g1@2 f#1@2 b1@2",
  AO: "a1@3 b1 c#2 b1 a1@2", AP: "c2 g2 c#2 g#2 d2@2 a2 d2", AQ: "e2 b1 e2 b1 g1@3 a1", AR: "b1@2 c#2@2 g1@3 a1",
  AS: "a1@2 d2 a1!2 d2 g1!2", AT: "g1 d2 g1 e1 b1@2 b1 e1", AU: "b1 e1 c2@2 c2 f1 c2 e1", AV: "a1!2 d2 a1 d2 a1 g1!2",
  AW: "g1 a1 g1 e1 b1@2 b1 e1", AX: "b1@3 a1@3 c2@3 c2 c2@2 c2@3 f1@3 c2@3 e1@3", AY: "a1 d2 a2 d2 a1 e1 g1!2",
  AZ: "b1 e1 c2!3 f1 c2 e1", BA: "b1@3 a1@3 c2@3 c2 c2@2 c2@3 f1@3 c2@6", BB: "e2!3 a2 e2 a1 d2!2",
  BC: "d2 a2 d2@2 b1@3 e1", BD: "b1 a1 c2!3 f1 c2@2", BE: "d2 a2 d2@2 b1@2 b1 a1", BF: "[e1,e2]/2",
  BG: "e1!6 [e1,e2]@3 ~@3 e1!6 [e1,e2]@3 ~@3", BH: "e1!6 [e1,e2]@6 e1!6 [e1,e2]@3 ~@3",
  BI: "e1!6 [e1,e2]@6 e1!6 e1@3 f1@3", BJ: "e1!6 [e1,e2]@3 ~@3 e1!6 e1@3 f1@3", BK: "e1!6 e2@6 e1!6 e2@3 f2@3",
  BL: "e1!6 d2@6 e1!6 d2@3 f2@3", BM: "e1!6 d2@6 e1!6 b1@3 f1@3", BN: "e1!6 b1@3 e1!6 b1@3 e1!3 c2@3",
  BO: "[e1,e2]!6 [e1,e2]@2 ~ [e1,e2]!6 [e1,e2]@2 ~ [e1,e2]!3 [e1,e2]@2 ~", // E
  BP: "[e1,e2]!6 [e1,e2]@2 ~ [e1,e2]!7 ~@2 [e1,e2]!6", BQ: "[e1,e2]!6 [e1,e2]@2 ~ [e1,e2]!7 ~@2 [e1,e2]!3 [e1,e2]@2 ~",
  BR: "[e1,e2]!7 ~@2 [e1,e2]!7 ~@2 [e1,e2]!6", BS: "e1!6 [e1,e2]@3 [e1,e2]@3 e1!6 [e1,e2]@3 [e1,e2]@3",
  BT: "e1!6 e1@3 f1@3 g1!6 g1@3 g1@3", BU: "g1!6 d2@3 d2@3 g1!6 d2@3 d2@3", BV: "g1!6 d2@3 d#2@3 f1!6 f1@3 f1@3",
  BW: "e1 e1@2 g1@3 e1!2 ~ g1@3 e1!2 ~ g1@3 e1!2 ~ g1@3", BX: "f1!6 f1@3 f1@3 f1!6 f1@3 f1@3",
  BY: "e1!2 ~ g1@3 e1!2 ~ g1@3 e1 e1@2 g1@3 e1!2 ~ g1@3", BZ: "g1!6 g1@2 ~ d2!6 c#2!3 c2!3 b1!3",
  CA: "e2!6 e2@2 ~ d2!6 c#2!3 c2!3 b1!3", CB: "e1!2 ~ g1@3 e1!2 ~ g1@3 e1!2 ~ g1@3 e1 e1@2 g1@3",
  CC: "e1!6 [e1,e2]@3 [e1,e2]@3 f1!2 ~ f1@3 f1!2 ~ f1@3", CD: "e1!6 [e1,e2]@3 [e1,e2]@3 f1 f1@2 f1@3 f1!2 ~ f1@3",
  CE: "e1!6 [e1,e2]@3 [e1,e2]@3 f1!2 ~ f1@3 f1 f1@2 f1@3", CF: "e1!6 [e1,e2]@3 [e1,e2]@3 g1!2 ~ g1@3 g1!2 ~ g1@3",
  CG: "g1 g1@2 g1@3 g1!2 ~ g1@3 e1!6 b1@3 e1!3", CH: "e1!3 b1@3 e1!3 c2@3 [e1,e2]!6 [e1,e2]@2 ~ [e1,e3]!3",
  CI: "[e1,e3]!4 ~@20", // E
})).s("gm_electric_bass_pick").gain(0.49)

// drums · kick
const kick = s("bd").struct(`<
  ~@7 A B@6 C D E F G E H G I J K L M N O P Q R J G S T U V T W X Y Z K AA AB AC AD AE Q C J K AA AF AG AH G AG AI AJ AK
  X AL J AC AA AM N AA P AN AO AP AQ AR AK X AS AK X AT AU X Y AK AV AW@2 AX X AK AY X@2 AZ@27 BA BB BC BD BC ~@2 BE BC
  BD BE ~@2 BE BC BE BC ~ BF BG BH BD BI BD BF BD BJ BD BJ BD ~ BE@2 BB BE ~ BK BL BM BL@2 BN BO BM BP BQ@3 BR BJ BE BJ
  BS@4 BT BU ~
>`.pickRestart({
  A: "~@3 x ~ x!2 ~", B: "~@3 x ~@5 x ~@2 x ~@3 x ~ x ~@5", C: "~ x ~ x!2 ~@2 x", D: "~ x ~ x ~ x!2 ~",
  E: "~@3 x ~@3 x ~@2 x ~ x ~@8 x ~@2", F: "~@3 x ~@2 x ~@8 x ~@3 x ~@2 x ~", G: "x ~@2 x ~@2 x ~",
  H: "~ x!2 ~@2 x ~ x", I: "~@6 x ~@3 x!2 ~@9 x ~@2", J: "~ x ~@2 x ~ x ~@8 x ~@8", K: "x ~@8 x ~@3 x ~@2 x ~ x ~@5",
  L: "~@7 x", M: "~ x ~@2 x ~ x ~@8 x ~@3 x ~@2 x ~", N: "~@9 x ~@3 x ~@2 x ~@7", O: "~@4 x!2 ~ x ~@4 x ~@8 x ~@2",
  P: "~ x ~@2 x ~ x ~@8 x ~@5 x ~@2", Q: "x ~@8 x ~@3 x ~@4 x ~@5", R: "~ x!2 ~ x ~@2 x", S: "x ~@5 x ~@8 x ~@3 x ~@4",
  T: "x ~@2 x ~ x!2 ~", U: "~@3 x ~@3 x ~@2 x ~@10 x ~@2", V: "~@6 x ~@8 x ~@3 x ~@2 x ~",
  W: "~@3 x ~@3 x ~@4 x ~@5 x ~@5", X: "x!2", Y: "x ~@2 x!2 ~@3", Z: "x ~@11 x ~@3 x!2 ~@6", AA: "~ x ~@2 x ~@2 x",
  AB: "~ x ~@2 x ~@19", AC: "x ~@8 x ~@3 x ~@2 x ~@7", AD: "~@3 x ~@8 x ~@9 x!2", AE: "~@6 x ~@9 x!2 ~ x ~@4",
  AF: "~ x ~@4 x ~@5 x ~@5 x ~@5", AG: "~@3 x ~@3 x ~@4 x ~@8 x ~@2", AH: "~@15 x ~@3 x ~@4",
  AI: "~@3 x ~@2 x ~@8 x ~@3 x ~@4", AJ: "x!3 ~", AK: "x ~@3 x ~@2 x", AL: "x ~@3 x!2 ~@6 x ~@8 x ~@2",
  AM: "~ x ~@4 x ~@8 x ~@3 x ~@2 x ~", AN: "~@3 x!3 ~@2", AO: "~@4 x ~@2 x", AP: "~ x ~@2 x ~@11 x!2 ~@6",
  AQ: "~@3 x ~@4", AR: "~ x ~@2 x ~@3", AS: "x ~@3 x!2 ~@6 x ~@11", AT: "x ~@3 x!2 ~@18", AU: "~ x!3",
  AV: "x ~@3 x!2 ~@12 x ~@5", AW: "~ x ~ x", AX: "~ x", AY: "~ x ~ x ~@2", AZ: "x!6 ~@6 x!6 ~@6",
  BA: "x!6 ~@6 x ~@5 x!2 ~@4", BB: "x ~@5 x ~@3 x ~@2 x ~@2 x ~@2 x!2 ~@3", BC: "x ~@6 x ~@2 x ~@2 x ~@2 x ~@2 x ~@4",
  BD: "x ~@3 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x!2 ~@3", BE: "x ~@6 x ~@2 x ~@2 x ~@2 x ~@2 x!2 ~@3",
  BF: "x ~@3 x ~@2 x ~@4 x ~@6 x!2 ~@3", BG: "x ~@3 x ~@2 x ~@2 x ~@2 x ~@5 x ~@4",
  BH: "x ~@3 x ~@2 x!2 ~@3 x ~@6 x!2 ~@3", BI: "x ~@3 x ~@2 x ~@4 x ~@3 x ~@2 x!2 ~@3",
  BJ: "x!2 ~@4 x!2 ~@4 x!2 ~@4 x!2 ~@4", BK: "x ~@6 x ~@2 x ~@2 x ~@4 x ~@5",
  BL: "~ x ~@2 x ~@2 x ~@2 x ~@2 x!2 ~@3 x ~@5", BM: "~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@5 x!2 ~@3",
  BN: "~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@4 x ~@5", BO: "~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@4",
  BP: "x ~@3 x ~@2 x ~@4 x ~@2 x ~@2 x ~@2 x ~@2", BQ: "x!4", BR: "x ~@5 x ~@5 x ~@6 x!2 ~@3",
  BS: "x ~@3 x ~@2 x!2 ~@3 x!2 ~@4 x!2 ~@4", BT: "x!2 ~@4 x!2 ~@4 x ~@5 x ~@5", BU: "x!2 ~@2",
})).gain(0.49)

// drums · snare
// … 57 more lines

More by Metallica