Strudelify

Eye of the Beholder

Metallica

KeyG majorTempo124 bpm
0:00/0:00
// Eye of the Beholder — Metallica
// 124 bpm, 4/4, key G major. 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, 12/8 at bar 53, 4/4 at bar 61, 12/8 at bar 97, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 3 "Guitar 2" distortion guitar (copy of ch 2 "Guitar 1" distortion guitar)
// note: Full arrangement: all 198 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(124/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 B@13 C D C D C D C E F@4 G@3 H G@3 I J K L K L K L K L M N K L K L K L K O P@2 Q@3 R S T U V W X Y Z X Y Z X AA AB
  AC G@3 I AD AE AF AE AF AE AF AE AF AG AH AE AF AE AF AE AF AI@2 AJ AK AL@2 AM AN AO AP AQ AR AS@2 AT AS@2 AT AS@2 AU
  AV AW@3 AX AY AZ BA AZ BA AZ BB AZ BB BC BD BE BF BG BH BI BH BJ ~@3 BK BL BM BL BN BO BP BQ BR BS@2 BT BS@3 BU BV BW
  BX BW BX BW BX BY@2 BZ CA CB@2 CC CD CE CF CG CH@2 CI CJ@2 CI CJ@2 CI CK@2 CL CM@3 CN CO CP CQ CR CS CT
