Strudelify
King Nothing cover art

Load

King Nothing

Metallica

KeyG majorTempo111 bpm
0:00/0:00
// King Nothing — Metallica
// 111 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 74 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): Mutes.
setcpm(111/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 · distortion guitar · "Gtr. I"
const distortion_guitar = note(`<
  A@16 B C B C B C B C D@3 E F@3 G H@2 I@2 J K@3 L K@2 M ~ B C B C B C B C D@3 E F@3 G H@2 I@2 J K@3 L K@2 M ~
>`.pickRestart({
  A: "e6!4", B: "e3 [e3,d4] [e3,d#4] [e3,e4] e3 e4 g4 e4", C: "e3 e4 g4 e4 a#3 a#4 a3 a4",
  D: "~ [e3,b3] [g3,d4] [e3,b3] a#3 [a#3,f4] [a3,e4] e3", E: "~ [e3,b3] [g3,d4] [e3,b3] a#3 [a#3,f4] [a3,e4] [e4,e5]",
  F: "[e4,e5] e3 g3 e3 [a#3,f4]!2 [a3,e4] [e4,e5]", G: "[e4,e5] e3 g3 e3 [a#3,f4]!2 [a3,e4] [g3,d4]",
  H: "[a3 a4!2 c5@2 a4 [a3,a4] [a3,g4]@2 [a3,a4] g3 [a#3,d#4]@5]/2", I: "[a3 a4!2 c5@2 d5 c5 d5@2 c5 d5 d5@3 e4@2]/2",
  J: "e3@2 e3!6", K: "[e3,e4,e5]!8", L: "[e3,e4,e5]@2 [e3,e4,e5]!6", M: "[f3,a#3]!8",
})).s("gm_distortion_guitar").gain(0.13).pan(0)

// chords · distortion guitar · "Gtr. II"
const distortion_guitar_2 = note(`<
  ~ A@3 B C@2 ~ D E F E F E F E F E F E F E F E G@8 H@4 I J K L I J K M ~ F E F E F E N O G@8 H@4 I J K L I J K M ~
>`.pickRestart({
  A: "[~ [a6,d7]@2 ~]/3", B: "[b4,e5] ~@7", C: "[~@3 a5@13]/2", D: "~ [e4,d5] [e4,d#5] [e4,e5] e4 e5 g5 e5",
  E: "e4 e5 g5 e5 a#4 a#5 a4 a5", F: "e4 [e4,d5] [e4,d#5] [e4,e5] e4 e5 g5 e5",
  G: "~ [e4,b4] [g4,d5] [e4,b4] a#4 [a#4,f5] [a4,e5] e4", // E5 G5 E5 A#5 A5
  H: "[a4 a5!2 c6@2 a5 [a4,a5] [a4,g5]@2 [a4,a5] g4 [a#4,d#5]@5]/2", I: "[e4,b4]", J: "[g4,c5,g5,c6]",
  K: "[f#4,b4,f#5,b5]", L: "[a4,e5,a5]!8", M: "[f4,c5,f5]!8", N: "~ d5 d#5 e5 ~ e5 g5 e5",
  O: "~ e5 g5 e5 a#4 a#5 a4 a5",
})).s("gm_distortion_guitar").gain(0.1).pan(1)

// chords · distortion guitar · "Gtr. III"
const distortion_guitar_3 = note("<~@22 A@2 ~@20 B ~@4 A@2 C D ~@20 E>".pickRestart({
  A: "[~@2 [g5,b5]@2 [g5,b5]@2 e5@4 [g5,b5]@2 [g5,b5]@2 e5@4 g5@2 a5 g5 e5 g5 a5 g5 e5 g5 a5 g5 e5@2]/2", // G
  B: "[e5,f6,f#6]@11 ~@5", C: "e5 ~ [g5,b5] ~ [g5,b5] ~ e5 ~ [g5,b5] ~ [g5,b5] ~ e5 ~ [g5,b5] ~",
  D: "[b5,d6] ~ [a5,c6] ~ [g5,b5] ~ [a5,c6] ~ [a5,c6] ~ [a5,c6] ~ [b5,d6]@3 ~", E: "[f6,f#6]@11 ~@5",
})).s("gm_distortion_guitar").gain(0.27)

// chords · electric guitar muted · "Mutes" · E5
const electric_guitar_muted = note("<~@3 [~@14 [b3,e4]!2] ~@70>").s("gm_electric_guitar_muted").gain(0.59).pan(1)

// chords · electric guitar muted · "Mutes" · E5
const electric_guitar_muted_2 = note("<~@24 [[e3,b3] ~@7]!8 ~@21 [[e3,b3] ~@7]!8 ~@13>")
  .s("gm_electric_guitar_muted").gain(0.52).pan(0)

// bass · electric bass finger
const bass = note(`<
  A B A B A B A B A B A B A B A B C D C D C D C D E F@3 E F@3 G H G I J K L M J K N O P C D C D C D Q D E F@3 E F@3 G H
  G I J K L M J K N O P
>`.pickRestart({
  A: "e1 ~ d2 ~ d#2 ~ e2 ~ e1 ~ e2 ~ g2 ~ e2 ~", B: "e1 ~ e2 ~ g2 ~ e2 ~ a#1 ~ a#2 ~ a1 ~ a2 ~",
  C: "e1 ~ d2 ~ d#2 ~ e2 ~ e2 ~ e1 ~ g1 ~ e1 ~", D: "e1 ~ e1 ~ g1 ~ e1 ~ a#1 ~ a#2 ~ a1 ~ a2 ~",
  E: "e1 ~ e1 ~ g1 ~ e1 ~ a#1 ~ a#1 ~ a1 ~ a1 ~", F: "f#1 ~ e1 ~ g1 ~ e1 ~ a#1 ~ a#1 ~ a1 ~ a1 ~",
  G: "a1 ~ a1 ~ a1 ~ a1 ~ a2 ~ a1 ~ a1 ~ a1 ~", H: "a1 ~ a2 ~ e2 ~ d#2@2 d#2@3 ~ d#2 ~ d#2 ~",
  I: "a1 ~ a2 ~ e2 ~ d#2@2 d#2@3 ~ d#2@3 ~", J: "e1@3 ~ e2 ~ e2 ~ e1@2 e2 ~ e1 ~ e2 ~",
  K: "c2@3 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~", L: "b1@3 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ a1 ~",
  M: "a1 ~ a1 ~ g1 ~ f#1 ~ f1 ~ e1 ~ e2!2 a1 ~", N: "f#1 ~ f#1!3 ~ f#1 ~ f#1 ~ f#1 ~ g1 ~ f#1 ~",
  O: "f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~", P: "f1 ~@15", Q: "e1 ~@13 e1 ~",
})).s("gm_electric_bass_finger").gain(0.64)

// drums · rim
const rim = s("rim").struct("<~@16 A@7 B A@8 C D E F A@3 ~ A@3 ~@2 A@7 B A@8 C D E F A@3 ~ A@3 ~@2>".pickRestart({
  A: "~ x ~ x", B: "~ x ~ x ~@2 x ~", C: "~@4 x ~@2 x", D: "~@3 x ~@4", E: "~@3 x ~@3 x", F: "~ x ~@2",
})).gain(0.64)

// drums · kick
const kick = s("bd").struct("<~@33 [~ x] ~@28 [~ x] ~@11>").gain(0.64)

// drums · snare
const snare = s("sd").struct("<~@14 A B ~@19 C ~@3 D ~@24 C ~@3 D ~@5>".pickRestart({
  A: "~ x", B: "x!4", C: "~@12 x!2 ~@2", D: "x!8",
})).gain(0.64)

// drums · pedal hat
const pedal_hat = s("hh").struct("<[x!4]!4 [~ x!3 ~ x!3 ~ x!3 ~ x!3]!12 ~@58>").gain(0.64)

// drums · mid tom
const mid_tom = s("mt").struct("<~@35 A ~@3 B ~@3 B ~@13 C ~@6 A ~@3 B ~@3 B ~>".pickRestart({
  A: "~@15 x", B: "x!8", C: "x",
})).gain(0.64)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@4 A@10 B ~ C@4 D C E F C@3 G C@3 G D C@2 H D C@2 ~ D C@2 ~@2 C@4 D C D F C@3 G C@3 G D C@2 H D C@2 ~ D C@2 ~@2
>`.pickRestart({
  A: "x!4", B: "~ x ~ x", C: "x!8", D: "~ x!7", E: "~ x!3 ~ x!3", F: "~ x ~ x ~ x ~ x", G: "x!4 ~ x ~ x", H: "x!4 ~@4",
})).gain(0.64)

// drums · high tom
const high_tom = s("ht").struct("<~@35 A ~@7 B ~@20 A ~@7 B ~>".pickRestart({
  A: "~@7 x", B: "x!8",
})).gain(0.64)

// drums · crash
const crash = s("cr").struct(`<
  ~@14 A B ~@4 C ~ A B ~@3 D ~@3 D C ~@2 E C ~@3 C ~@8 C ~ C B ~@3 D ~@3 D C ~@2 E C ~@3 C ~@4
>`.pickRestart({
  A: "x!2", B: "x!4", C: "x", D: "~@2 x!2", E: "~ x",
})).gain(0.64)

stack(
  distortion_guitar, distortion_guitar_2, distortion_guitar_3, electric_guitar_muted, electric_guitar_muted_2, bass,
  rim, kick, snare, pedal_hat, mid_tom, open_hat, high_tom, crash
)

More by Metallica