Strudelify

Who Is It

Michael Jackson

KeyD minorTempo103 bpm
0:00/0:00
// Who Is It — Jackson Michael
// 103 bpm, 4/4, key D minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 169 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(103/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.

// bass · electric bass finger
const bass = note(`<
  ~@9 A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B C D E F G H I J A@3 B A@3 K L ~ M ~ N ~ O ~ A@3 B A@3 B C D E F G H I J A@3 B
  A@3 K L ~ M ~ N ~ O ~ A@3 B A@3 B A@3 B A@3 K L ~ M ~ N ~ O ~ A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B
  A@3 B A@3 B A@3 B A@2 ~@6
>`.pickRestart({
  A: "d2@3 ~ d2@4 ~@2 a1@2 c2@2 a1@2", B: "g1@5 ~@3 g1@8 a1 ~@3 a1@4 c2@4 a1@4", C: "bb1@9 ~@3 bb1 ~@3 bb1@15 ~",
  D: "a1@9 ~@3 a1@4 d1@13 ~@3", E: "bb1@9 ~@3 bb1@2 ~@2 bb1@16", F: "a1@10 ~@2 a1@4 d1@13 ~@3",
  G: "bb1@5 ~ bb1 ~ bb1@8", H: "a1@11 ~ a1@4 d1@15 ~", I: "eb1@8 ~@4 eb1 ~@3 eb1@16", J: "a1@9 ~@3 a1 ~@3 a1@13 ~@3",
  K: "g1@5 ~@3 g1@8 a1 ~@15", L: "bb1@8 ~@4 bb1 ~@3 bb1@15 ~", M: "bb1@9 ~@3 bb1 ~@3 bb1@9 ~@7",
  N: "bb1@8 ~@4 bb1 ~@3 bb1@11 ~@5", O: "bb1@6 ~@6 bb1 ~@3 bb1@10 ~@6",
})).s("gm_electric_bass_finger").gain(0.48)

// bass · electric bass finger · soft notes
const bass_soft = note(`<
  ~@9 A@3 ~ A@3 ~ A@3 ~ A@3 ~ A@3 ~ A@3 ~@9 A@3 ~ A@3 ~@9 A@3 ~ A@3 ~@9 A@3 ~ A@3 ~@9 A@3 ~ A@3 ~ A@3 ~ A@3 ~@9 A@3 ~
  A@3 ~ A@3 ~ A@3 ~ A@3 ~ A@3 ~ A@3 ~ A@3 ~ A@3 ~ A@3 ~ A@3 ~ A@3 ~ A@2 ~@6
>`.pickRestart({
  A: "~@16 a1 ~@15",
})).s("gm_electric_bass_finger").gain(0.16)

// chords · epiano1
const epiano1 = note("<~@33 A B A B A B C D ~@24 A B A B A B C D ~@88 E@3 ~@5>".pickRestart({
  A: "[d4,f4,bb4]", B: "e4 [a3,f4], [d4,a4]", C: "[bb3,eb4,g4]", D: "[d4,e4,a4]",
  E: "[~@7 a4@64 ~@25, ~ a3@32 ~@15, ~@3 d4@64 ~@29, ~ e4@16 ~@7, ~@5 f4@64 ~@27]/3",
})).s("gm_epiano1").gain(0.56).pan(0.7)

