Strudelify
Creeping Death cover art

Ride The Lightning

Creeping Death

Metallica

KeyG majorTempo184 bpm
0:00/0:00
// Creeping Death — Metallica
// 184 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 3 "Guitar 2" acoustic guitar steel (copy of ch 2 "Guitar 1" distortion guitar)
// note: Full arrangement: all 329 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(184/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.

// chords · distortion guitar · "Guitar 1"
const distortion_guitar = note(`<
  A@2 B@2 A@2 B@2 C@2 D@2 C@2 D@2 E F G F G F G F G F G F G F G F G H I H I H I H I F G F G J@4 F G F G F G F G F G F G
  F G F G H I H I H I H I K@4 L@3 M N@4 O@4 F G F G J@4 F G F G F G F G F G F G F G F G H I H I H I H I K@4 L@3 M N@4
  O@4 F G F G J@4 F G P Q F G P Q F G P Q F G P Q H I H I H I H I K@4 L@3 M N@4 O@4 R S T S U S T S U S T S U S T S U S
  T S U S T S U S T S U S T S U F G F G V W F G F G F G F G F G F G F G F G H I H I H I H I K@4 L@3 M N@4 O@4 X@2 Y@2
  X@2 Y@2 X@2 Y@2 X@2 Y@2 X@2 Y@2 X@2 Y@2 Z@8 AA@8 A@2 B@2 A@2 B@2 C@2 D@2 C@2 D@2 AB AC AD@4 AE@2 AF
>`.pickRestart({
  A: "[e2!5 ~ [e3,b3,e4]@10]/2", B: "[e2!5 ~ [e3,b3,e4] [d3,a3,d4]@9]/2", C: "[e2!5 ~ [e3,b3,e4]@6 [e3,b3,e4] ~@3]/2",
  D: "[e2!5 ~ [e3,b3,e4] [d3,a3,d4]@5 [d3,a3,d4] ~@3]/2", E: "~ [a2,e3] [g2,d3] [f#2,d3]",
  F: "e2!2 [b2,e3] e2!2 [b2,e3] e2 [b2,e3]", G: "e2@2 e2@2 [b2,e3]@2 e2@2 b2@2 c3@2 b2 c3 b2 a2",
  H: "e2!2 [g2,d3]@2 e2!2 [g2,d3]@2", I: "e2!2 f#2!6", J: "[[e2,b2,e3]@13 [b2,f#3,b3] [c#3,g#3,c#4] [f#2,c#3,f#3]]/4",
  K: "[[e2,b2,e3]@10 e2!3 [c3,g3,c4]@2 [d3,a3,d4]@13 [f3,c4,f4]@4]/4", // E5 C5 D5 F5
  L: "[[e3,b3,e4]@10 e2!3 [c3,g3,c4]@2 [d3,a3,d4]@9]/3", M: "[f3,c4,f4] [g3,d4,g4]",
  N: "[[e3,b3,e4]@10 e2!3 [c3,g3,c4]@2 [d3,a3,d4]@13 [f3,c4,f4]@4]/4", // E5 C5 D5 F5
  O: "[[e3,b3,e4]@10 e2!3 [c3,g3,c4]@2 [d3,a3,d4]@11 [b2,f#3,b3]@2 [c#3,g#3,c#4]@2 [f#2,c#3,f#3]@2]/4", // E5 C5 D5 B5 C#5 F#5
  P: "e2!2 [e2,b2,e3] e2!2 [e2,b2,e3] e2 [e2,b2,e3]", Q: "e2!2 [e2,b2,e3] e2 [e2,b2,e3]@2 [c3,g3,c4]@2",
  R: "[e4,b4,e5]", S: "[e3,b3,e4]@4 e2!4", T: "[f3,c4,f4] [d3,a3,d4]", U: "[g3,d4,g4] [f3,c4,f4]", V: "[e3,b3,e4] ~@7",
  W: "[e2,b2,e3]@3 [f2,c3,f3]@2 [g2,d3,g3]@3 [d3,a3,d4]@8", X: "[e2!2 [b2,e3] e2!2 [b2,e3] e2 [b2,e3]@7 [b2,e3]!2]/2",
  Y: "[e2!2 [b2,e3] e2!2 [b2,e3] e2 [c3,f3]@7 [a2,d3]!2]/2", // E5 F5 D5
  Z: "[e2!2 [e3,b3,e4]@2 [d3,a3,d4]@2 [c3,g3,c4] [b2,f#3,b3]@11 [c3,g3,c4]@2 [b2,f#3,b3]@2 a2 [c3,g3,c4]@11 [e3,b3,e4]@2 [d3,a3,d4]@2 [c3,g3,c4] [b2,f#3,b3]@11 [c3,g3,c4]@2 [b2,f#3,b3]@2 a2 [c3,g3,c4]@9]/8", // E5 D5 C5 B5 C5 B5 C5 E5 …
  AA: "[~@2 [e3,b3,e4]@2 [d3,a3,d4]@2 [c3,g3,c4] [b2,f#3,b3]@11 [c3,g3,c4]@2 [b2,f#3,b3]@2 a2 [c3,g3,c4]@11 [e3,b3,e4]@2 [d3,a3,d4]@2 [c3,g3,c4] [b2,f#3,b3]@11 [c3,g3,c4]@2 [b2,f#3,b3]@2 a2 [c3,g3,c4]@9]/8", // E5 D5 C5 B5 C5 B5 C5 E5 …
  AB: "~ [a2,e3]", AC: "[g2,d3] [b2,g3]", AD: "[e2,b2,e3]!16", AE: "[[e2,b2,e3]!15 [e2,b2,e3]@13 [e2,b2,e3]@4]/2",
  AF: "[e2,b2,e3] ~@3", // E5
})).s("gm_distortion_guitar").gain(0.49)

