Strudelify

Dyers Eve

Metallica

KeyE minorTempo204 bpm
0:00/0:00
// Dyers Eve — Metallica
// 204 bpm, 4/4, key E minor. Source: 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, 3/4 at bar 103, 4/4 at bar 104, 3/4 at bar 156, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 2 "Guitar 1" distortion guitar (copy of ch 3 "Guitar 2" overdriven guitar)
// note: Full arrangement: all 257 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(204/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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.

// other · overdriven guitar · "Guitar 2"
const overdriven_guitar = note(`<
  A B C D E F G@2 H I J@2 K L M H I J@2 K L M N@6 ~ O P@2 Q O R O Q S@2 T U V W T U X Y T Z O P@2 Q O R O Q AA AB AC AD
  AE AB AC AF AG AH AI AD AJ AK P@2 AB AC AD AE AB AC AF AG AH AI AD AJ AL O P@2 Q AM T U AA AN@4 AO@2 AP@2 AQ AR@2 AS
  AT AU@2 AS AV AW@4 AX@4 AY@4 AZ@2 AR BA@4 AX@4 AY@4 BB BC AR@2 AS BD BE BF BG BH BI BJ BK@2 BL@3 BM BN@3 BO BN BP BN
  BQ K L BR H I BS BT K L BR BU@2 BV@2 BW BX@3 BY BZ CA CB CC CD CE CF@2 CG CH@4 CI CJ CK@2 CL CM CN CO CP CQ@2 CR@4 CS
  CT CU CV CW CX CY CZ DA DB DC DD@3 DE DF DG DH DI DJ DK@2 DL@2 DM DN DO@4 DP@6 AI DQ@2 DR DS@2 DT@3 DU
>`.pickRestart({
  A: "~@4 b2 c3 b2 c3", B: "b2 c3 b2 c3 e2 ~@3", C: "f2 ~@3 e2 ~@3", D: "g2 e2 ~ f2", E: "~@2 e2@2 ~@2 e2 f2",
  F: "e2 f2", G: "[e2@2 g2 e2@2 f2@2 e2]/2", H: "e2 f2 e2 f2 e2@2 e2!2", I: "f2@2 e2!2 e2@2 e2!2",
  J: "[g2@4 e2@4 e2@2 e2@2 f2@3 e2@2 e2@2 ~ e2@4 e2@2 f2@2 e2@2 f2@2]/2", K: "e2@2 e2!2 f2@2 e2!2",
  L: "e2@2 e2!2 g2@2 e2@2", M: "e2!2 f2@2 e2!2 e2@2", N: "[e2 f2 e2 f2 e2@43 ~]/6",
  O: "[b2,f#3]@2 b2 c3 b2 c3 b2 c3 [b2,f#3]@4 [a2,f#3]@2 [b2,f#3]@2", // B5 D B5
  P: "b2 c3 b2 c3 b2 c3 b2 c3 [b2,f#3]@4 [a2,f#3]@2 [b2,f#3]@2", Q: "b2 c3 b2 c3 b2 c3 b2 c3 c3@2 b2@2 g3@2 f#3@2",
  R: "b2 c3 b2 c3 b2 c3 b2 c3 [b2,f#3]@6 [a2,f#3]@2", S: "[e2,b2]@2 ~@3 g2!3 [e2,b2]@2 ~@3 g2!3",
  T: "[b2,f#3]@2 b2 c3 b2 c3 b2 c3 a2@2 b2@2 a2@2 b2@2", // B5
  U: "[c3,g3]@4 [c3,g3]@2 [c3,g3]@2 [b2,f#3]@2 [b2,f#3]@2 g2 f#2 e2@2", // C5 B5
  V: "[e2,b2]@4 g2 f#2 e2@2 [e2,b2]@4 g2 f#2 e2@2", W: "[d3,a3]@4 g2 f#2 e2@2 [c3,g3]@4 g2 f#2 e2@2",
  X: "[b2,e3] ~ [e3,b3] ~", Y: "[d3,a3] ~ [c3,g3] ~", Z: "[c3,g3]@2 [c3,g3]!2 [b2,f#3] [b2,f#3]@3",
  AA: "[e2,b2]@4 g2 f#2 e2@2 [e2,b2]@2 ~@2 [e2,b2]@3 ~", AB: "[f#2,c#3]", AC: "[g2,d3]", AD: "[a2,e3]",
  AE: "[e2,b2]@5 e2 [c3,g3]@2", AF: "[e2,b2]", AG: "[a2,e3]@5 e2 [g2,d3]@2", AH: "[f#2,c#3,f#3,c#4]", AI: "[d3,a3]",
  AJ: "[g2,d3] ~@3", AK: "[c3,g3] [b2,f#3]@3 [b2,f#3] [c3,g3]@3", AL: "c3!3 ~ e2 ~ c3!3 ~ e2 ~ [c3,g3]@4",
  AM: "[e2,b2]@2 ~@4 g2!2 [e2,b2]@2 ~@4 g2!2", // E5
  AN: "[[e2,b2]@2 e2@2 e2@2 e2@2 ~ e2!2 e2@2 e2@2 e2@2 [e2,b2]@4 g2!2 e2@2 ~ [e2,b2]@2 ~@2 [e2,b2]@4 d3!2 d3@2 [d3,a3]@4 ~ d3!2 d3@2 [d3,a3]@4 [e2,b2]@4 g2 f#2 e2@2 ~ [e2,b2]@2 ~@2]/4", // E5 D5 E5
  AO: "[[e2,b2]@3 ~ [e2,b2]@2 e2@2 e2@2 e2@2 ~ e2!2 e2@2 e2@2 e2@2 [e2,b2]@4 g2@2 e2@2 ~ [e2,b2]@2]/2", // E5
  AP: "[~@2 [e2,b2]@4 a2 b2 c3@2 [c3,g3]@4 ~ [c3,g3]@4 c3!2 b2 ~ b2!3 ~ b2!3 ~@2]/2", // E5 C5
  AQ: "b2!3 ~ [b2,f#3]@2 b2 c3 b2 c3 b2 c3 [b2,f#3]@4", AR: "[a2,f#3]@2 [b2,f#3]@2 b2 c3 b2 c3 b2 c3 b2 c3 [b2,f#3]@4",
  AS: "[a2,f#3]@2 [b2,f#3]@2 b2 c3 b2 c3 b2 c3 b2 c3 c3@2 b2@2", // D B5
  AT: "g3@2 f#3@2 [b2,f#3]@2 b2 c3 b2 c3 b2 c3 [b2,f#3]@4", // B5
  AU: "[[a2,f#3]@2 [b2,f#3]@2 b2 c3 b2 c3 b2 c3 b2 c3 [b2,f#3]@6 [a2,f#3]@2 [b2,f#3]@2 b2 c3 b2 c3 b2 c3 [b2,f#3]@4]/2", // D B5 D B5
  AV: "g3@2 f#3@2 [e2,b2]@4 g2 f#2 e2@2 [e2,b2]@2 ~@2", // E5
  AW: "[[e2,b2]@3 ~ [f#2,c#3]@16 [g2,d3]@16 [a2,e3]@16 [e2,b2]@10 e2@2]/4", // E5 F#5 G5 A5 E5
  AX: "[[c3,g3]@2 [f#2,c#3]@8 [g2,d3]@8 [e2,b2]@8 [a2,e3]@5 e2]/4", // C5 F#5 G5 E5 A5
  AY: "[[g2,d3] [f#2,c#3,f#3,c#4]@4 [d3,a3]@4 [a2,e3]@4 [g2,d3] ~@2]/4", // G5 F#5 D5 A5 G5
  AZ: "[~@4 [c3,g3]@2 [b2,f#3]@6 [b2,f#3]@2 [c3,g3]@6 b2 c3 b2 c3 b2 c3 b2 c3 [b2,f#3]@4]/2", // C5 B5 C5 B5
  BA: "[[a2,f#3] [b2,f#3] [f#2,c#3]@8 [g2,d3]@8 [a2,e3]@8 [e2,b2]@5 e2]/4", BB: "~@4 c3!3 ~ e2 ~ c3!3 ~ e2 ~",
  BC: "[c3,g3]@4 [b2,f#3]@2 b2 c3 b2 c3 b2 c3 [b2,f#3]@4", BD: "g3@2 f#3@2 [e2,b2]@2 ~@4 g2!2 [e2,b2]@2 ~@2",
  BE: "~@2 g2!2 [b2,f#3]@2 b2 c3 b2 c3 b2 c3 a2@2 b2@2", BF: "a2 b2 [c3,g3]@2 [c3,g3]!2 [b2,f#3]!2",
  BG: "g2 f#2 e2@2 [e2,b2]@4 g2 f#2 e2@2 [e2,b2]@2 ~@2", BH: "[e2,b2]@3 ~ [e2,b2]@2 e2@2 e2@2 e2@2 e2!2 e2@2",
  BI: "~ e2@2 e2@2 [e2,b2]@4 g2!2 e2@2 [e2,b2]@2 ~", BJ: "~@2 [e2,b2]@4 d3!2 d3@2 [d3,a3]@4 d3!2",
  BK: "[d3@2 ~ [d3,a3]@4 [e2,b2]@4 g2 f#2 e2@2 [e2,b2]@2 ~@3 [e2,b2]@3 ~ [e2,b2]@2 e2@2 e2@2 e2@2]/2", // D5 E5
  BL: "[e2!2 e2@2 ~ e2@2 e2@2 [e2,b2]@4 g2@2 e2@2 [e2,b2]@2 ~@3 [e2,b2]@4 a2 b2 c3@2 [c3,g3]@4 [c3,g3]@4 ~ c3!2 b2 ~ b2!3 ~ b2]/3", // E5 C5
  BM: "b2!2 ~ b2!3 ~@2 [b2,f#3]@2 b2 c3 b2 c3 b2 c3", BN: "[b2,f#3]@4 [a2,f#3]@2 [b2,f#3]@2 b2 c3 b2 c3 b2 c3 b2 c3",
  BO: "c3@2 b2@2 g3@2 f#3@2 [b2,f#3]@2 b2 c3 b2 c3 b2 c3", BP: "[b2,f#3]@6 [a2,f#3]@2 [b2,f#3]@2 b2 c3 b2 c3 b2 c3",
  BQ: "b2 c3 b2 c3 b2 a2 g2 f#2", BR: "e2@2 e2@2 f2@3 e2@2 e2@2 ~ e2@4", BS: "g2@2 e2@2 e2!2 f2@2",
  BT: "e2!2 e2@2 e2 f2 e2 f2", BU: "[e2@2 f2@2 e2@2 f2@2 e2@2 f2@2 e2@2 ~ f2@2 e2!8 [b2,f#3]@4 ~ [a2,f#3]@2]/2",
  BV: "[[b2,f#3]@2 e2!8 [b2,f#3]@4 ~ [a2,f#3]@2 [b2,f#3]@2 e2!7 ~ e2 [b2,f#3]@4]/2", // B5 D B5
  BW: "[a2,f#3]@2 [b2,f#3]@2 e2!4 ~ e2!5 ~ f2", // D B5
  BX: "[~ e2 ~ f2 ~ e2!2 ~ e2!6 [b2,f#3]@4 [a2,f#3]@2 [b2,f#3]@2 ~ e2!8 [b2,f#3]@4 [a2,f#3]@2 ~ [b2,f#3]@2 e2!8]/3", // B5 D B5 D B5
  BY: "[b2,f#3]@4 ~ [a2,f#3]@2 [b2,f#3]@2 e2!7", BZ: "e2 ~ e2 ~ f2 ~ e2 ~ f2 ~ f#2!6",
  CA: "~ f#2!2 [f#2,c#3]@4 [e2,c#3]@2 [f#2,c#3]@2 f#2!3 ~ f#2", // F#5 C#m F#5
  CB: "f#2!4 [f#2,c#3]@4 [e2,c#3]@2 [f#2,c#3]@2 f#2 ~ f#2!2", CC: "f#2!5 [f#2,c#3]@4 [e2,c#3]@2 ~ [f#2,c#3]@2 f#2!2",
  CD: "f#2!7 ~ g2 ~@2 f#2 ~ g2 ~ f#2", CE: "f#2!7 [f#2,c#3]@4 ~ [e2,c#3]@2 [f#2,c#3]@2",
  CF: "[f#2!7 ~ f#2 [f#2,c#3]@4 [e2,c#3]@2 [f#2,c#3]@2 f#2!5 ~ f#2!3 [f#2,c#3]@4 [e2,c#3]@2]/2", // F#5 C#m F#5 C#m
  CG: "[f#2,c#3]@2 f#2!2 ~ f#2!6 [f#2,c#3]!3 ~ [f#2,c#3]", // F#5
  CH: "[[f#2,c#3]!2 ~@2 [f#2,c#3]!3 ~ [f#2,c#3]!3 ~ [f#2,c#3]@17 [g2,d3]@17 [a2,e3]@17 ~]/4", // F#5 G5 A5
  CI: "[e2,b2]@8 e2 ~ [f#2,b2]@2 ~ [g2,c3]@3", CJ: "~ f#2!8 [f#2,c#3]@4 ~ [e2,c#3]@2",
  CK: "[[f#2,c#3]@2 f#2!7 ~ f#2 [f#2,c#3]@4 [e2,c#3]@2 [f#2,c#3]@2 f#2!4 ~ f#2!4 [f#2,c#3]@4]/2", // F#5 C#m F#5
  CL: "[e2,c#3]@2 [f#2,c#3]@2 f#2!2 ~ f#2!6 [f#2,c#3]!3", // C#m F#5
  CM: "~ [f#2,c#3]!3 ~@2 [f#2,c#3]!3 ~ [f#2,c#3]!3 ~ [f#2,c#3]!2", // F#5
  CN: "[f#2,c#3] ~ [f#2,c#3] ~ [f#2,c#3]!2 ~ [f#2,c#3]!3 ~ [f#2,c#3]!3 ~ e2", // F#5
  CO: "e2!2 ~ e2!5 [b2,f#3]@4 [a2,f#3]@2 [b2,f#3]@2", CP: "~ e2!8 [b2,f#3]@4 [a2,f#3]@2 ~",
  CQ: "[[b2,f#3]@2 e2!8 [b2,f#3]@4 ~ [a2,f#3]@2 [b2,f#3]@2 e2!9 ~@2 f2 ~]/2", // B5 D B5
  CR: "[e2 ~ f2 ~ [f#2,c#3]@17 [g2,d3]@17 [a2,e3]@17 ~ g2!8]/4", CS: "g2!5 ~ g2!10", CT: "g2!3 ~ g2!6 [g2,d3] ~@5",
  CU: "~@9 [g2,d3] ~ [g2,d3] ~@4", CV: "~@12 e2 ~ e2 ~", CW: "e2!2 ~ e2!2 [e2,b2,e3]@4 [a2,d3]@2 [e2,b2,e3]@2 e2 ~@2",
  CX: "e2!3 ~ e2!2 [e2,b2,e3]@4 [a2,d3]@2 ~ [e2,b2,e3]@2 e2", CY: "~ e2!3 ~ e2!2 [e2,b2,e3]@4 ~ [a2,d3]@2 [e2,b2,e3]@2",
  CZ: "e2 ~ e2!3 ~ e2!3 ~@2 f2 ~ e2 ~ f2", DA: "~ e2 ~ e2!3 ~ e2 ~ e2 [e2,b2,e3]@4 [a2,d3]@2",
  DB: "[e2,b2,e3]@2 e2 ~ e2!3 ~@2 e2!2 [e2,b2,e3]@5", DC: "~ [a2,d3]@2 [e2,b2,e3]@2 ~ e2!3 ~ e2!2 [e2,b2,e3]@4",
  DD: "[[a2,d3]@2 [e2,b2,e3]@2 ~ e2 ~ e2!3 ~ e2!3 ~ [f2,c3,f3]@2 ~@3 [f2,c3,f3]@2 [e2,b2,e3]@2 e2!3 ~ e2!2 [e2,b2,e3]@4 ~ [a2,d3]@2 [e2,b2,e3]@2 e2 ~ e2!3 ~ e2!2 ~]/3", // D5 E5 F5 E5 D5 E5
  DE: "[e2,b2,e3]@4 [a2,d3]@2 [e2,b2,e3]@2 e2 ~ e2!3 ~@2 e2", // E5 D5 E5
  DF: "e2 [e2,b2,e3]@4 [a2,d3]@2 [e2,b2,e3]@2 e2 ~ e2!2 ~ e2 ~", DG: "e2!3 ~ f2 ~ e2 ~ f2 ~ e2 ~@2 e2!3",
  DH: "~ e2!2 [e2,b2,e3]@4 [a2,d3]@2 [e2,b2,e3]@2 ~ e2 ~ e2!2", // E5 D5 E5
  DI: "e2 ~ e2!2 [e2,b2,e3]@6 ~ [a2,d3]@2 [e2,b2,e3]@2 e2", // E5 D5 E5
  DJ: "e2!2 ~ e2!2 [e2,b2,e3]@4 ~ [a2,d3]@2 [e2,b2,e3]@2 e2 ~", // E5 D5 E5
  DK: "[e2!3 ~ e2 ~ e2!2 ~ f2 ~ e2 ~ f2 ~ [e2,b2]@4 f2 ~ f2 e2 ~ [e2,b2]@2 ~@2 [e2,b2]@4]/2", // E5
  DL: "[f2!2 e2 ~@2 [e2,b2]@2 ~@2 [e2,b2]@4 f2!2 [e2,b2]@2 ~@5 f2!2 [e2,b2]@2 ~@4 f2!2]/2", // E5
  DM: "~ [e2,b2]@2 e2!3 ~ e2!3 ~ e2!3 ~@2", DN: "e2!3 ~ [e2,b2]@4 e2!3 ~ [e2,b2]@2 ~@2",
  DO: "[~ [e2,b2]@4 [f#2,c#3]@17 [g2,d3]@17 [a2,e3]@17 ~ [e2,b2]@7]/4", // E5 F#5 G5 A5 E5
  DP: "[~@3 e2@2 [c3,g3]@4 ~ [f#2,c#3]@17 [g2,d3]@17 [e2,b2]@17 [a2,e3]@11 e2@2 [g2,d3]@4 [f#2,c#3,f#3,c#4]@17 ~]/6", // C5 F#5 G5 E5 A5 G5 F#5
  DQ: "[~ [a2,e3]@17 [g2,d3]@4 ~@10]/2", DR: "~@3 c3!3 ~@2 e2 ~ c3!3 ~ e2 ~",
  DS: "[[c3,g3]@4 b2@2 c3@2 ~ b2@2 c3@2 b2@2 c3@2 b2@2 c3@2 e2@4 e2@2 e2@2 f2@3]/2", // C5
  DT: "[~@2 e2@2 e2@2 e2@4 e2@2 e2@2 g2@4 e2@4 ~ e2@2 e2@2 f2@4 e2@2 e2@2 e2@4 e2@2 f2@2 ~ e2@2 f2@2]/3",
  DU: "[e2,b2] ~@15", // E5
})).s("gm_overdriven_guitar").gain(0.41)