// chords · string ensemble 1
const string_ensemble_1 = note(`<
  ~@8 A ~@8 B C B D E F E G ~@14 H I J@3 K L M N O P@6 Q R ~@3 S T U@2 ~@7 H I J@3 K L M N O P@6 Q R J@3 K L M N O J@3 K
  V W X Y Z@2 AA@2 AB@2 AC AD J@3 K L M N AE J@3 K L M N AE J@3 K L M N AE J@3 K L M N AE AF@2 AG AH ~@4 AF@2 AG AH ~@3
  AI AJ@2 AK AL ~@4
>`.pickRestart({
  A: "~ [f5,a5]@2 ~", B: "[f3,d4] [e3,c4], a3", C: "[f3,a3,d4] [g3,c4,e4]", D: "[f3,bb3,d4] [a3,d4,e4]",
  E: "[d4,f4] [c4,e4], a3", F: "[a3,d4,f4] [c4,e4,g4]", G: "[bb3,d4,f4] [d4,e4,a4]", H: "[bb3,eb4,g4]",
  I: "~ a5, [d4,e4,a4]", J: "[f3,a3,d4] [e3,a3,c4]", K: "[d3,g3,bb3] [e3,a3,c4]", L: "[f4,a4,d5] [a4,c5,e5], db-1 ~@7",
  M: "[a4,d5,f5] [c5,e5,g5]", N: "[a4,d5,f5] [a4,c5,e5]", O: "[a4,d5,e5,a5] ~", P: "[[f3,bb3,d4]@7 [g3,c4,e4]]/2",
  Q: "[f3,bb3,d4]", R: "~ [a3,d4,e4]@3", S: "~@24 e5 f5 e5 f5 e5 f5 e5 c5", T: "a4 ~@7",
  U: "[~@29 e6 ~@2 a6@16 ~@16, ~@15 f6 ~@16, ~@31 g6@2 ~@31]/2", V: "[db-1,f4,a4,d5,a6]@2 g6 c7, ~ [a4,c5,e5]",
  W: "[a4,d5,f5,a6]@2 g6 c7, ~ [c5,e5,g5]", X: "[a4,d5,f5,a6]@2 g6 c7, ~ [a4,c5,e5]", Y: "[a4,d5,e5,a5,a6] ~",
  Z: "[~@8 f4@4 a4@4 g4@15 ~, [f3,bb3,d4]@61 ~@3]/2", AA: "[~@16 f4@8 a4@8 g4@29 ~@3, [f3,bb3,d4]@15 ~]/2",
  AB: "[~@8 f4@4 a4@4 g4@13 ~@3, [f3,bb3,d4]@59 ~@5]/2", AC: "~ f4, [f3,bb3,d4]", AD: "~@4 [a3,d4,e4,a4]@9 ~@3",
  AE: "[a4,d5,e5,a5]", AF: "a3@2 g3 c4", AG: "a3 g3", AH: "f3 a3", AI: "~@2 [a4,d5,e5] [a5,d6,e6,a6]",
  AJ: "[f3,a3]@2 ~ c4, ~ g3", AK: "[f3,a3] g3", AL: "[f3,bb3] a3",
})).s("gm_string_ensemble_1").gain(0.4).pan(0.8)

// other · flute
const flute = note("<~@89 A B@2 C D@3 E F G H I J K L M ~@64>".pickRestart({
  A: "a2@15 g2@8 ~ c3@8", B: "a2@2 g2 c3", C: "a2@5 g2@4 ~ f2@5 e2@8 c2@7 ~@2", D: "a3@2 g3 c4",
  E: "a3@6 g3@4 f3@5 ~ e3@8 c3@7 ~", F: "~@4 d4@2 c4@2 d4@4 f4@3 e4@6 f4 ~ e4 c4@6 ~@2",
  G: "~@4 d4 ~@2 d4@4 f4@4 g4@6 ~ f4@5 e4@4 ~, ~@3 c4 ~@12", H: "~@4 d4 c4@2 d4@4 ~ f4@4 g4@6 f4@6 g4@4",
  I: "~ a4@5 g4@5 ~ f4@4 e4@6 [e4,f4] ~ c4@7 ~", J: "a4@5 ~ g4@5 f4@5 e4@5 f4 e4 ~ c4@6 ~@2",
  K: "a4@6 g4@5 f4@4 e4@6 ~ f4 e4 c4@6 ~@2", L: "a4@5 g4@5 ~ f4@5 e4@5 f4 ~ e4 c4@8", M: "d4@5 e4@6 f4@4 ~ e4@2 ~@14",
})).s("gm_flute").gain(0.4).pan(0.3)