// other · overdriven guitar · "Guitar 3"
const overdriven_guitar = note(`<
  ~@8 A@2 B@2 A@2 B@2 ~@127 C D E F G H@2 I@2 J K L M N O P Q R S T U V W X Y Z AA@2 AB@2 AC@2 AD@2 AE AF AG AH AI AJ AK
  AL ~@37 AM AN ~@73 AO@2 AP@2 AO@2 AP ~@8 A@2 B@2 A@2 B@2 ~@9
>`.pickRestart({
  A: "[e2!5 ~ b3@6 b3 ~@3]/2", B: "[e2!5 ~ b3 a3@5 a3 ~@3]/2", C: "b4 c5 ~ d5 f#5 d5 ~ c5 c#5 d5 ~ e5 f#5 e5 ~ d5",
  D: "d5 e5 ~ f#5 e5 f#5 ~ g5 f#5 g5 ~ a5 b5 c6 ~ d6", E: "d6@3 d6@3 d6@2", F: "d6@7 d6@5 d6@2 b5@2",
  G: "d6 c6 b5 a5 c#6 b5 a5 g5 b5 a5 g5 f#5 a5 g5 f#5 e5",
  H: "[g5 f#5 e5 d5!2 c#5 b4 d5 b4 a4 a4@2 g4@6 a4@2 [a4,d5]@2 [a4,d5]@2 [g4,b4]@2 e4@2 g4@2 a4@2]/2", // D5 G
  I: "[a4@4 a4@2 g4@4 e4@2 g4@2 a4@5 b4 d5 b4 d5 b4 a4@2 a4 b4 d5 b4 d5 b4]/2",
  J: "a4@2 b4@2 d5 b4 d5 b4 d5@4 d5@2 e5@2", K: "g5 e5 ~ d5 e5 d5 ~ b4 d5 b4 ~ a4 b4 a4 ~ f#5",
  L: "a5 g5 ~ f#5 g5 f#5 ~ e5 f#5 e5 ~ d5 e5 d5 ~ c#5", M: "d5 c#5 ~ b4 c#5 b4 ~ a4 g4@2 e4@2 g4@2 a3@2",
  N: "d5 f5 a5 c6 d6@2 d6@2", O: "a4 c5 ~ e5 a5 e5 ~ [a4,c5] a4 c5 ~ e5 a5 e5 ~ [a4,c5]",
  P: "a4 c5 ~ e5 a5 e5 ~ [a4,c5] a4 [a4,c5] ~ e5 a5 e5 ~ c5", Q: "e5 [e5,g5] d5@2 b4 a4 ~ b4 d5 b4 ~ a4 g4 e4 ~ g4",
  R: "[a4,d5]@2 [a4,d5]@2 [a4,d5]@3 ~", S: "e3@2 e3!2 f3!4 f#3!8",
  T: "g3 f#3 g3 f#3 g3 f#3 g#3 g3 a3 g#3 a3 g#3 a3 g#3 a#3 a3", U: "b3 a#3 b3 a#3 b3!2 c4!2 b3!2 c4 b3!3 c4 c#4",
  V: "c#4 d4 c#4 d4 c#4 d4!4 d#4 d4 [e4,f4] f4!3 [g4,a4]", W: "c5@2 a4@2 g#4 a4 b4 c#5 e5 c#5 ~ b4 c#5 e5 ~ f#5",
  X: "a4 f#4 [c#4,e4] c#4 b3@2 c#4@2 e5 c#5 b4 a4 f#4@2 a4@2", Y: "b4 a4 ~ f#4 a4 f#4 ~ e4 f#4 e4 ~ c#4 e4 c#4 ~ b3",
  Z: "c#4 b3 ~ a3 b3 a3 ~ f#3 a3@2 b3@2 d4@2 d4@2", AA: "[e4@4 e4 f#4 g4 a4@3 g4@2 f#4 g4 f#4@2]/2",
  AB: "[d4@4 e4 f#4 g4 a4@3 b4@2 c5@2 d5@2]/2", AC: "[e5@4 e5 f#5 g5 a5@3 g5@2 f#5@2 e5@2]/2",
  AD: "[a5!8 a5@2 b5@4 c6@4 b5@4 a5@4 g5@2 f#5@2 g5@2]/2", AE: "g5 f#5 ~ e5 g5 f#5 ~ e5 g5 f#5 ~ e5 g5 f#5 ~ e5",
  AF: "g5 f#5 ~ e5 g5 f#5 ~ e5 g5 f#5 ~ e5 g5 e5 ~ f#5", AG: "a5 g5 ~ f#5 a5 g5 ~ f#5 a5 g5 ~ f#5 a5 g5 ~ f#5",
  AH: "a5 g5 ~ f#5 a5 g5 ~ f#5 a5 g5 ~ f#5 a5 g5 ~ g5", AI: "b5 a5 ~ g5 b5 a5 ~ g5 b5 a5 ~ g5 b5 g5 ~ g#5",
  AJ: "c6 b5 ~ a5 c6 b5 ~ a5 d6 c6 ~ b5 d6 c6 ~ b5", AK: "d6!2", AL: "d6@2 d6!2",
  AM: "a3 b3 ~ c4 d4 e4 ~ f4 g4 f4 ~ e4 d4@4", AN: "d4@3 f4@2 b4@3 e5@8",
  AO: "f#5 d#5 ~ b3 f#5 d#5 ~ b3 f#5 d#5 ~ b3 f#5 d#5 ~ b3", AP: "g5 e5 ~ b3 g5 e5 ~ b3 g5 e5 ~ b3 g5 e5 ~ b3",
})).s("gm_overdriven_guitar").gain(0.8)