// bass · slap bass 1 · "Bass"
const bass = note(`<
  A B C D E F G@2 H I J@2 K L M H I J@2 K L M N@6 ~ O P@2 Q O R O Q S@2 T U V W T U X Y T Z O P@2 Q O R O Q AA AB AC AD
  AE AB AC AF AG AH AI AD AJ AK P@2 AB AC AD AE AB AC AF AG AH AI AD AJ AL O P@2 Q S T U AA AM@4 AN@2 AO@2 AP AQ@2 AR AS
  AT@2 AR AU AV@4 AW@4 AX@4 AY@2 AQ AZ@4 AW@4 AX@4 BA BB AQ@2 AR BC BD BE BF BG BH BI BJ@2 BK@3 BL BM@3 BN BM BO BM BP K
  BQ BR H I BS BT K BQ BR BU@2 BV@2 BW BX@3 BY BZ CA CB CC CD CE CF@2 CG CH@4 AF CI CJ@2 CK CL CM CN CO CP@2 CQ@4 CR CS
  CT CU CV CW CX CY CZ DA DB DC@3 DD DE DF DG DH DI DJ@2 DK@2 DL DM DN@4 DO@6 AI DP@2 DQ DR@2 DS@3 DT
>`.pickRestart({
  A: "~@4 b1 c2 b1 c2", B: "b1 a1 g1 f#1 e1 ~@3", C: "f1 ~@3 e1 ~@3", D: "g1 e1 ~ f1", E: "~@2 e1@2 ~@2 e1 f1",
  F: "e1 f1", G: "[e1@2 g1 e1@2 f1@2 e1]/2", H: "e1 f1 e1 f1 e1@2 e1!2", I: "f1@2 e1!2 e1@2 e1!2",
  J: "[g1@4 e1@2 ~@2 e1@2 e1@2 f1@3 e1@2 e1@2 ~ e1@4 e1@2 f1@2 e1@2 f1@2]/2", K: "e1@2 e1!2 f1@2 e1!2",
  L: "e1@2 e1!2 g1@2 e1@2", M: "e1!2 f1@2 e1!2 e1@2", N: "[e1 f1 e1 f1 e1@43 ~]/6",
  O: "b1@2 b1 c2 b1 c2 b1 c2 b1@4 a1@2 b1@2", P: "b1 c2 b1 c2 b1 c2 b1 c2 b1@4 a1@2 b1@2",
  Q: "b1 c2 b1 c2 b1 c2 b1 c2 c2@2 b1@2 g1@2 f#1@2", R: "b1 c2 b1 c2 b1 c2 b1 c2 b1@6 a1@2",
  S: "[e1,b1]@2 ~@3 g1!3 [e1,b1]@2 ~@3 g1!3", T: "b1@2 b1 c2 b1 c2 b1 c2 a1@2 b1@2 a1@2 b1@2",
  U: "c2@4 c2@2 c2@2 b1@2 b1@2 g1 f#1 e1@2", V: "e1@4 g1 f#1 e1@2 e1@4 g1 f#1 e1@2",
  W: "d2@4 g1 f#1 e1@2 c2@4 g1 f#1 e1@2", X: "e1 ~ e2 ~", Y: "d2 ~ c2 ~", Z: "c2@2 c2!2 b1!2 ~@2",
  AA: "e1@4 g1 f#1 e1@2 e1@3 ~ e1@3 ~", AB: "f#1", AC: "g1", AD: "a1", AE: "e1@4 ~ e1 c2@2", AF: "e1",
  AG: "a1@4 ~ e1 g1@2", AH: "f#2", AI: "d2", AJ: "g1 ~@3", AK: "c2 b1@3 b1 c2@3", AL: "c2!3 ~ e1 ~ c2!3 ~ e1 ~ c2@4",
  AM: "[e1@2 e1@2 e1@2 e1@2 ~ e1!2 e1@2 e1@2 e1@2 e1@4 g1!2 e1@2 ~ e1@2 ~@2 e1@4 d2!2 d2@2 d2@4 ~ d2!2 d2@2 d2@4 e1@4 g1 f#1 e1@2 ~ e1@2 ~@2]/4",
  AN: "[e1@3 ~ e1@2 e1@2 e1@2 e1@2 ~ e1!2 e1@2 e1@2 e1@2 e1@4 g1@2 e1@2 ~ e1@2]/2",
  AO: "[~@2 e1@4 a1 b1 c2@2 c2@4 ~ c2@4 c2!2 b1 ~ b1!3 ~ b1!3 ~@2]/2", AP: "b1!3 ~ b1@2 b1 c2 b1 c2 b1 c2 b1@4",
  AQ: "a1@2 b1@2 b1 c2 b1 c2 b1 c2 b1 c2 b1@4", AR: "a1@2 b1@2 b1 c2 b1 c2 b1 c2 b1 c2 c2@2 b1@2",
  AS: "g1@2 f#1@2 b1@2 b1 c2 b1 c2 b1 c2 b1@4",
  AT: "[a1@2 b1@2 b1 c2 b1 c2 b1 c2 b1 c2 b1@6 a1@2 b1@2 b1 c2 b1 c2 b1 c2 b1@4]/2",
  AU: "g1@2 f#1@2 e1@4 g1 f#1 e1@2 e1@3 ~", AV: "[e1@3 ~ f#1@16 g1@16 a1@16 e1@8 ~@2 e1@2]/4",
  AW: "[c2@2 f#1@8 g1@8 e1@8 a1@4 ~ e1]/4", AX: "[g1 f#2@4 d2@4 a1@4 g1 ~@2]/4",
  AY: "[~@4 c2@2 b1@6 b1@2 c2@6 b1 c2 b1 c2 b1 c2 b1 c2 b1@4]/2", AZ: "[a1 b1 f#1@8 g1@8 a1@8 e1@4 ~ e1]/4",
  BA: "~@4 c2!3 ~ e1 ~ c2!3 ~ e1 ~", BB: "c2@4 b1@2 b1 c2 b1 c2 b1 c2 b1@4",
  BC: "g1@2 f#1@2 [e1,b1]@2 ~@3 g1!3 [e1,b1]@2 ~@2", BD: "~ g1!3 b1@2 b1 c2 b1 c2 b1 c2 a1@2 b1@2",
  BE: "a1 b1 c2@2 c2!2 b1!2", BF: "g1 f#1 e1@2 e1@4 g1 f#1 e1@2 e1@3 ~", BG: "e1@3 ~ e1@2 e1@2 e1@2 e1@2 e1!2 e1@2",
  BH: "~ e1@2 e1@2 e1@4 g1!2 e1@2 e1@2 ~", BI: "~@2 e1@4 d2!2 d2@2 d2@4 d2!2",
  BJ: "[d2@2 ~ d2@4 e1@4 g1 f#1 e1@2 e1@2 ~@3 e1@3 ~ e1@2 e1@2 e1@2 e1@2]/2",
  BK: "[e1!2 e1@2 ~ e1@2 e1@2 e1@4 g1@2 e1@2 e1@2 ~@3 e1@4 a1 b1 c2@2 c2@4 c2@4 ~ c2!2 b1 ~ b1!3 ~ b1]/3",
  BL: "b1!2 ~ b1!3 ~@2 b1@2 b1 c2 b1 c2 b1 c2", BM: "b1@4 a1@2 b1@2 b1 c2 b1 c2 b1 c2 b1 c2",
  BN: "c2@2 b1@2 g1@2 f#1@2 b1@2 b1 c2 b1 c2 b1 c2", BO: "b1@6 a1@2 b1@2 b1 c2 b1 c2 b1 c2",
  BP: "b1 c2 b1 c2 b1 a1 g1 f#1", BQ: "e1@2 e1!2 g1@2 e1 ~", BR: "e1@2 e1@2 f1@3 e1@2 e1@2 ~ e1@4",
  BS: "g1@2 e1@2 e1!2 f1@2", BT: "e1!2 e1@2 e1 f1 e1 f1",
  BU: "[e1@2 f1@2 e1@2 f1@2 e1@2 f1@2 e1@2 ~ f1@2 e1!8 b1@4 ~ a1@2]/2",
  BV: "[b1@2 e1!8 b1@4 ~ a1@2 b1@2 e1!7 ~ e1 b1@4]/2", BW: "a1@2 b1@2 e1!4 ~ e1!5 ~ f1",
  BX: "[~ e1 ~ f1 ~ e1!2 ~ e1!6 b1@4 a1@2 b1@2 ~ e1!8 b1@4 a1@2 ~ b1@2 e1!8]/3", BY: "b1@4 ~ a1@2 b1@2 e1!7",
  BZ: "e1 ~ e1 ~ f1 ~ e1 ~ f1 ~ f#1!6", CA: "~ f#1!2 f#1@4 e1@2 f#1@2 f#1!3 ~ f#1",
  CB: "f#1!4 f#1@4 e1@2 f#1@2 f#1 ~ f#1!2", CC: "f#1!5 f#1@4 e1@2 ~ f#1@2 f#1!2", CD: "f#1!7 ~ g1 ~@2 f#1 ~ g1 ~ f#1",
  CE: "f#1!7 f#1@4 ~ e1@2 f#1@2", CF: "[f#1!7 ~ f#1 f#1@4 e1@2 f#1@2 f#1!5 ~ f#1!3 f#1@4 e1@2]/2",
  CG: "f#1@2 f#1!2 ~ f#1!9 ~ f#1", CH: "[f#1!2 ~@2 f#1!3 ~ f#1!3 ~ f#1@17 g1@17 a1@17 ~]/4", CI: "~ f#1!8 f#1@4 ~ e1@2",
  CJ: "[f#1@2 f#1!7 ~ f#1 f#1@4 e1@2 f#1@2 f#1!4 ~ f#1!4 f#1@4]/2", CK: "e1@2 f#1@2 f#1!2 ~ f#1!9",
  CL: "~ f#1!3 ~@2 f#1!3 ~ f#1!3 ~ f#1!2", CM: "f#1 ~ f#1 ~ f#1!2 ~ f#1!3 ~ f#1!3 ~ e1",
  CN: "e1!2 ~ e1!5 b1@4 a1@2 b1@2", CO: "~ e1!8 b1@4 a1@2 ~", CP: "[b1@2 e1!8 b1@4 ~ a1@2 b1@2 e1!9 ~@2 f1 ~]/2",
  CQ: "[e1 ~ f1 ~ f#1@17 g1@17 a1@17 ~ g1!8]/4", CR: "g1!5 ~ g1!10", CS: "g1!3 ~ g1!6 g1@2 ~@4",
  CT: "~@9 g1@2 g1@2 ~@3", CU: "~@12 e1 ~ e1 ~", CV: "e1!2 ~ e1!2 e1@4 d1@2 e1@2 e1 ~@2",
  CW: "e1!3 ~ e1!2 e1@4 d1@2 ~ e1@2 e1", CX: "~ e1!3 ~ e1!2 e1@4 ~ d1@2 e1@2", CY: "e1 ~ e1!3 ~ e1!3 ~@2 f1 ~ e1 ~ f1",
  CZ: "~ e1 ~ e1!3 ~ e1 ~ e1 e1@4 d1@2", DA: "e1@2 e1 ~ e1!3 ~@2 e1!2 e1@5", DB: "~ d1@2 e1 ~@2 e1!3 ~ e1!2 e1@4",
  DC: "[d1@2 e1@2 ~ e1 ~ e1!3 ~ e1!3 ~ f1@2 ~@3 f1@2 e1 ~ e1!3 ~ e1!2 e1@4 ~ d1@2 e1@2 e1 ~ e1!3 ~ e1!2 ~]/3",
  DD: "e1@4 d1@2 e1@2 e1 ~ e1!3 ~@2 e1", DE: "e1 e1@4 d1@2 e1@2 e1 ~ e1!2 ~ e1 ~",
  DF: "e1!3 ~ f1 ~ e1 ~ f1 ~ e1 ~@2 e1!3", DG: "~ e1!2 e1@4 d1@2 e1@2 ~ e1 ~ e1!2", DH: "e1 ~ e1!2 e1@6 ~ d1@2 e1 ~ e1",
  DI: "e1!2 ~ e1!2 e1@4 ~ d1@2 e1@2 e1 ~", DJ: "[e1!3 ~ e1 ~ e1!2 ~ f1 ~ e1 ~ f1 ~ e1@4 f1 ~ f1 e1 ~ e1@2 ~@2 e1@4]/2",
  DK: "[f1!2 e1 ~@2 e1@2 ~@2 e1@4 f1!2 e1@2 ~@5 f1!2 e1@2 ~@4 f1!2]/2", DL: "~ e1@2 e1!3 ~ e1!3 ~ e1!3 ~@2",
  DM: "e1!3 ~ e1@4 e1!3 ~ e1@2 ~@2", DN: "[~ e1@4 f#1@17 g1@17 a1@17 ~ e1@7]/4",
  DO: "[~@3 e1@2 c2@4 ~ f#1@17 g1@17 e1@17 a1@9 ~@2 e1@2 g1@4 f#2@17 ~]/6", DP: "[~ a1@17 g1@4 ~@10]/2",
  DQ: "~@3 c2!3 ~@2 e1 ~ c2!3 ~ e1 ~", DR: "[c2@4 b1@2 c2@2 ~ b1@2 c2@2 b1@2 a1@2 g1@2 f#1@2 e1@4 e1@2 e1@2 f1@3]/2",
  DS: "[~@2 e1@2 e1@2 e1@4 e1@2 e1@2 g1@4 e1@2 ~@3 e1@2 e1@2 f1@4 e1@2 e1@2 e1@4 e1@2 f1@2 ~ e1@2 f1@2]/3",
  DT: "e1 ~@15",
})).s("gm_slap_bass_1").gain(0.48)

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

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

More by Metallica