// chords · synth brass 1
const synth_brass_1 = note(`<
  ~@25 A B C D E F G H I J K@2 L M N O P@8 Q@2 R@2 S@2 T U A B C D E F G H I J K@2 L M N O V@8 Q@2 R@2 S@2 T U ~@15 W
  X@2 R@2 Y@2 T Z AA@32 AB@8 AC@8 ~@8
>`.pickRestart({
  A: "~@8 a4@4 f4@3 g4@3 ~@2 g4@4 ~@8", B: "~@8 a4@4 f4 ~@3 g4@8 ~@8",
  C: "~@4 a4@2 ~@2 a4@4 f4@2 ~ g4@2 ~@2 g4@2 ~@3 g4@4 e4@2 ~@2",
  D: "f4@2 f4@2 f4@2 f4@2 f4@4 d4@3 ~ e4@8 ~@8, ~@16 eb4 ~@15", E: "~@4 a4@2 ~@2 a4@4 f4@4 g4@3 ~ g4@3 ~@9",
  F: "~@4 a4@2 ~@2 a4@4 f4@2 ~@2 g4@7 ~@9, ~@4 ab4 ~@27",
  G: "~@4 a4@3 ~ a4@4 f4@3 ~ g4@2 ~@2 g4@2 ~@2 g4@4 e4@2 ~@2, ~@4 ab4 ~@27",
  H: "f4@2 ~@2 f4 ~ f4@4 d4 ~@3 e4@10 ~@4 a4 ~ a4@2, ~@14 eb4 ~@17",
  I: "bb4@2 ~@2 bb4 ~ bb4@3 c5@3 ~ d5@4 ~ c5@4 ~@2 bb4@2 ~@2 bb4@2 ~@2", J: "a4@3 ~ a4 ~ a4@3 ~ d5@3 ~ a4@8 ~@8 f4 ~",
  K: "[bb4@3 ~ bb4 bb4@2 ~@2 c5@2 ~@2 d5@5 c5@2 ~@2 bb4@3 ~ bb4@2 ~@2 a4@5 ~ g4@2 f4@3 g4 ~ a4@12 ~@6 f4 ~ f4]/2",
  L: "bb4@3 ~ bb4 ~ bb4@3 c5@2 ~@2 d5@4 c5@3 ~ bb4@2 ~@3 bb4@4 ~@2",
  M: "a4@3 ~ a4 ~ a4@3 ~ d5@4 [g4,ab4] a4@8 ~@7 a4 ~", N: "bb4@3 ~ bb4 ~ bb4@2 ~@2 c5@2 ~@2 d5@4 c5@4 ~@6 d5 ~@3",
  O: "f5@4 e5@2 ~ e5 ~@2 e5@2 ~@2 f5@4 e5@5 ~ [f4,a4,d5]@4 [g4,c5,e5]@4, ~@6 d5@2 ~@6 e5 ~@17", // Dm C
  P: "[[a4,d5,f5]@3 ~ [a4,d5,f5]@3 ~ [a4,d5,f5]@3 ~ [g4,e5]@3 ~ e5@3 ~ c5@3 ~ [f4,a4,d5]@4 [g4,c5,e5]@3 ~ [d5,f5]@3 ~ a4@2 ~@2 a4@3 ~ g4@2 ~@2 [g4,e5]@4 ~@4 [f4,a4,d5]@3 ~ c5@3 ~ [a4,d5]@3 ~ a4@2 ~@2 a4@3 ~ [g4,c5]@2 ~@2 g4@3 ~ [e4,c5]@3 ~ [f4,a4,d5]@3 ~ [g4,c5]@3 ~ f4@2 ~@2 [f4,bb4,d5]@2 ~@2 [f4,bb4,d5]@3 ~ [g4,c5]@3 ~ [g4,c5,e5]@4 ~@4 [f4,a4,d5]@3 ~ e5@3 ~ [a4,d5]@3 ~ d5@2 ~@2 [a4,d5]@3 ~ e5@3 ~ e5@3 ~ [e4,c5]@3 ~ a4@3 ~ [g4,c5]@3 ~ a4@3 [a4,d5,f5]@3 ~@2 a4@3 ~ g4@2 ~@2 g4@3 ~@5 [f4,a4,d5]@3 ~ [g4,c5]@3 ~ [a4,d5]@3 ~ d5@2 ~@2 [a4,d5]@3 ~ [g4,c5]@3 ~ [g4,c5]@3 ~ [e4,a4]@3 ~ [f4,a4]@3 ~ c5@3 ~ f4@3 ~ f4@3 ~ [f4,bb4,d5]@3 ~ [g4,c5]@2 ~@2 c5@2 ~@2 [a4,a5]@4 [g4,g5]@2 [f4,f5]@2 [d4,d5]@3 ~, ~@11 c5@3 ~ [g4,c5]@4 [e4,a4]@3 ~@9 a4@3 ~ [d5,f5]@3 ~ [d5,f5]@4 [c5,e5]@3 ~ c5@4 ~@8 [g4,e5]@4 f5@3 ~ [d5,f5]@4 [d5,f5]@4 e5@3 ~ [c5,e5]@4 a4@2 ~@6 e5@4 [bb4,d5]@3 ~@9 e5@3 ~@13 g4@4 ~@4 [a4,f5]@3 ~@5 [g4,c5]@3 ~ [g4,c5]@4 a4@2 ~@2 [f4,d5]@4 ~@40 [a4,f5]@2 ~@14 c5@4 d5@4 [g4,e5]@4 [bb4,d5]@3 ~ [bb4,d5]@3 ~@9 [g4,e5]@3 ~@14, ~@124 c5@2 ~ f5@3 ~@5 f5@4 ~@16 e5@3 ~ [d5,f5]@3 ~@5 [d5,f5]@4 [c5,e5]@3 ~ [c5,e5]@4 ~@8 e5@3 ~ f5@3 ~@5 f5@4 e5@3 ~ e5@4 ~@24 e5@3 ~@18]/8", // Dm C Dm C Dm C Dm D5 …
  Q: "[~@21 d4@3 ~ f4@2 g4 ~@2 a4@4 g4@2 ~@2 g4@4 f4 d4@6 ~@2 [a4,a5]@4 [g4,g5]@3 [f4,f5]@2 [d4,d5]@2 ~@2]/2", // A G F D
  R: "[~@21 a4@4 ~ g4 ~ f4@2 ~ a4@6 ~ g4@3 f4@2 ~ d4@7 ~ [a4,a5]@4 [g4,g5]@2 [f4,f5]@2 [d4,d5]@2 ~@2, ~@31 g4 ~@32]/2", // A G F D
  S: "[~@21 d4@3 ~ f4@2 g4@2 ~@2 a4@4 g4@2 ~@3 g4@3 f4@2 d4@5 ~@2 [a4,a5]@4 [g4,g5]@2 [f4,f5]@2 [d4,d5]@3 ~, ~@31 ab4 ~@32]/2", // A G F D
  T: "~@24 a4 ~@3 a4@2 ~@2", U: "a4@2 ~@2 a4@2 ~@2 a4@2 ~@2 g4@3 ~ a4@8 ~@8",
  V: "[[a4,d5,f5]@3 ~ [a4,d5,f5]@3 ~ [a4,d5,f5]@3 ~ [g4,e5]@3 ~ e5@3 ~ c5@3 ~ [f4,a4,d5]@3 ~ [g4,c5]@3 ~ d5@3 ~ a4@2 ~@2 a4@3 ~ g4@2 ~@2 [g4,e5]@4 ~@4 [f4,a4,d5]@3 ~ c5@3 ~ a4@2 ~@2 a4@2 ~@2 a4@3 ~ [g4,c5]@2 ~@2 g4@3 ~ [e4,c5]@3 ~ [f4,a4,d5]@3 ~ g4@3 ~ f4@2 ~@2 [f4,bb4,d5]@2 ~@2 [f4,bb4,d5]@3 ~ c5@3 ~ [c5,e5]@4 ~@4 [f4,a4,d5]@3 ~ e5@3 ~ [a4,d5]@3 ~ d5@2 ~@2 d5@3 [g4,c5,e5]@3 ~@2 e5@3 ~ c5@3 ~ a4@3 ~ g4@3 ~ a4@3 [a4,d5,f5]@3 ~@2 a4@3 [g4,c5,e5]@3 ~@2 g4@3 ~@5 [f4,a4,d5]@3 ~ [g4,c5]@3 ~ [a4,d5]@3 ~ d5@2 ~@2 [a4,d5]@3 ~ [g4,c5]@3 ~ [g4,c5]@3 ~ [e4,a4]@3 ~ [f4,a4]@3 ~ c5@3 ~ f4@3 ~ f4@3 ~ [f4,bb4,d5]@3 ~ [g4,c5]@2 ~@2 c5@2 ~@2 [a4,a5]@4 [g4,g5]@2 [f4,f5]@2 [d4,d5]@3 ~, ~@11 c5@3 ~ [g4,c5]@4 [e4,a4]@3 ~@5 e5@3 ~ [a4,f5]@3 ~ [d5,f5]@3 ~ [d5,f5]@4 [c5,e5]@3 ~ c5@4 ~@8 [g4,e5]@4 [d5,f5]@3 ~ [d5,f5]@4 [d5,f5]@4 e5@3 ~ [c5,e5]@4 a4@2 ~@6 [c5,e5]@4 [bb4,d5]@3 ~@9 [g4,e5]@3 ~ g4@3 ~@9 g4@4 ~@4 [a4,f5]@3 ~ [a4,f5]@4 ~@4 [g4,c5]@4 [e4,a4]@3 ~ [f4,d5]@4 ~@40 [a4,f5]@2 ~@14 c5@4 d5@4 [g4,e5]@4 [bb4,d5]@3 ~ [bb4,d5]@3 ~@9 [g4,e5]@3 ~@14, ~@124 c5@2 ~ f5@3 ~@25 [c5,e5]@4 [d5,f5]@3 ~@5 [d5,f5]@4 ~@4 [c5,e5]@4 ~@8 e5@3 ~ f5@3 ~@5 f5@4 e5@3 ~ e5@4 ~@24 e5@3 ~@18]/8", // Dm C Dm C5 C Dm C5 C …
  W: "~@20 [a4,a5]@4 [g4,g5]@2 [f4,f5]@2 [d4,d5]@3 ~", // A G F D
  X: "[~@21 d4@3 ~ f4@2 g4 ~@2 a4@4 g4@2 ~@2 g4@4 f4 d4@6 ~@2 [a4,a5]@4 [g4,g5]@2 ~ f5@2 [d4,d5]@2 ~@2, ~@57 f4@2 ~@5]/2", // A G D
  Y: "[~@21 d4@3 ~ f4@2 g4@2 ~@2 a4@4 g4@2 ~@3 g4@3 f4@2 d4@5 ~@2 [a4,a5]@3 ~ g5@2 [f4,f5]@2 [d4,d5]@3 ~, ~@31 ab4 ~@23 g4@3 ~@6]/2", // A F D
  Z: "a4@2 ~@2 a4@2 ~@2 a4@2 ~@2 g4@3 ~ a4@7 ~ [f4,a4,d5]@4 [g4,c5,e5]@4", // Dm C
  AA: "[[a4,d5,f5]@3 ~ [a4,d5,f5]@3 ~ [a4,d5,f5]@3 ~ [g4,e5]@3 ~ e5@3 ~ c5@3 ~ [f4,a4,d5]@3 ~ [g4,c5]@3 [a4,d5,f5]@3 ~@2 a4@2 ~@2 a4@3 ~ g4@2 ~@2 [g4,e5]@4 ~@4 [f4,a4,d5]@3 [g4,c5,e5]@4 [a4,d5,f5]@3 ~@2 a4@2 ~@2 a4@3 ~ g4@2 ~@2 g4@3 ~ [e4,c5]@3 ~ [f4,a4]@3 ~ g4@3 ~ f4@2 ~@2 [f4,bb4,d5]@2 ~@2 [f4,bb4,d5]@3 ~ c5@3 ~ [c5,e5]@4 ~@4 [f4,a4,d5]@3 ~ e5@3 ~ d5@3 ~ d5@2 ~@2 d5@3 [g4,c5,e5]@3 ~ [g4,c5,e5]@4 [e4,a4,c5]@3 ~@2 a4@3 ~ g4@3 [a4,d5,f5]@3 ~ [a4,d5,f5]@3 ~@2 a4@3 [g4,c5,e5]@3 ~@2 g4@3 ~@5 [f4,a4,d5]@3 ~ [g4,c5]@3 ~ [a4,d5]@3 ~ d5@2 ~@2 d5@3 ~ [g4,c5]@3 ~ c5@3 ~ [e4,a4]@3 ~ [f4,a4]@3 [g4,c5,e5]@4 ~ f4@3 ~ f4@3 ~ [f4,bb4,d5]@3 ~ [g4,c5]@2 ~@2 [g4,c5]@4 ~@4 [f4,a4,d5]@4 [g4,c5,e5]@4, ~@11 c5@3 ~ [g4,c5]@4 [e4,a4]@3 ~@5 e5@3 ~@5 [d5,f5]@3 ~ [d5,f5]@4 [c5,e5]@3 ~ c5@4 ~@16 [d5,f5]@4 [d5,f5]@4 [c5,e5]@3 ~ [c5,e5]@4 a4@2 ~@2 d5@4 [c5,e5]@4 [bb4,d5]@3 ~@9 [g4,e5]@3 ~ g4@3 ~@9 g4@4 [a4,f5]@3 ~ [a4,f5]@3 ~ [a4,f5]@4 ~@12 [f4,d5]@4 ~@40 [a4,f5]@2 ~@2 [a4,f5]@4 ~@4 [g4,e5]@4 ~@12 [bb4,d5]@3 ~ [bb4,d5]@3 ~@26, ~@124 c5@2 ~@29 [c5,e5]@4 ~@8 [d5,f5]@4 ~@4 [c5,e5]@4 ~@8 e5@3 ~ f5@3 ~@9 e5@3 ~@5 c5@4 d5@4 ~@16 e5@3 ~ e5@4 ~@13]/8", // Dm C Dm C5 Dm C Dm C …
  AB: "[[a4,d5,f5]@3 ~ [a4,d5,f5]@3 ~ [a4,d5,f5]@3 ~ [g4,e5]@3 ~ e5@3 ~ c5@3 ~ [f4,a4,d5]@3 ~ [g4,c5]@3 [a4,d5,f5]@3 ~@2 a4@2 ~@2 a4@3 [g4,c5,e5]@3 ~@2 g4@3 ~@5 [f4,a4,d5]@3 [g4,c5,e5]@4 [a4,d5,f5]@3 ~@2 a4@2 ~@2 a4@3 ~ g4@2 ~@2 g4@3 ~ e4@3 ~ [f4,a4]@3 ~ g4@3 ~ f4@2 ~@2 [f4,bb4,d5]@2 ~@2 [f4,bb4,d5]@3 ~ c5@3 ~ [c5,e5]@4 ~@4 [f4,a4,d5]@3 ~ e5@3 ~ d5@3 [a4,d5,f5]@3 ~@2 d5@3 [g4,c5,e5]@3 ~ [g4,c5,e5]@4 [e4,a4,c5]@3 ~@2 a4@3 ~ g4@3 [a4,d5,f5]@3 ~ [a4,d5,f5]@3 ~@2 a4@3 [g4,c5,e5]@3 ~ [g4,c5,e5]@4 ~@5 [f4,a4]@3 ~ c5@3 ~ a4@2 ~ [a4,d5,f5]@2 ~@3 d5@3 ~ [g4,c5]@3 [g4,c5,e5]@4 ~ e4@3 ~ [f4,a4]@3 [g4,c5,e5]@4 ~ f4@3 ~ f4@3 ~ [f4,bb4]@3 ~ [g4,c5]@2 ~@2 c5@5 ~@3 [f4,a4,d5]@4 [g4,c5,e5]@4, ~@11 c5@3 ~ [g4,c5]@4 [e4,a4]@3 ~@5 e5@3 ~@5 [d5,f5]@3 ~ [d5,f5]@4 ~@4 [c5,e5]@4 ~@16 [d5,f5]@4 [d5,f5]@4 [c5,e5]@3 ~ [c5,e5]@4 [a4,c5]@3 ~ d5@4 [c5,e5]@4 [bb4,d5]@3 ~@9 [g4,e5]@3 ~ g4@3 ~@9 g4@4 [a4,f5]@3 ~@5 [a4,f5]@4 ~@12 [f4,d5]@4 ~@32 [g4,e5]@4 ~@8 [a4,f5]@4 ~@8 c5@4 d5@4 ~@12 d5@4 e5@3 ~@18, ~@124 c5@2 ~@29 [c5,e5]@4 ~@8 [d5,f5]@4 ~@12 d5@4 ~@4 [d5,f5]@3 ~@9 e5@3 ~@5 a4@2 ~@10 [bb4,d5]@3 ~ [bb4,d5]@3 ~@9 [g4,e5]@5 ~@12]/8", // Dm C Dm C5 Dm C Dm C …
  AC: "[[a4,d5,f5]@3 ~ [a4,d5,f5]@3 ~ [a4,d5,f5]@3 ~ g4@2 ~@2 e5@3 ~ c5@3 ~ [f4,a4,d5]@3 ~ [g4,c5]@3 [a4,d5,f5]@3 ~@2 a4@2 ~@2 a4@3 [g4,c5,e5]@3 ~@2 g4@3 ~@5 [f4,a4,d5]@3 [g4,c5,e5]@4 [a4,d5,f5]@3 ~@2 a4@2 ~@2 a4@3 ~ g4@2 ~@2 g4@3 ~ e4@3 ~ [f4,a4]@3 ~ g4@3 ~ f4@2 ~@2 [f4,bb4,d5]@2 ~@2 [f4,bb4,d5]@3 ~ c5@3 ~ [c5,e5]@4 ~@4 [f4,a4,d5]@3 ~ e5@3 ~ d5@3 [a4,d5,f5]@3 ~@2 d5@3 [g4,c5,e5]@3 ~ [g4,c5,e5]@4 [e4,a4,c5]@3 ~@2 a4@3 ~ g4@3 [a4,d5,f5]@3 ~ [a4,d5,f5]@3 ~@2 a4@3 [g4,c5,e5]@3 ~ [g4,c5,e5]@4 ~@5 [f4,a4]@3 ~ c5@3 ~ a4@2 ~ [a4,d5,f5]@2 ~@3 d5@3 ~ [g4,c5]@3 [g4,c5,e5]@4 ~ e4@3 ~ [f4,a4]@3 [g4,c5,e5]@4 ~ f4@3 ~ f4@3 ~ [f4,bb4]@3 ~ [g4,c5]@2 ~@2 [g4,c5]@6 ~@2 c5@6 ~@2, ~@11 [c5,e5]@3 ~ [g4,c5]@4 [e4,a4]@3 ~@5 e5@3 ~@5 [d5,f5]@3 ~ [d5,f5]@4 ~@4 [c5,e5]@4 ~@16 [d5,f5]@4 [d5,f5]@4 [c5,e5]@3 ~ [c5,e5]@4 [a4,c5]@3 ~ d5@4 [c5,e5]@4 [bb4,d5]@3 ~@9 [g4,e5]@3 ~ g4@3 ~@9 g4@4 [a4,f5]@3 ~@5 [a4,f5]@4 ~@12 [f4,d5]@4 ~@32 [g4,e5]@4 ~@8 [a4,f5]@4 ~@8 c5@4 d5@4 ~@12 d5@4 e5@3 ~ e5@6 ~@11, ~@124 c5@2 ~@29 [c5,e5]@4 ~@8 [d5,f5]@4 ~@12 d5@4 ~@4 [d5,f5]@3 ~@9 e5@3 ~@5 a4@2 ~@10 [bb4,d5]@3 ~ [bb4,d5]@3 ~@17 [g4,e5]@6 ~@3]/8", // Dm C5 Dm C Dm C Dm F …
})).s("gm_synth_brass_1").gain(0.4).pan(0.4)

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

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