// other · overdriven guitar · "Guitar 4"
const overdriven_guitar_2 = note("<~@272 A@32 ~@18 B C D E F@2 ~>".pickRestart({
  A: "[~@2 a4@4 g4 f#4@11 f#4@4 e4 g4@11 a4@4 g4 f#4@11 f#4@4 e4 g4@9]/8", B: "e3 f#3 g3 a3", C: "b3 c4 d#4 e4",
  D: "f#4 g4 f#4 e4", E: "d#4 c4 b3 a3", F: "[g3 f#3 e3@4 ~@2]/2",
})).s("gm_overdriven_guitar").gain(0.49)

// other · overdriven guitar · "Guitar 5"
const overdriven_guitar_3 = note("<~@272 A@32 ~@18 B C D E F@3>".pickRestart({
  A: "[~@2 d5@4 c5 b4@11 b4@4 a4 c5@11 d5@4 c5 b4@11 b4@4 a4 c5@9]/8", B: "e4 f#4 g4 a4", C: "b4 c5 d#5 e5",
  D: "f#5 g5 f#5 e5", E: "d#5 c5 b4 a4", F: "[g4 f#4 e4@4 e5@3 ~@3]/3",
})).s("gm_overdriven_guitar").gain(0.49)

// bass · electric bass finger · "Bass"
const bass = note(`<
  A@2 B@2 A@2 B@2 C@2 D@2 C@2 D@2 E F ~@6 G H I H I H I H I J K J K J K J K H I H I L@2 M N H I H I H I H I H I H I H I
  H I J K J K J K J K O@3 P Q@3 R O@3 P S@3 T H I H I L@2 M N H I H I H I H I H I H I H I H I J K J K J K J K O@3 P Q@3
  R O@3 P S@3 T H I H I L@2 M N H I U V H I U V H I U V H I U V J K J K J K J K O@3 P Q@3 R O@3 P S@3 T F W X Y Z W X Y
  Z W X Y Z W X Y Z W X Y Z W X Y Z W X Y Z W X Y Z H I H I AA AB H I H I H I H I H I H I H I H I J K J K J K J K O@3 P
  Q@3 R O@3 P S@3 T AC@2 AD@2 AC@2 AD@2 AC@2 AD@2 AC@2 AD@2 AC@2 AD@2 AC@2 AD@2 AE@8 AF@8 A@2 B@2 A@2 B@2 C@2 D@2 C@2
  D@2 AG AH AI@4 AJ@2 F
>`.pickRestart({
  A: "[e1!5 ~ e2@10]/2", B: "[e1!5 ~ e2 d2@9]/2", C: "[e1!5 ~ e2@6 e2 ~@3]/2", D: "[e1!4 f#1 ~ e2 d2@5 d2 ~@3]/2",
  E: "~ a1 g1 f#1", F: "e1 ~@3", G: "~@4 b3 c4 b3@2", H: "e1!8", I: "e1!4 b1 c2 b1 a1", J: "e1!2 g1@2 e1!2 g1@2",
  K: "e1!2 f#1!6", L: "[e1@2 e2@2 e1!2 e2 e1@2 e2 d2@3 e2 d2 e2]/2", M: "d2 e2 d2@2 c#2@2 a1@2", N: "b1!2 c#2 f#1",
  O: "[e1@2 e1@2 e1!3 e1@2 e1!4 c2@2 d2@3 d2@2 d2!4]/3", P: "d2!4 f2@2 f2@2",
  Q: "[e2@2 e2@2 e2!3 e2@2 e2!4 c2@2 d2@3 d2@2 d2!4]/3", R: "f1!4 g1!2 g1@2",
  S: "[e2@2 e2@2 e2!3 e2@2 e2!4 c2@2 d2@3 d2!6]/3", T: "d2 b1 c#2 f#1", U: "a1!8", V: "a1!4 a1@2 c2@2", W: "e1@4 e2!4",
  X: "f2!2 f2@2 d2@4", Y: "e2@4 e1!4", Z: "g1@2 g1!2 f1@2 f1@2", AA: "e1 ~@7", AB: "e1@3 f1@2 g1@3 d2@8",
  AC: "[e1!7 [b1,e2]@3 e1!4 g1 f#1]/2", AD: "[e1!7 [c2,f2]@3 c2!4 d2!2]/2",
  AE: "[e1!2 e2@2 d2@2 c2 b1@11 c2@2 b1@2 a1 c2@11 e2@2 d2@2 c2 b1@11 c2@2 b1@2 a1 c2@9]/8",
  AF: "[~@2 e2@2 d2@2 c2 b1@11 c2@2 b1@2 a1 c2@11 e2@2 d2@2 c2 b1@11 c2@2 b1@2 a1 c2@9]/8", AG: "~ a1", AH: "g1 f#1",
  AI: "e1!16", AJ: "[e1!15 e1@13 e1@4]/2",
})).s("gm_electric_bass_finger").gain(0.49)

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