>`.pickRestart({
  A: "~@4 e3!2 [e3,e4,b4]@2 e3!8", B: "e3@2 e3@2 e3!2 [e3,e4,b4]@2 e3!8", C: "b3@2 b3@2 b3!2 b3@2 d4!8",
  D: "b3@2 b3@2 b3!2 b3@2 b3!8", E: "b3@2 b3@2 b3!2 b3@2 e3 [e3,e4] e3@2 e3@2 e3@2",
  F: "e3@2 e3 [e3,e4] e3 [e3,e4] e3@2 e3 [e3,e4] e3@2 e3@2 e3@2", // E
  G: "[e4,b4]@2 [e4,b4]@2 [e4,b4]@4 [e4,a#4]@7 ~ e3@2 [e3,e4]@2 e3@4 e3@4 e3@4", // E5 Edim E
  H: "a#4 b4 a#4 e3 e4 f4 e4 e3!2 [e3,e4] e3@2 e3@2 e3@2", I: "a#4 b4 a#4 e3 e4 f4 e4 e3 a#3 b3 a#3 e3 f#3 g3 f#3 e3",
  J: "[e3,b3,e4]@7 ~ [e3,b3,e4]@2 ~@6", K: "e3!8 g3@2 g3@2 g3!2 [g3,d4,g4]@2",
  L: "f#3!8 f#3@2 f#3@2 f#3!2 [f#3,c#4,f#4]@2", M: "e3!8 e3@2 e3@2 e3!2 [e3,e4]@2",
  N: "e3@2 e3@2 e3@2 e3@2 e3@2 e3@2 e3@2 e3@2 e3@4 e3@4 e3!2 ~ e3 [e3,e4]@4", O: "[f#3,c#4,f#4]@19 ~@8 g3@2 f#3@3",
  P: "e3@3 [e4,b4,e5]@2 e3@3 [e4,b4,e5]@3 e3@2 [f4,c5,f5]@3 e3@3 [d4,a4,d5]@2 e3@3 [d4,a4,d5]@4 ~ [d#4,a#4,d#5]@3", // E5 F5 D5 D#5
  Q: "e3@3 [b3,e4,b4,e5]@2 e3@3 [b3,e4,b4,e5]@3 e3@2 [c4,f4,c5,f5]@3 e3@3 [a3,d4,a4,d5]@2 e3@3 [a3,d4,a4,d5]@4 ~ [a#3,d#4,a#4,d#5]@3", // E5 F5 D5 D#5
  R: "[e3,e4,b4]@4 ~ e3@3 e3@3 e3@2 [e3,e4,b4]@3 ~@16", S: "[g3,d4,g4]@4 ~ e3@3 e3@3 e3@2 [e3,b3,e4]@3 ~@16",
  T: "[g3,d4,g4]@4 ~ [g3,d4]@3 [g3,d4]@3 [g3,d4]@2 [g3,d4,g4]@3 ~@16", // G5
  U: "[a#3,f4]!2 [a#3,f4]@2 [g3,d4]!2 [g3,d4]@2 [a3,e4]!2 [a3,e4]@2 [g3,d4]!2 [g3,d4]@2", // A#5 G5 A5 G5
  V: "[f#3,c#4]@2 [f#3,c#4]@2 [f#3,c#4]@4 [g3,d4]@2 [g3,d4]@2 [g3,d4]@4 [f#3,c#4,f#4]@7 ~ g3@4 [g3,d4,g4]@4", // F#5 G5 F#5 G5
  W: "[f#3,c#4,f#4]@14 ~@2 [f#3,c#4,f#4]@7 ~@5 [g3,d4,g4]@4", // F#5 G5
  X: "[f#3,c#4,f#4]@7 ~ [g3,d4,g4]@7 ~ [f#3,c#4,f#4]@7 ~@5 [g3,d4,g4]@4", // F#5 G5 F#5 G5
  Y: "[f#3,c#4,f#4]@7 ~ [g3,d4,g4]@7 ~ [f#3,c#4,f#4]@7 ~ [f#3,c#4,f#4]@7 ~", // F#5 G5 F#5
  Z: "[g3,d4,g4]@11 ~ [g3,d4,g4]@4 [f#3,c#4,f#4]@7 ~@5 [g3,d4,g4]@4", // G5 F#5 G5
  AA: "[f#3,c#4,f#4]@7 ~ [g3,d4,g4]@7 ~ [f#3,c#4,f#4]@14 ~@2", // F#5 G5 F#5
  AB: "[a3,e4,a4]@11 ~ [a3,e4,a4]@4 [e3,b3,e4]@11 ~ [e3,b3,e4]@4", // A5 E5
  AC: "[e3,b3,e4]@7 ~ [e3,b3,e4]@4 ~@4 e3@2 [e3,e4]@2 e3@4 e3@4 e3@4", AD: "[e3,b3,e4]@7 ~ e3!8",
  AE: "g3@2 g3@2 g3!2 [g3,d4,g4]@2 f#3!8", AF: "f#3@2 f#3@2 f#3!2 [f#3,c#4,f#4]@2 e3!8",
  AG: "e3@2 e3@2 e3!2 [e3,e4]@2 e3!8", AH: "e3@4 e3@4 e3!2 ~ e3 [e3,e4]@4 e3@2 e3@2 e3@2 e3@2 e3@2 e3@2 e3@2 e3@2",
  AI: "[g3@4 g3@4 g3@2 g3@2 [g3,d4,g4]@4 [f#3,c#4,f#4]@19 ~@8 g3@2 f#3@3 e3@3 [e4,b4,e5]@2 e3@3 [e4,b4,e5]@3 e3@2 [f4,c5,f5]@3]/2", // G5 F#5 E5 F5
  AJ: "e3@3 [d4,a4,d5]@2 e3@3 [d4,a4,d5]@4 ~ [d#4,a#4,d#5]@3 e3@3 [e4,b4,e5]@2 e3@3 [e4,b4,e5]@3 e3@2 [f4,c5,f5]@3", // D5 D#5 E5 F5
  AK: "e3@3 [d4,a4,d5]@2 e3@3 [d4,a4,d5]@4 ~ [d#4,a#4,d#5]@3 e3@3 [b3,e4,b4,e5]@2 e3@3 [b3,e4,b4,e5]@3 e3@2 [c4,f4,c5,f5]@3", // D5 D#5 E5 F5
  AL: "e3@3 [a3,d4,a4,d5]@2 e3@3 [a3,d4,a4,d5]@4 ~ [a#3,d#4,a#4,d#5]@3 e3@3 [b3,e4,b4,e5]@2 e3@3 [b3,e4,b4,e5]@3 e3@2 [c4,f4,c5,f5]@3", // D5 D#5 E5 F5
  AM: "e3@3 [a3,d4,a4,d5]@2 e3@3 [a3,d4,a4,d5]@4 ~ [a#3,d#4,a#4,d#5]@3 [e3,e4,b4]@4 ~ e3@3 e3@3 e3@2 [e3,e4,b4]@3", // D5 D#5 E5
  AN: "~@16 [g3,d4,g4]@4 ~ e3@3 e3@3 e3@2 [e3,b3,e4]@3", // G5 E5
  AO: "~@16 [g3,d4,g4]@4 ~ [g3,d4]@3 [g3,d4]@3 [g3,d4]@2 [g3,d4,g4]@3", // G5
  AP: "~@8 [a#3,f4]!2 [a#3,f4]@2 [g3,d4]!2 [g3,d4]@2", // A#5 G5
  AQ: "[a3,e4]!2 [a3,e4]@2 [g3,d4]!2 [g3,d4]@2 [f#3,c#4]!2 [f#3,c#4]@2 [g3,d4]!2 [g3,d4]@2", // A5 G5 F#5 G5
  AR: "[f#3,c#4,f#4]@7 ~ g3@4 [g3,d4,g4]@4 [f#3,c#4,f#4]@14 ~@2", // F#5 G5 F#5
  AS: "[f#3,c#4,f#4]@7 ~@5 [g3,d4,g4]@4 [f#3,c#4,f#4]@7 ~ [g3,d4,g4]@7 ~", // F#5 G5 F#5 G5
  AT: "[f#3,c#4,f#4]@7 ~ [f#3,c#4,f#4]@7 ~ [g3,d4,g4]@11 ~ [g3,d4,g4]@4", // F#5 G5
  AU: "[f#3,c#4,f#4]@14 ~@2 [a3,e4,a4]@11 ~ [a3,e4,a4]@4", // F#5 A5
  AV: "[e3,b3,e4]@11 ~ [e3,b3,e4]@4 [e3,b3,e4]@7 ~ [e3,b3,e4]@4 ~@4", // E5
  AW: "e3@2 [e3,e4]@2 e3@4 e3@4 e3@4 [e4,b4]@2 [e4,b4]@2 [e4,b4]@4 [e4,a#4]@7 ~", // E E5 Edim
  AX: "e3 [e3,e4] e3@2 e3@2 e3@2 a#4 b4 a#4 e3 e4 f4 e4 e3", AY: "a#3 b3 a#3 e3 f#3 g3 f#3 e3 [e3,b3,e4]@7 ~",
  AZ: "[e3,e4,b4]@2 e3@2 e3@2 e3@2 [e3,e4,c5] [e4,c5] [e4,c5]@2 [e3,e4,a#4]@2 [e4,b4]@2", // E5 C Edim E5
  BA: "e3@4 e3@4 e3@4 e3@4 [e3,e4,b4]@2 [e4,b4]@2 [e4,b4]@4 [e4,a#4]@7 ~", // E5 Edim
  BB: "e3@4 e3@4 e3@4 e3@4 b3@4 d4 ~@3 g4@4 d4@4",
  BC: "[b3,f#4]@2 b3@2 b3@2 b3@2 [b3,g4]!2 [b3,g4]@2 [b3,f4]@2 [b3,f#4]@2", // B5 Em Bdim B5
  BD: "b3@4 b3@4 b3@4 b3@4 b3@4 d#4 ~@3 g4@4 d#4 ~@3",
  BE: "g4@4 d4 ~@3 [b3,f#4]@4 b3@4 b3@4 b3@4 [b3,g4]@2 [b3,g4]@2 [b3,g4]@4", // B5 Em
  BF: "[b3,f4]@4 [b3,f#4]@4 b3@4 b3@4 b3@4 b3@4 b3@4 d#4 ~@3", BG: "g4@4 d4 ~@7 a5@4 g5 a5 ~ g5 f5@4 c6@7 ~",
  BH: "a5@4 g5 a5 ~ g5 f5@4 e5@4 a5@4 g5 a5 ~ g5 f5@4 c6@4", BI: "f5@4 e5@4 f5@4 a5@4 g5 a5 ~ g5 f5@4 c6@7 ~",
  BJ: "f5 e5 ~@6", BK: "~@20 a5@4 g5 a5 ~ g5 f5@4", BL: "c6@7 ~ a5@4 g5 a5 ~ g5 f5@4 e5@4 a5@4 g5 a5 ~ g5",
  BM: "f5@4 c6@4 f5@4 e5@4 f5@4 a5@4 g5 a5 ~ g5 f5@4",
  BN: "f5@4 e5@4 f5@2 e5@2 d5@4 f5@2 e5@2 c5@4 [a3,e4]@2 [a3,e4]@2 [a3,e4] ~@3", // A5
  BO: "[a#3,f4]@2 [a#3,f4]@2 [a#3,f4] ~@3 [g#3,d#4]@2 [g#3,d#4]@2 [g#3,d#4] ~@3 [a3,e4]@2 [a3,e4]@2 [a3,e4] ~@3 [b3,f#4]@2 [b3,f#4]@2 [b3,f#4] ~@3", // A#5 G#5 A5 B5
  BP: "[a3,e4]@2 [a3,e4]@2 [a3,e4] ~@3 [g#3,d#4]@2 [g#3,d#4]@2 [g#3,d#4] ~@3 [a3,e4]@2 [a3,e4]@2 [a3,e4] ~@3 [d4,a4]@2 [d4,a4]@2 [d4,a4] ~@3", // A5 G#5 A5 D5
  BQ: "[c4,g4]@2 [c4,g4]@2 [c4,g4] ~@3 [b3,f#4]@2 [b3,f#4]@2 [b3,f#4] ~@3 [c4,g4]@2 [c4,g4]@2 [c4,g4] ~@3 [d4,a4,d5]@4 [d4,a4,d5]@4", // C5 B5 C5 D5
  BR: "[c4,g4,c5] ~@3 [c4,g4,c5] ~@3 [b3,f#4,b4] ~@3 [b3,f#4,b4] ~@3 [g3,d4,g4] ~@3 [g3,d4,g4] ~@3 [f#3,c#4,f#4]@7 ~", // C5 B5 G5 F#5
  BS: "~@4 [g3,d4,g4]@4 [f#3,c#4,f#4]@7 ~ [g3,d4,g4]@7 ~ [f#3,c#4,f#4]@7 ~", // G5 F#5 G5 F#5
  BT: "~@4 [g3,d4,g4]@4 [f#3,c#4,f#4]@7 ~ [g3,d4,g4]@7 ~ [e3,b3,e4]@7 ~", // G5 F#5 G5 E5
  BU: "~@4 [g3,d4,g4]@4 [f#3,c#4,f#4]@7 ~ [g3,d4,g4]@7 ~ [f#3,c#4,f#4]@4 [f#3,c#4,f#4]@4", // G5 F#5 G5 F#5
  BV: "[f#3,c#4,f#4]@2 [f#3,c#4,f#4]@2 ~@8 e3!4", BW: "e3!4 g3@2 g3@2 g3!2 [g3,d4,g4]@2 f#3!4",
  BX: "f#3!4 f#3@2 f#3@2 f#3!2 [f#3,c#4,f#4]@2 e3!4", // F#5
  BY: "[e3@2 e3@2 e3@2 e3@2 g3@4 g3@4 g3@2 g3@2 [g3,d4,g4]@4 [f#3,c#4,f#4]@19 ~@8 g3@2 f#3@3 e3@3 [e4,b4,e5]@2 e3@3]/2", // G5 F#5 E5
  BZ: "[e4,b4,e5]@3 e3@2 [f4,c5,f5]@3 e3@3 [d4,a4,d5]@2 e3@3 [d4,a4,d5]@4 ~ [d#4,a#4,d#5]@3 e3@3 [e4,b4,e5]@2 e3@3", // E5 F5 D5 D#5 E5
  CA: "[e4,b4,e5]@3 e3@2 [f4,c5,f5]@3 e3@3 [d4,a4,d5]@2 e3@3 [d4,a4,d5]@4 ~ [d#4,a#4,d#5]@3 e3@3 [b3,e4,b4,e5]@2 e3@3", // E5 F5 D5 D#5 E5
  CB: "[b3,e4,b4,e5]@3 e3@2 [c4,f4,c5,f5]@3 e3@3 [a3,d4,a4,d5]@2 e3@3 [a3,d4,a4,d5]@4 ~ [a#3,d#4,a#4,d#5]@3 e3@3 [b3,e4,b4,e5]@2 e3@3", // E5 F5 D5 D#5 E5
  CC: "[b3,e4,b4,e5]@3 e3@2 [c4,f4,c5,f5]@3 e3@3 [a3,d4,a4,d5]@2 e3@3 [a3,d4,a4,d5]@4 ~ [a#3,d#4,a#4,d#5]@3 [e3,e4,b4]@4 ~ e3@3", // E5 F5 D5 D#5 E5
  CD: "e3@3 e3@2 [e3,e4,b4]@3 ~@16 [g3,d4,g4]@4 ~ e3@3", CE: "e3@3 e3@2 [e3,b3,e4]@3 ~@16 [g3,d4,g4]@4 ~ [g3,d4]@3",
  CF: "[g3,d4]@3 [g3,d4]@2 [g3,d4,g4]@3 ~@16 [a#3,f4]@2 [a#3,f4]@2 [a#3,f4]@4", // G5 A#5
  CG: "[g3,d4]!2 [g3,d4]@2 [a3,e4]!2 [a3,e4]@2 [g3,d4]!2 [g3,d4]@2 [f#3,c#4]!2 [f#3,c#4]@2", // G5 A5 G5 F#5
  CH: "[[g3,d4]@2 [g3,d4]@2 [g3,d4]@4 [f#3,c#4,f#4]@7 ~ g3@4 [g3,d4,g4]@4 [f#3,c#4,f#4]@14 ~@2 [f#3,c#4,f#4]@7 ~@5 [g3,d4,g4]@4 [f#3,c#4,f#4]@7 ~]/2", // G5 F#5 G5 F#5 G5 F#5
  CI: "[g3,d4,g4]@7 ~ [f#3,c#4,f#4]@7 ~@5 [g3,d4,g4]@4 [f#3,c#4,f#4]@7 ~", // G5 F#5 G5 F#5
  CJ: "[[g3,d4,g4]@7 ~ [f#3,c#4,f#4]@7 ~ [f#3,c#4,f#4]@7 ~ [g3,d4,g4]@11 ~ [g3,d4,g4]@4 [f#3,c#4,f#4]@7 ~@5 [g3,d4,g4]@4 [f#3,c#4,f#4]@7 ~]/2", // G5 F#5 G5 F#5 G5 F#5
  CK: "[[g3,d4,g4]@7 ~ [f#3,c#4,f#4]@14 ~@2 [a3,e4,a4]@11 ~ [a3,e4,a4]@4 [e3,b3,e4]@11 ~ [e3,b3,e4]@4 [e3,b3,e4]@7 ~]/2", // G5 F#5 A5 E5
  CL: "[e3,b3,e4]@4 ~@4 e3@3 [b3,e4,b4,e5]@2 e3@3 [b3,e4,b4,e5]@3 [a3,d4,a4,d5]@2 [c4,f4,c5,f5]@3 e3@3 [a3,d4,a4,d5]@2 e3@3", // E5 D5 F5 D5
  CM: "[a3,d4,a4,d5]@4 ~ [a#3,d#4,a#4,d#5]@3 e3@3 [b3,e4,b4,e5]@2 e3@3 [b3,e4,b4,e5]@3 [a3,d4,a4,d5]@2 [c4,f4,c5,f5]@3 e3@3 [a3,d4,a4,d5]@2 e3@3", // D5 D#5 E5 D5 F5 D5
  CN: "[a3,d4,a4,d5]@4 ~ [a#3,d#4,a#4,d#5]@3 [e3,b3,e4]@4 ~ e3@3 e3@3 e3@2 [e3,b3,e4]@3 ~@8", // D5 D#5 E5
  CO: "~@8 e3@3 [b3,e4,b4,e5]@2 e3@3 [b3,e4,b4,e5]@3 e3@2 [c4,f4,c5,f5]@3 e3@3 [a3,d4,a4,d5]@2 e3@3", // E5 F5 D5
  CP: "[a3,d4,a4,d5]@4 ~ [a#3,d#4,a#4,d#5]@3 e3@3 [b3,e4,b4,e5]@2 e3@3 [b3,e4,b4,e5]@3 e3@2 [c4,f4,c5,f5]@3 e3@3 [a3,d4,a4,d5]@2 e3@3", // D5 D#5 E5 F5 D5
  CQ: "[a3,d4,a4,d5]@4 ~ [a#3,d#4,a#4,d#5]@3 [e3,b3,e4]@4 ~ [e3,b3]@3 [e3,b3]@3 [e3,b3]@2 [e3,b3,e4]@3 ~@8", // D5 D#5 E5
  CR: "~@8 [e3,b3,e4]@3 ~@21", // E5
  CS: "~@8 [g3,d4,g4]@4 ~ [e3,b3]@3 [e3,b3]@3 [e3,b3]@2 [e3,b3]@3 [e3,b3]@3 [e3,b3]@2 [e3,b3]@3", // G5 E5
  CT: "[e3,b3]@3 [e3,b3]@2 [e3,b3]@3 [e3,b3,e4]@4 ~@20", // E5
})).s("gm_distortion_guitar").gain(0.11).pan(0)

// other · distortion guitar · "Guitar 3"
const distortion_guitar_2 = note("<~@134 A B C B D E F G H I H I J ~@3 K L@2 M@2 N O P Q ~@39>".pickRestart({
  A: "~@4 [d4,a4,d5]@2 d4@2 d4@2 d4@2 [d4,a#4]!2 [d4,a#4]@2", B: "[d4,g#4]@4 [d4,a4]@4 d4@4 d4@4 d4@4 d4@4 a3@4 c4 ~@3",
  C: "f4@2 c4@2 [d4,a4,d5]@2 d4@2 d4@2 d4@2 [d4,a#4]!2 [d4,a#4]@2", // D5 Gm
  D: "f4@2 c4@2 [a3,e4,a4]@2 a3@2 a3@2 a3@2 [a3,f4] f4 f4@2", E: "[a3,d#4]@4 e4@4 a3@4 a3@4 a3@4 a3@4 a3@4 c4 ~@3",
  F: "f4@4 c4 ~@3 f4@4 c4@4 [a3,e4,a4]@4 a3@4 a3@4 a3@4", G: "[a3,f4] f4 f4@2 [a3,d#4]@2 e4@2 a3@2 a3@2 a3@2 a3@2",
  H: "a3@4 c4 ~@3 f4@4 c4@4 [d4,a4,d5]@4 d4@4 d4@4 d4@4", // D5
  I: "[d4,a#4]!2 [d4,a#4]@2 [d4,g#4]@2 [d4,a4]@2 d4@2 d4@2 d4@2 d4@2", J: "a3@4 c4 ~@3 f4@4 c4 ~@3 f4@4 c4@4 ~@8",
  K: "~@24 g4@7 ~", L: "[a4@7 ~ d5@7 ~ e5@7 ~ f6@11 ~ e6@14 e6@2 d7@11 ~]/2",
  M: "[d7@12 b6 d7 ~ b6 a#6@6 a#6@2 a#6 b6 ~ a#6 g6@7 g6!2 a#6 ~ g6 f#6@14 ~@2 f#6 g6 ~ f#6 e6@2 f#6@2]/2",
  N: "e6 d6 c#6 b5 d6 c#6 b5 a#5 b5@2 d6 c#6 b5 a#5 b5@2", O: "d6 c#6 b5 a#5 b5 ~ d6 c#6 b5 a#5 b5@2 d6 c#6 b5 c#6",
  P: "d6@2 e6@2 f#6@2 g6@2 f#6 g6 ~ f#6 e6@2 f#6@2 g6@2 a#6@4 a#6@2 b6 a#6 ~ g6 b6 a#6 ~ g6",
  Q: "b6 a#6 ~ g6 b6 a#6 ~ g6 [c#6,e6]@14 ~@10", // C#m
})).s("gm_distortion_guitar").gain(0.22)

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

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

// drums · snare
const snare = s("sd").struct(`<
  ~@14 A@7 B C@11 ~@2 C D C E C F C D G H C@3 I C@3 J C@6 K C L M B C N O C P O C Q R S C@3 ~ T C U V W C U C X A Y C@3
  T C@3 Z C@6 AA AB C AC C@2 AD C AE AD C AF AD AG C@3 I ~ C D@2 F C@3 AH C@2 AI AJ AK AI@5 S M AL C@3 N AI@2 AM AN AI@2
// … 47 more lines

More by Metallica