// drums · hihat
const hihat = s("hh").struct(`<
  ~@9 A@2 ~@2 A@2 ~@2 A@2 ~@2 A@2 ~@2 A@2 ~@2 A@2 ~@2 A B A B A B A B A@2 ~@2 A@2 ~@2 A@2 ~@2 A@2 ~@2 A@2 ~@2 A@2 ~@2 A
  B A B A B A B A@2 ~@2 A@2 ~@2 A@2 ~@2 A@2 ~@2 A@2 ~@2 A@2 ~@2 A@2 ~@2 A@2 ~@2 A@2 ~@2 A@2 ~@2 A@2 ~@2 A@2 ~@2 A@2 ~@2
  A@2 ~@2 A@2 ~@2 A@2 ~@2 A@2 ~@2 A@2 ~@2 A@2 ~@2 A@2 ~@2 A@2 ~@2 A@2 ~@2 A@8
>`.pickRestart({
  A: "~ x ~ x ~ x ~ x", B: "~ x ~ x ~ x ~@2",
})).gain(0.56)

// drums · tambourine
const tambourine = s("tb").struct(`<
  ~@9 A@24 B C ~@6 A@7 D A@7 D A@8 B C ~@6 A@7 D A@7 D A@15 D A@7 D A@48 E@8
>`.pickRestart({
  A: "~ x ~ x!3 ~@2", B: "~ x ~ x ~@2 x ~@2 x ~@6", C: "~ x ~ x ~@2 x ~@2 x ~ x ~@4", D: "~ x ~ x!2 ~@3",
  E: "~@4 x!5 ~@7",
})).gain(0.4)

// drums · jingle bells
const jingle_bells = s("sleighbells:4").struct("<~@9 A@24 B@8 A@24 B@8 A@88 C D C D C D C D>".pickRestart({
  A: "~@5 x ~ x ~@8", B: "x!9 ~@7", C: "~ x ~ x ~@2 x ~@2 x ~@6", D: "x ~ x ~@2 x ~@2 x ~ x ~@5",
})).gain(1.38)

stack(bass, bass_soft, epiano1, string_ensemble_1, flute, synth_brass_1, kick, snare, hihat, tambourine, jingle_bells)

More by Michael Jackson