// drums · snare
const snare = s("sd").struct(`<
  ~@25 A@3 B A@3 C A@3 C A@3 D A@3 E A@11 F A@7 C A@3 C A@3 D A G A@3 G B H A G A@4 C E A@15 F A@7 C A@3 C A@3 D A G A@3
  G B H A G A@4 C E A B A@9 I A@3 I A@3 I A@3 C A@3 C A@3 D A G A@3 G B H A G A@4 C E ~@5 J ~ J ~ J ~ J ~ J ~ J ~ J ~ J
  ~ J ~@3 J ~ J ~ J ~@2 K A@4 ~ D A@7 L A@3 B A@3 C A@3 C A@3 D A G A@3 G B H A G A@4 C E B A B A B A B A@8 M A@8 ~@38 N
  O ~
>`.pickRestart({
  A: "~ x ~ x", B: "~@2 x ~@3 x!2", C: "x!6 ~@2", D: "~@3 x", E: "~ x ~@2", F: "~@4 x ~ x!3 ~ x ~ x ~@3",
  G: "~@2 x ~@2 x ~@2", H: "~@2 x!2 ~@2 x ~", I: "~ x!3", J: "~ x", K: "~@2 x!2", L: "x ~ x ~ x!3 ~",
  M: "~@4 x ~@3 x ~@2 x!2 ~@3", N: "~@5 x!3", O: "x!5 ~@3",
})).gain(0.49)

