Strudelify
Beat It cover art

1982 · Thriller

Beat It

Michael Jackson

KeyE♭ minorTempo139 bpm
0:00/0:00
// Beat It — Jackson Michael
// 139 bpm, 4/4, key D# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 154 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): DISTORTION.
setcpm(139/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 · epiano2 · "E.PIANO 2"
const epiano2 = note(`<
  ~@7 A@4 ~@11 B C B C D C B C B C B C D C B C B C B C B C B C B C B C B C B C D C B C B C B C D C B C B C B C B C B C B
  C B C B C B C E@15 F B C B C D C B C B C B C D C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B ~@9
>`.pickRestart({
  A: "[b5@15 ~]/4", B: "[bb3,eb4,gb4]", C: "[ab3,db4,f4]", D: "[gb3,b3,eb4]", E: "eb2!16", F: "eb2!14 ~@2",
})).s("gm_epiano2").gain(0.36)

// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
  ~@13 A@8 B C D E F G D E F C D E F G D E H@8 I@5 C D E F G D E F C D E F G D E H@8 J@8 B K L K L K L K L K L K L K L K
  M C D E F G D E F C D E F G D E H@8 J@24 ~@9
>`.pickRestart({
  A: "[~@14 eb1@4 gb1@2 bb1@2 gb2@2 eb2@6 eb2@4 eb2@2 db2@2 ~@2 db2 ~@5 eb1@4 gb1@2 bb1@2 gb2@2 eb2@6 eb2@4 eb2@2 db2@2 ~@8 eb1@4 gb1@2 bb1@2 gb2@2 eb2@6 eb2@4 eb2@2 db2@2 ~@2 db2 ~@5 eb1@4 gb1@2 bb1@2 gb2@2 eb2@6 eb2@2]/8",
  B: "~ eb2 db2 ~@5", C: "~@2 eb2 ~ eb2 ~@3 eb2 ~@5 db2 ~", D: "db2@2 ~@2 db2 ~@11",
  E: "~@2 eb2 ~ eb2@2 ~@2 eb2@2 ~@4 db2 ~", F: "db2 ~ db2 ~@5", G: "~@2 b1 ~ b1 ~@3 b1 ~@5 db2 ~",
  H: "[db2@2 ~@2 db2@2 ~@8 eb1@4 gb1@2 bb1@2 gb2@2 eb2@6 eb2@4 eb2@2 db2@2 ~@2 db2 ~@5 eb1@4 gb1@2 bb1@2 gb2@2 eb2@6 eb2@4 eb2@2 db2@2 ~@8 eb1@4 gb1@2 bb1@2 gb2@2 eb2@6 eb2@4 eb2@2 db2@2 ~@2 db2 ~@5 eb1@4 gb1@2 bb1@2 gb2@2 eb2@6 eb2@2]/8",
  I: "[~@2 eb2@2 db2@2 ~@8 eb1@4 gb1@2 bb1@2 gb2@2 eb2@6 eb2@4 eb2@2 db2@2 ~@2 db2 ~@5 eb1@4 gb1@2 bb1@2 gb2@2 eb2@6 eb2@4 eb2@2 db2@2 ~@10]/5",
  J: "[~@2 eb2@2 db2@2 ~@8 eb1@4 gb1@2 bb1@2 gb2@2 eb2@6 eb2@4 eb2@2 db2@2 ~@2 db2 ~@5 eb1@4 gb1@2 bb1@2 gb2@2 eb2@6 eb2@4 eb2@2 db2@2 ~@8 eb1@4 gb1@2 bb1@2 gb2@2 eb2@6 eb2@4 eb2@2 db2@2 ~@2 db2 ~@5 eb1@4 gb1@2 bb1@2 gb2@2 eb2@6 eb2@2]/8",
  K: "~@2 eb1 ~ eb1@2 ~@2 eb1@2 ~@4 eb1 ~", L: "eb1 ~ eb1 ~@5", M: "eb1@2 ~@2 eb1@2 ~@8 eb1 ~",
})).s("gm_electric_bass_finger").gain(0.44)

// chords · overdriven guitar · "OVERDRIVE"
const overdriven_guitar = note(`<
  ~@13 A@8 B C D E D F D E D C D E D F D E G@8 H@5 C D E D F D E D C D E D F D E I@8 J@8 B K L K L K L K L K L K L K L K
  M N O E D F D E D C D E D F D E G@8 J@16 P@8 ~@9
>`.pickRestart({
  A: "[~@7 eb2@2 gb2 bb2 gb3 eb3@3 eb3@2 eb3 db3 ~ db3 ~@2 eb2@2 gb2 bb2 gb3 eb3@3 eb3@2 eb3 db3 ~@4 eb2@2 gb2 bb2 gb3 eb3@3 eb3@2 eb3 db3 ~ db3 ~@2 eb2@2 gb2 bb2 gb3 eb3@3 eb3]/8",
  B: "~ eb3 db3 ~@5", C: "eb2 ~ [eb3,bb3]@2 [eb3,bb3]@2 ~@2 [eb3,bb3]@2 ~@4 [db3,ab3]@2",
  D: "[db3,ab3] ~ [db3,ab3] ~@5", E: "~ [eb3,bb3]!2 ~ [eb3,bb3] ~@2 [db3,ab3]",
  F: "~ [b2,gb3]!2 ~ [b2,gb3] ~@2 [db3,ab3]", // B5 Db5
  G: "[[db3,ab3] ~ [db3,ab3] ~@4 eb2@2 gb2 bb2 gb3 eb3@3 eb3@2 eb3 db3 ~ db3 ~@2 eb2@2 gb2 bb2 gb3 eb3@3 eb3@2 eb3 db3 ~@4 eb2@2 gb2 bb2 gb3 eb3@3 eb3@2 eb3 db3 ~ db3 ~@2 eb2@2 gb2 bb2 gb3 eb3@3 eb3]/8", // Db5
  H: "[~ eb3 db3 ~@4 eb2@2 gb2 bb2 gb3 eb3@3 eb3@2 eb3 db3 ~ db3 ~@2 eb2@2 gb2 bb2 gb3 eb3@3 eb3@2 eb3 db3 ~@5]/5",
  I: "[[db3,ab3] ~ [db3,ab3] ~@3 gb2 eb2@2 gb2 bb2 gb3 eb3@3 eb3@2 eb3 db3 ~ db3 ~@2 eb2@2 gb2 bb2 gb3 eb3@3 eb3@2 eb3 db3 ~@4 eb2@2 gb2 bb2 gb3 eb3@3 eb3@2 eb3 db3 ~ db3 ~@2 eb2@2 gb2 bb2 gb3 eb3@3 eb3]/8", // Db5
  J: "[~ eb3 db3 ~@4 eb2@2 gb2 bb2 gb3 eb3@3 eb3@2 eb3 db3 ~ db3 ~@2 eb2@2 gb2 bb2 gb3 eb3@3 eb3@2 eb3 db3 ~@4 eb2@2 gb2 bb2 gb3 eb3@3 eb3@2 eb3 db3 ~ db3 ~@2 eb2@2 gb2 bb2 gb3 eb3@3 eb3]/8",
  K: "~ eb2!2 ~ eb2 ~@2 eb2", L: "eb2 ~ eb2 ~@5",
  M: "[db4,gb4]@2 [ab3,db4]!2 [db4,gb4]@2 [bb3,eb4]@5 [f3,gb3,g3,bb3,b3,c4] [d3,eb3,e3,g3,ab3,a3] [c3,db3,f3,gb3] ~@2", // Gb5 Db5 Gb5 Eb5 Dbmaj7
  N: "~ bb3 eb3 ~ eb3 ~@2 db3", O: "db3 ~ db3 ~@5",
  P: "[~ eb3 db3 ~@4 eb2@2 gb2 bb2 gb3 eb3@3 eb3@2 eb3 db3 ~ db3 ~@2 eb2@2 gb2 bb2 gb3 eb3@3 eb3@2 eb3 db3 ~@4 eb2@2 gb2 bb2 gb3 eb3@3 eb3@2 eb3 db3 ~ db3 ~@2 eb2@2 gb2 ~@6]/8",
})).s("gm_overdriven_guitar").gain(0.25).pan(0.3)

// other · distortion guitar · "DISTORTION"
const distortion_guitar = note("<~@97 [eb2 ~ eb2 ~@4 eb3] [~ eb4 ~@6] ~@55>")
  .s("gm_distortion_guitar").gain(0.32).pan(0.7)

// chords · overdriven guitar · "OVERDRIVE"
const overdriven_guitar_2 = note(`<
  ~@17 A B C D E ~@68 F G F G F G H I@3 J K L M@3 N O P Q R S@2 T U V ~@38
>`.pickRestart({
  A: "~@14 [bb4,eb5] [c4,bb4]", // Eb5 C7
  B: "[c4,eb5] [g3,bb4] [c4,ab4] [ab3,db4] [db4,gb4]@2 [ab3,db4]!2 [db4,gb4]@2 [bb3,eb4]@4 [bb3,eb4]!2", // Cm Gm Fm Db5 Gb5 Db5 Gb5 Eb5
  C: "[db4,bb4]@2 [ab3,db4]!2 [db4,f4]@2 [ab3,db4]@5 [f3,gb3,g3,bb3,b3,c4] [d3,eb3,e3,g3,ab3,a3] [b2,c3,db3,e3,f3,gb3] [ab2,a2,bb2,db3,d3,eb3] [f2,gb2,g2,bb2,b2,c3]", // Gb Db5 Db Db5
  D: "[e2,a2,ab3,db4] ab3 [ab3,db4]!2 [db4,gb4]@2 [ab3,db4]!2 [db4,gb4]@2 [bb3,eb4]@4 [bb3,eb4]!2", // Amaj7 Db5 Gb5 Db5 Gb5 Eb5
  E: "[db4,bb4]@2 [ab3,db4]!2 [db4,f4]@2 [ab3,db4]@5 [f3,gb3,g3,bb3,b3,c4] [d3,eb3,e3,g3,ab3,a3] [b2,c3,db3,e3,f3,gb3] [ab2,a2,bb2,db3,d3,eb3] [gb2,g2,b2,c3]", // Gb Db5 Db Db5 Cmaj7
  F: "[ab3,db4]!4 [db4,gb4]@2 [ab3,db4]!2 [db4,gb4]@2 [bb3,eb4]@4 [bb3,eb4]!2", // Db5 Gb5 Db5 Gb5 Eb5
  G: "[db4,gb4]@2 [ab3,db4]!2 [db4,gb4]@2 [bb3,eb4]@5 [f3,gb3,g3,bb3,b3,c4] [d3,eb3,e3,g3,ab3,a3] [c3,db3,f3,gb3] ~@2", // Gb5 Db5 Gb5 Eb5 Dbmaj7
  H: "[ab3,db4]!4 [db4,gb4]@2 [ab3,db4]!2 [db4,gb4]@2 [bb3,eb4]@4 bb3 [bb3,eb4]", I: "[~@4 bb2@10 db4@3 ~@7]/3",
  J: "~@4 f5 eb5 [db5,f5] gb5 f5 eb5 [db5,f5] gb5 f5 eb5 [db5,f5] gb5", // Db
  K: "[eb5,f5] [c5,db5] db5 [bb4,c5] ab4 [c5,db5] c5 [ab4,bb4] bb4@4 bb4@3 ~", // Ebsus2 Dbmaj7 Bbsus2 Dbmaj7 Absus2
  L: "~@3 bb4 ~ [bb4,db5] f5 [eb5,bb5] gb5 [eb5,f5] eb5 [db5,f5] bb4 [db5,eb5] ~ [db5,f5]", // Bbm Eb5 Ebsus2 Db Dbsus2 Db
  M: "[bb4 [db5,eb5] f5 [bb4,db5] eb5 bb4 ab4@3 gb4 db5@4 bb4 db5@3 db5 [bb4,eb5] bb4 ab4@6 [gb3,gb4]@8 [ab4,db5,d5] [eb5,e5,f5] ~@3 eb4@3 ~ db4@3 c4, ~@21 db5 ~@18 db4 ~@7]/3", // Dbsus2 Bbm Eb5 Gb Db
  N: "[a3,bb3,b3] [gb3,g3,ab3] [f3,db4]@2 eb4 db4 bb3 db4@3 eb4 [bb3,db4] db4@3 eb4", // Db Bbm
  O: "[bb3,db4] db4@3 eb4 [bb3,db4] ab3@2 ~@8", P: "~@2 [gb5,g5] [ab5,a5,bb5] eb5@2 db5@2 eb5 bb4 gb5@5 eb5",
  Q: "db5 ab4@2 gb4 ab4@5 [f4,gb4,g4] [d4,eb4,e4] [b3,c4,db4] bb3 db5 gb4 b4",
  R: "b4 eb5 db5 gb4 b4 [gb4,b4] eb5 [gb4,db5] b4 eb5 [gb4,db5] b4 gb4 b4 [db5,eb5] gb4", // B5 Gb5 Dbsus2
  S: "[db5 [db5,f5] ~ [db5,ab5] ab5 db5@2 b4 [e3,f3,a3,bb3,bb4] [gb3,g3,ab3,b3,c4,db4] [a3,bb3,d4,eb4]@2 db5@8 eb5!2 f5!2 gb5!6 ab5!2]/2", // Db Db5 Fmaj7 Ebmaj7
  T: "ab5!4 bb5!8 b5 [b5,c6] c6 db6", U: "d6 [d6,eb6] eb6!8 eb6@6",
  V: "ab4 [d3,ab5] gb5 [gb5,ab5] [bb4,db6] [b3,c4,db4] [ab3,a3,bb3] [f3,gb3,g3] [d3,eb3,e3] [b2,c3,db3] [ab2,a2,bb2] [f2,gb2,g2] [d2,eb2,e2] [c2,db2] ~@2", // Ddim Gbsus2 Bbm Dbmaj7
})).s("gm_overdriven_guitar").gain(0.37).pan(0.7)

// other · guitar harmonics · "HARMONICS"
const guitar_harmonics = note("<~@95 A ~ B ~ C@2 ~@4 D ~ E ~@46>".pickRestart({
  A: "~@5 ab2 ~ ab2!3 ~ ab2!3 ~@2", B: "~@2 [ab2,a2] [bb2,b2,c3] [db3,d3,eb3] [e3,f3,gb3] [g3,ab3,a3] eb3 ~@8",
  C: "[~ ab3@4 bb3 eb4@4 ~@6]/2", D: "~ eb4 ~@2", E: "~ eb4",
})).s("gm_guitar_harmonics").gain(0.45)

// other · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note(`<
  ~@13 A@8 B ~@8 C D C D E D E F@8 G@5 ~@8 C D C D E D E H@8 I@8 B J K J K J K J K J K J K J K J K L M L M N M L M L M L
  M N M L O@8 I@16 P@8 ~@9
>`.pickRestart({
  A: "[~@14 eb2@4 gb2@2 bb2@2 gb3@2 eb3@6 eb3@4 eb3@2 db3@2 ~@2 db3 ~@5 eb2@4 gb2@2 bb2@2 gb3@2 eb3@6 eb3@4 eb3@2 db3@2 ~@8 eb2@4 gb2@2 bb2@2 gb3@2 eb3@6 eb3@4 eb3@2 db3@2 ~@2 db3 ~@5 eb2@4 gb2@2 bb2@2 gb3@2 eb3@6 eb3@2]/8",
  B: "~ eb3 db3 ~@5", C: "db3 ~ eb3 ~ db3 ~ eb3 ~ gb3 ~ eb3 ~ db3 ~ eb3 ~",
  D: "f3 ~ eb3 ~ db3 ~ eb3 ~ f3 ~ eb3 ~ db3 ~ eb3 ~", E: "db3 ~ eb3 ~ eb3 ~ eb3 ~ gb3 ~ eb3 ~ db3 ~ eb3 ~",
  F: "[f3 ~ eb3 ~ db3 ~ eb3 ~@7 eb2@4 gb2@2 bb2@2 gb3@2 eb3@6 eb3@4 eb3@2 db3@2 ~@2 db3 ~@5 eb2@4 gb2@2 bb2@2 gb3@2 eb3@6 eb3@4 eb3@2 db3@2 ~@8 eb2@4 gb2@2 bb2@2 gb3@2 eb3@6 eb3@4 eb3@2 db3@2 ~@2 db3 ~@5 eb2@4 gb2@2 bb2@2 gb3@2 eb3@6 eb3@2]/8",
  G: "[~@2 eb3@2 db3@2 ~@8 eb2@4 gb2@2 bb2@2 gb3@2 eb3@6 eb3@4 eb3@2 db3@2 ~@2 db3 ~@5 eb2@4 gb2@2 bb2@2 gb3@2 eb3@6 eb3@4 eb3@2 db3@2 ~@10]/5",
  H: "[f3 ~ eb3 ~ db3 ~ eb3 ~@5 gb2@2 eb2@4 gb2@2 bb2@2 gb3@2 eb3@6 eb3@4 eb3@2 db3@2 ~@2 db3 ~@5 eb2@4 gb2@2 bb2@2 gb3@2 eb3@6 eb3@4 eb3@2 db3@2 ~@8 eb2@4 gb2@2 bb2@2 gb3@2 eb3@6 eb3@4 eb3@2 db3@2 ~@2 db3 ~@5 eb2@4 gb2@2 bb2@2 gb3@2 eb3@6 eb3@2]/8",
  I: "[~@2 eb3@2 db3@2 ~@8 eb2@4 gb2@2 bb2@2 gb3@2 eb3@6 eb3@4 eb3@2 db3@2 ~@2 db3 ~@5 eb2@4 gb2@2 bb2@2 gb3@2 eb3@6 eb3@4 eb3@2 db3@2 ~@8 eb2@4 gb2@2 bb2@2 gb3@2 eb3@6 eb3@4 eb3@2 db3@2 ~@2 db3 ~@5 eb2@4 gb2@2 bb2@2 gb3@2 eb3@6 eb3@2]/8",
  J: "~@2 eb2 ~ eb2 ~@3 eb2 ~@5 eb2 ~", K: "eb2 ~@3 eb2 ~@11", L: "~@2 eb3 ~ eb3 ~@3 eb3 ~@5 db3 ~",
  M: "db3 ~@3 db3 ~@11", N: "~@2 b2 ~ b2 ~@3 b2 ~@5 db3 ~",
  O: "[db3 ~@3 db3 ~@9 eb2@4 gb2@2 bb2@2 gb3@2 eb3@6 eb3@4 eb3@2 db3@2 ~@2 db3 ~@5 eb2@4 gb2@2 bb2@2 gb3@2 eb3@6 eb3@4 eb3@2 db3@2 ~@8 eb2@4 gb2@2 bb2@2 gb3@2 eb3@6 eb3@4 eb3@2 db3@2 ~@2 db3 ~@5 eb2@4 gb2@2 bb2@2 gb3@2 eb3@6 eb3@2]/8",
  P: "[~@2 eb3@2 db3@2 ~@8 eb2@4 gb2@2 bb2@2 gb3@2 eb3@6 eb3@4 eb3@2 db3@2 ~@2 db3 ~@5 eb2@4 gb2@2 bb2@2 gb3@2 eb3@6 eb3@4 eb3@2 db3@2 ~@8 eb2@4 gb2@2 bb2@2 gb3@2 eb3@6 eb3@4 eb3@2 db3@2 ~@2 db3 ~@5 eb2@4 gb2@2 ~@12]/8",
})).s("gm_electric_guitar_muted").gain(0.4)

// other · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note("<~@6 A B A B A B A B C@130 ~@10>".pickRestart({
  A: "gb2 ~@3 [d2,gb2] ~@3 [c2,gb2] ~@3 [d2,eb2,gb2] ~ gb2 ~", // D Cdim D
  B: "[c2,gb2] ~@3 [c2,d2,gb2] ~@3 gb2 ~ [c2,gb2] ~ [d2,eb2,gb2] ~ gb2 ~", C: "~@12 eb2 ~@3",
})).s("gm_acoustic_guitar_steel").gain(0.63)

// other · acoustic guitar steel · "STEEL GTR" · soft notes
const acoustic_guitar_steel_2 = note("<~@6 A B A B A B A B ~@140>".pickRestart({
  A: "c2 ~ gb2 ~@3 gb2 ~@3 gb2 ~@5", B: "~@2 gb2 ~@3 gb2 ~@9",
})).s("gm_acoustic_guitar_steel").gain(0.32)

// chords · synth strings 1 · "SYN STR 1"
const synth_strings_1 = note(`<
  ~@42 A B A C D B A E@3 ~@6 F@2 G@3 H I J D C D C D C D C D C D C D C D C ~@32 D C D C D C D C D C D C D C D C D C D C
  D C D C D C D C D C D ~@9
>`.pickRestart({
  A: "[gb5,bb5]@15 ~", B: "[f5,ab5]@15 ~", C: "[f5,ab5]", D: "[gb5,bb5]", E: "[[db4,db5]@15 [eb4,eb5]@29 ~@4]/3",
  F: "[bb3@7 ab3]/2", G: "[bb3@23 ~ bb3 ab3 ~ gb3 eb3@19 ~]/3", H: "f3", I: "eb3", J: "db3",
})).s("gm_synth_strings_1").gain(0.16)

// other · alto sax
const alto_sax = note(`<
  ~@27 A B C ~@5 A D ~ E F G H I J K L M N M N ~@5 A B C ~@5 A D ~ O P G Q I R K L O S G T I R K L D ~@31 U V G T I W K
  L U X Y@2 I W I L U Z G T I W I L U AA G T I W ~@10
>`.pickRestart({
  A: "~@12 eb4 ~@3", B: "gb4@2 eb4 ~@9 eb4 ~@3", C: "f4@2 db4 ~@13", D: "gb4@2 eb4 ~@13",
  E: "bb4@2 bb4@5 ~ gb4 ~ gb4@5 ~", F: "bb4 ~ bb4@4 ~@2 f4 ~ f4@3 ~ gb4@2",
  G: "~@2 gb4 ~ gb4 ~ gb4 ~ bb4@3 ~ gb4 ~ ab4@2", H: "~@2 f4 ~@11 f4@2", I: "~@2 eb4 ~ f4 ~@3 eb4@2 f4 ~@3 f4 ~",
  J: "~@2 eb4 ~ f4 ~@3 eb4 ~ db4 ~@3 f4 ~", K: "~@2 eb4 ~ f4 ~@3 eb4 ~ f4 ~@3 f4 ~",
  L: "~@2 eb4 ~ f4 ~@3 eb4 ~@3 f4 ~@3", M: "~@8 gb4@2 eb4 ~@5", N: "~@4 ab4@2 f4 ~@9",
  O: "bb4 ~ bb4@5 ~ gb4 ~ gb4@4 ~@2", P: "bb4@2 bb4@4 ~@2 f4@2 f4@3 ~ gb4@2", Q: "~@2 f4 ~@11 gb4 ~",
  R: "~@2 eb4 ~ f4 ~@3 eb4@2 db4 ~@3 f4 ~", S: "bb4 ~ bb4@5 ~ f4 ~ f4@3 ~ gb4@2", T: "~@2 f4 ~@11 f4 ~",
  U: "bb4 ~ bb4@5 ~ gb4 ~ gb4@5 ~", V: "bb4@2 bb4@5 ~ f4 ~ f4 ~@3 gb4@2", W: "~@2 eb4 ~ f4 ~@3 eb4@2 bb3 ~@3 f4 ~",
  X: "bb4 ~ bb4@5 ~ f4@2 f4@4 gb4@2", Y: "[~@2 gb4 ~ gb4 ~ gb4 ~ bb4@3 ~ gb4 ~ ab4@4 f4 ~@11 f4 ~]/2",
  Z: "bb4 ~ bb4@4 ~@2 f4@2 f4@3 ~ gb4@2", AA: "bb4@2 bb4@5 ~ f4 ~ f4@4 gb4@2",
})).s("gm_alto_sax").gain(0.49).pan(0.4)

// other · tenor sax
const tenor_sax = note(`<
  ~@27 A B C ~@5 A D ~ E F G@2 H I H J K L K L ~@5 M B C ~@5 A D ~ N O P Q R S T U E V W@2 R I T U X ~@31 Y Z P AA H I H
  J N AB AC@2 H I H J AD AE AC@2 H I H J N AE P AA H AF ~@10
>`.pickRestart({
  A: "~@12 eb4 ~@3", B: "gb4@2 eb4 ~@9 eb4 ~@3", C: "f4@2 db4 ~@13", D: "gb4@2 eb4 ~@13",
  E: "bb4@2 bb4@5 ~ eb4 ~ eb4@5 ~", F: "bb4@2 bb4@4 ~@2 db4 ~ db4@4 eb4@2",
  G: "[~@2 eb4 ~ eb4 ~ eb4 ~ gb4@3 ~ eb4 ~ f4@4 db4 ~@11 eb4@2]/2", H: "~@2 db4 ~ eb4 ~@3 db4@2 eb4 ~@3 eb4 ~",
  I: "~@2 db4 ~ eb4 ~@3 db4@2 bb3 ~@3 eb4 ~", J: "~@2 db4 ~ eb4 ~@3 db4 ~@3 eb4 ~@3", K: "~@8 gb4@2 eb4 ~@5",
  L: "~@4 ab4@2 f4 ~@9", M: "~@6 eb4 ~", N: "bb4@2 bb4@5 ~ eb4@2 eb4@5 ~", O: "bb4 ~ bb4@5 ~ db4@2 db4@3 ~ eb4@2",
  P: "~@2 eb4 ~ eb4 ~ eb4 ~ gb4@3 ~ eb4 ~ f4@2", Q: "~@2 db4 ~@11 gb4 ~", R: "~@2 eb4 ~ gb4 ~@3 db4@2 eb4 ~@3 eb4 ~",
  S: "~@2 db4 ~ eb4 ~@3 db4@2 bb3 ~@3 f4 ~", T: "~@2 eb4 ~ gb4 ~@3 eb4@2 db4 ~@3 eb4 ~",
  U: "~@2 db4 ~ eb4 ~@3 eb4 ~@3 db4 ~@3", V: "bb4@2 bb4@5 ~ db4@2 db4@3 ~ eb4@2",
  W: "[~@2 eb4 ~ eb4 ~ eb4 ~ gb4@3 ~ eb4 ~ f4@4 db4 ~@11 gb4 ~]/2", X: "eb4@2 eb4 ~@13", Y: "bb4@2 bb4@6 eb4 ~ eb4@5 ~",
  Z: "bb4@2 bb4@5 ~ db4 ~ db4@4 eb4@2", AA: "~@2 db4 ~@11 eb4 ~", AB: "bb4@2 bb4@5 ~ db4 ~ db4@3 ~ eb4@2",
  AC: "[~@2 eb4 ~ eb4 ~ eb4 ~ gb4@3 ~ eb4 ~ f4@4 db4 ~@11 eb4 ~]/2", AD: "bb4 ~ bb4@5 ~ eb4@2 eb4@4 ~@2",
  AE: "bb4@2 bb4@4 ~@2 db4@2 db4@3 ~ eb4@2", AF: "~@2 db4 ~ eb4 ~@3 db4 ~ bb3 ~@3 eb4 ~",
})).s("gm_tenor_sax").gain(0.4).pan(0.6)

// drums · kick
const kick = s("bd").struct(`<
  ~@13 A B C B C B C B C B C B C B C B C B C B C B C B D B C B C B C B C B C B C B C B C B C B C B C B C B C B D B C B C
  B C B C B C B C B C B C B C B C B C B C B C B C B C B D B C B C B C B C B C B C B C B D B C B C B C B C B C B C B C B
  D B C B D B C B C B C B C B C E ~@9
>`.pickRestart({
  A: "~@7 x", B: "x!2", C: "x ~ x ~@2 x ~@2", D: "x ~ x ~@2 x ~ x", E: "x",
})).gain(0.38)

// drums · snare
const snare = s("sd").struct("<~@13 [~@5 x!3] [~ x ~ x]!130 ~@10>").gain(0.49)

// drums · clap
const clap = s("cp").struct("<~@6 [~@3 x]!138 ~@10>").gain(0.55)

// drums · hihat
const hihat = s("hh").struct(`<
  ~@14 A@8 B A@7 B A@6 C A@8 B A@3 B A@7 B A@6 C B A@15 B A@14 C A@8 B A@6 C A@15 C B A@13 D ~@9
>`.pickRestart({
  A: "x!8", B: "~ x!7", C: "x!7 ~", D: "x!2 ~@6",
})).gain(0.22)

// drums · open hat
const open_hat = s("oh").struct("<~@65 [~@7 x] ~@88>").gain(0.38)

// drums · crash
const crash = s("cr").struct(`<
  ~@13 A ~@8 B ~@7 B ~@6 A ~@8 B ~@3 B ~@7 B ~@7 B ~@15 B ~@14 A B ~@7 B ~@6 A ~@15 A B ~@23
>`.pickRestart({
  A: "~@7 x", B: "x",
})).gain(0.38)

// drums · cabasa
const cabasa = s("cabasa:4").struct("<~@12 A B ~@72 C D C D ~@4 C D C D ~@56>".pickRestart({
  A: "~ x!2 ~ x ~@2 x", B: "x!2 ~@2", C: "~ x!2 ~ x!2 ~ x", D: "x ~ x!2 ~@4",
})).gain(1.66)

stack(
  epiano2, bass, overdriven_guitar, distortion_guitar, overdriven_guitar_2, guitar_harmonics, electric_guitar_muted,
// … 3 more lines

More by Michael Jackson