// drums · hihat
const hihat = s("hh").struct(`<
  ~@25 A B A B C B A ~@2 B D ~@2 B D ~ A B A E A B E F A B A E A B A G A B A E A B C ~@2 B D ~@2 B D ~ A E A B A E A B A
  E A B A B ~@2 A E A E A B E F A B A B A E A G A B A B A B C ~@2 B D ~@2 B D ~ A E A B A E A B A E A B A B ~@2 A B C E
  A B@2 F A B@2 G B@2 C G B@2 C G B@2 C ~@2 B D ~@2 B D ~ A E A B A E A B A E A B A B ~@35 A E A B ~@2 A B A E A B A ~ A
  B A B C B C ~@2 B D ~@2 B D ~ A E A B A E A B A E A B A B ~@2 A@2 B A B A B A@2 B A B A B A G A B A E A B A E F ~@40
>`.pickRestart({
  A: "~ x!3", B: "x!4", C: "x ~ x!2", D: "x!2", E: "x!3 ~", F: "x", G: "x!2 ~@2",
})).gain(0.49)

// drums · low tom
const low_tom = s("lt").struct(`<
  ~@24 A ~@162 B@2 C D E B F D@2 C@2 F G H F B@2 I C D B@2 F B@2 I C D B J B ~@111
>`.pickRestart({
  A: "~@3 x", B: "x", C: "x ~ x!2 ~@4", D: "x!2 ~@2", E: "x!3 ~@4 x", F: "x!4 ~@4", G: "x!3 ~@5", H: "x!4 ~@2 x!2",
  I: "x ~@2 x", J: "x!2 ~ x",
})).gain(0.49)

// drums · mid tom
const mid_tom = s("mt").struct(`<
  A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@7 B C D ~@7 E ~@3 E ~@3 F ~@3 E ~@19 E ~@3 E ~@3 G ~@14 E ~@24 E ~@3 E ~@3 G ~@14 E
  ~@24 E ~@3 E ~@3 G ~@14 E ~@2 H@3 I ~ H J I ~ H@2 I ~ I H K ~ H@2 I ~ H@2 I ~ H@2 I ~ H@2 ~@22 E ~@3 E ~@3 G ~@14 E
  ~@41 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@7 L M ~
>`.pickRestart({
  A: "x!5 ~@3", B: "~@14 x!2", C: "x!8", D: "x!2 ~@6", E: "~@13 x ~@2", F: "x!4 ~@4", G: "x!8 ~@8", H: "~ x",
  I: "~@2 x!2", J: "~@3 x ~@4", K: "~@4 x!3 ~", L: "~@11 x ~ x ~ x", M: "~ x ~ x ~ x ~ x ~@8",
})).gain(0.49)

// drums · high tom
const high_tom = s("ht").struct(`<
  A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@9 B ~@7 C ~@3 C ~@3 D ~@3 C ~@19 C ~@3 C ~@3 E ~@14 C ~@24 C ~@3 C ~@3 E ~@14 C ~@24 C
  ~@3 C ~@3 E ~@14 C ~@2 F G@2 H I J C K I L M H N O P Q ~ G R H I G@2 K ~ G R H I G S T ~@21 C ~@3 C ~@3 E ~@14 C ~@41
  A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@10
>`.pickRestart({
  A: "x!5 ~@3", B: "~@2 x!4 ~@2", C: "~@3 x", D: "~@4 x!2 ~@2", E: "~@8 x!3 ~@5", F: "~ x", G: "x!2",
  H: "x ~ x!3 ~ x ~", I: "x!2 ~@2", J: "x!3 ~ x ~@3", K: "x!5 ~ x ~", L: "x!3 ~", M: "x ~ x!2 ~@4", N: "x!4 ~@4",
  O: "x!3 ~ x ~ x ~", P: "x!4 ~@2 x!2", Q: "x!7 ~", R: "x ~@2 x", S: "x!4", T: "x",
})).gain(0.49)

// drums · china
const china = s("cr").struct(`<
  A ~ B ~ A ~ B ~ A C B C A C B C D E ~@7 E ~ E ~ F ~ E ~ G ~ G ~ G ~ G ~ E ~ E ~ E ~@2 D E ~ E A E ~ E ~ E ~ E A E ~ F
  ~ G ~ G ~ G ~ G ~ E H E ~ E H E ~ E H E ~ E ~@2 D E A E ~ E ~@2 D E ~ E ~ E A E ~ E ~ E ~ E ~ F ~ G ~ G ~ G ~ G ~ E H
  E ~ E H E ~ E H E ~ E ~@2 D E ~ F ~ E ~@2 D E ~@2 I ~@2 F I ~@2 F I ~@2 F ~ G ~ G ~ G ~ G ~ E H E ~ E H E ~ E H E ~ E
  ~@2 D E@2 ~@3 C ~@3 C ~@3 C ~@3 J ~@3 C ~@3 J ~@3 C ~@2 I E A E ~ E K E ~ E A E ~ E ~ E ~ E ~ F ~ F ~ G ~ G ~ G ~ G ~
  E H E ~ E H E ~ E H E ~ E ~@2 D L ~ M ~ M ~ M ~ E ~ E ~ E ~ E ~ E ~ E A E ~ E A N ~ N ~ N ~ N ~ N ~ N ~ N ~ N ~ A ~ B
  ~ A ~ B ~ A C B C A C B C@2 J ~@5 M E
>`.pickRestart({
  A: "~@3 x", B: "~@6 x!2", C: "~ x", D: "~ x!3", E: "x", F: "~ x ~@2", G: "~ x ~ x", H: "~@5 x ~@2", I: "~@2 x!2",
  J: "x!2", K: "x ~@2 x ~ x ~@2 x ~@7", L: "x ~@6 x", M: "~@7 x", N: "~@2 x ~ x ~ x!2",
})).gain(0.49)

// drums · china · soft notes
const china_soft = s("cr").struct("<~@322 [x!16]!4 [x!8 ~@8] ~@2>").gain(0.29)

stack(
  distortion_guitar, overdriven_guitar, overdriven_guitar_2, overdriven_guitar_3, bass, kick, snare, hihat, low_tom,
  mid_tom, high_tom, china, china_soft
)

More by Metallica