Strudelify
Man in the Mirror cover art

Michael Jackson's This Is It

Man in the Mirror

Michael Jackson

KeyG majorTempo99 bpm
0:00/0:00
// Man in the Mirror — Jackson Michael
// 99 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: duplicate parts dropped: ch 8 "SYN BASS 1" synth bass 1 (copy of ch 2 "SYN BASS 2" synth bass 2)
// note: Full arrangement: all 100 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(99/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 · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note(`<
  ~@12 A@3 ~ A@3 ~ B C D E@2 C D F G@2 H@2 I@2 J@2 K@3 L A@3 ~ A@3 ~ B C D C B C D F G@2 H@2 I@2 J@2 M@2 N@2 O P Q@2 R@2
  S@2 T U V@2 W X R@2 S@2 T U V@2 R@2 S@2 T U V@2 ~@2
>`.pickRestart({
  A: "[b4@3 a4@2 d5@2 g4@4 f#4@2 g4@2 e4@8 ~]/3", B: "~@3 g4@5, a2, ~ e4@7, ~ c4@3", C: "~@3 g4@5, b2, ~ d4@7, ~ b3@3",
  D: "~@3 g4@5, c3, ~ e4@7, ~ c4@3",
  E: "[~@11 g4@5, b2@5 f#4@2 e4@2 e4@7, ~ d4@7 ~@2 c4@6, ~ b3@3 a2@4, ~@3 g4@5 ~@8]/2", F: "[d3,a3,d4,g4]",
  G: "[[b3,d4,g4]@7 ~ [b3,d4,g4]@4 ~@2 [g3,c4,e4]@9 ~@5 [g3,c4,e4]@3 ~]/2", // G C
  H: "[[b3,d4,g4]@6 [b3,d4,g4]@8 [g3,c4,e4]@9 ~@5 [g3,c4,e4]@3 ~]/2", // G C
  I: "[[b3,d4,g4]@7 ~ [b3,d4,g4]@4 ~@2 [g3,c4,e4]@10 ~@4 b3@2 a3@2, ~@3 e4]/2", // G C
  J: "[[a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,g4] [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,g4]@2 [a3,c4,f4] [a3,c4,g4]@2 [a3,c4,g4]@2]/2", // F Am7 F Am7 F Am7
  K: "[~@13 d4@2 ~@4 d4@5, b3 ~@2, ~@2 d4@3 d4@3 ~ d4@4 ~@11, ~@3 a3@5 ~@3 f#3@4 e3@3 e3@6, ~@7 g3@8 ~@2 g3@7]/3",
  L: "c3 d3@2 e3@2 f#3@3",
  M: "[[b3,d4,g4]@7 ~ [b3,d4,g4]@2 ~ [b3,d4,g4] ~@2 [g3,c4,e4]@9 ~ [g3,c4,e4]@2 ~ [g3,c4] ~@4, ~@27 e4@3 ~@2]/2", // G C C5
  N: "[b3!2 g3@2 ~@2 [b3,d4,g4]@5 [b3,d4,g4] ~@2 [g3,c4,e4]@9 ~@5 [g3,c4,e4]@3 ~, [d4,g4]@3 ~@13]/2", // G C G5
  O: "[b3,d4,g4]@7 ~ [b3,d4,g4]@2 ~ [b3,d4,g4] ~@2 [g3,c4,e4]@2", P: "~@6 b3 a3, ~ e4",
  Q: "[[a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,g4] [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,g4]@2 [a3,c4,f4] [a3,c4,g4]@2 ~@2]/2", // F Am7 F Am7 F Am7
  R: "[[g#3,c4,d#4]@7 ~ [g#3,c4,d#4]@2 ~ [g#3,c4,d#4] ~@2 [g#3,c#4,f4]@9 ~ [g#3,c#4,f4]@2 ~ [g#3,c#4] ~@4, ~@27 f4@3 ~@2]/2", // G# C# C#5
  S: "[c4!2 g#3@4 [g#3,c4,d#4]@5 [g#3,c4,d#4] ~@2 [g#3,c#4,f4]@9 ~@5 [g#3,c#4,f4]@3 ~, d#4@3 ~@13, g#3 ~@15]/2", // G# C#
  T: "[g#3,c4,d#4]@7 ~ [g#3,c4,d#4]@2 ~ [g#3,c4,d#4] ~@2 [g#3,c#4,f4]@2", U: "~@7 g#3, ~ f4, ~@3 b3",
  V: "[[a#3,c#4,f#4]@2 [a#3,c#4,f#4]@2 [a#3,c#4,g#4] [a#3,c#4,f#4]@2 [a#3,c#4,f#4]@2 [a#3,c#4,g#4]@2 [a#3,c#4,f#4] [a#3,c#4,g#4]@2 [a#3,c#4,g#4]@2]/2", // F# A#m7 F# A#m7 F# A#m7
  W: "[a#3,c#4,f#4]@2 [a#3,c#4,f#4]@2 [a#3,c#4,g#4] [a#3,c#4,f#4]@2 [a#3,c#4,f#4]", // F# A#m7 F#
  X: "~ [a#3,c#4,g#4]@2 [a#3,c#4,f#4] [a#3,c#4,g#4]@2 [a#3,c#4,g#4]@2", // A#m7 F# A#m7
})).s("gm_electric_guitar_clean").gain(0.13).pan(0.4)

// bass · synth bass 2 · "SYN BASS 2"
const bass = note(`<
  ~@27 A B@2 C@2 D@2 E F G H I J G K L@2 M H N O P Q R@2 P Q S T U@2 V@2 D@2 W X Y@2 Z@2 D@2 W AA AB@2 AC@2 AD@2 AE AF
  AE AG AB@2 AC@2 AD@2 AE AG AH@2 AI@2 AD@2 AE AJ ~@2
>`.pickRestart({
  A: "~@10 d2 e2 d2 g1 a1@2", B: "[g1@7 ~ b1@6 c2@9 ~ d2@4 d1@4]/2", C: "[g1@5 ~ b1@7 ~ c2@9 ~ d2@4 d1@3 ~]/2",
  D: "[g1@7 ~ b1@5 ~ c2@9 ~ c#2@7 ~]/2", E: "d2@5 ~ d1@7 ~ d1 ~", F: "d1@3 d1 ~@2 d1@10", G: "g1@5 ~ f#1@7 ~ e1 ~",
  H: "e1@2 ~ e1 ~@2 d1@7 ~ d1 ~", I: "c1@5 ~ c1@4 c2@4 c1@2", J: "~@2 d1@3 ~ e1@3 ~ f#1@5 ~",
  K: "e1@3 e1 ~@2 d1@7 ~ d1 ~", L: "[c1@5 ~ c1@8 c2@4 c1@3 ~ c1@7 ~ c1 ~]/2", M: "g1@5 ~ f#1@8 e1 ~", N: "c1@5 ~ c2@10",
  O: "~ a2 g2 e2 d2 e2 b1 g1", P: "a1@5 ~ a1@7 ~ a1 ~", Q: "b1@5 ~ b1@7 ~ b1 ~",
  R: "[c2@5 ~ c2@7 ~ b1@7 ~@3 d3 e3 d3 b2 a2 ~ g2 a2]/2", S: "c2@5 ~ c2@9 ~", T: "d2@5 ~ d1@3 d1 e1 d1 g1 a1 g1 ~",
  U: "[g1@7 ~ b1@5 ~ c2@9 ~ d2 ~ d2@2 ~ d1@2 ~]/2", V: "[g1@5 ~ b1@7 ~ c2@9 ~ d2@3 ~ d1@3 ~]/2",
  W: "d2@3 ~@3 d1@7 ~ a1 d2", X: "d1@7 ~ a2@3 g2 e2 d2 e2 g2", Y: "[g1@7 ~ b1@5 ~ c2@9 ~ d2@3 ~ d1@3 ~]/2",
  Z: "[g1@5 ~ b1@7 ~ c2@10 ~ d2 e2 d2 g2 a2@2 ~]/2", AA: "~@4 d2 ~@3, d1@11 ~@5",
  AB: "[g#1@7 ~ c2@5 ~ c#2@9 ~ d#2 ~ d#2@2 ~ d#1@2 ~]/2", AC: "[g#1@5 ~ c2@7 ~ c#2@9 ~ d#2@3 ~ d#1@3 ~]/2",
  AD: "[g#1@7 ~ c2@5 ~ c#2@9 ~ d2@7 ~]/2", AE: "d#2@3 ~@3 d#1@7 ~ a#1 d#2", AF: "d#2@3 ~@3 d#1@10",
  AG: "d#1@7 ~ a#2@3 g#2 f2 d#2 f2 g#2", AH: "[g#1@7 ~ c2@5 ~ c#2@9 ~ d#2@3 ~ d#1@3 ~]/2",
  AI: "[g#1@5 ~ c2@7 ~ c#2@10 ~ d#2 f2 d#2 g#2 a#2@2 ~]/2", AJ: "~@8 d#2@3 ~ d#2@2 ~@2, d#1@11 ~@5",
})).s("gm_synth_bass_2").gain(0.48)

// chords · lead 3 calliope · "CALLIOPE"
const lead_3_calliope = note(`<
  ~@4 A@2 B@2 C D@3 E F G@3 H I J K L@3 M N O@2 P Q R S T U V W@2 X Y@2 F@2 Z@3 AA@2 AB K L@3 AC N O@2 P Q R AD AE U V
  AF P AG R AH T U AI AJ AK AL AM AN AO AP AQ AR AS AT@2 AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI ~@2
>`.pickRestart({
  A: "[~@2 g4 ~ b4@2 g4 ~ a4@2 g4 ~ b4@9 ~ b4@2 a4@2 g4 ~ a4@4]/2", B: "[~@2 e4@18 ~@8 g4 a4 b4@2]/2",
  C: "~@2 b4@3 ~ a4@5 ~ g4 e4 g4 e4", D: "[g4 a4 ~@4 b4 c5 d5@3 ~ d5 ~ e5@4 d5@3 ~ c5 b4 c5 b4 ~ a4@12 ~@9]/3",
  E: "b4@2 g4 ~ b4@2 g4 ~ a4@2 g4 ~ b4@4", F: "~@2 g4 ~ b4@2 g4 ~ a4@2 g4 ~ b4@4",
  G: "[~@2 g4 ~ b4 ~ g4!2 a4@2 g4 ~ a4@2 e4@11 ~@3 g4 a4 b4@5 ~ b4 g4 a4@3 ~ g4@2 ~@2 g4 ~]/3",
  H: "b4 ~ d5 ~ e5@3 ~@3 [b4,d5] [c5,e5] [d5,g5]@3 ~", // Bm C G5
  I: "[b4,d5] [c5,e5] [d5,g5]@3 ~ [d5,g5] ~ [d5,g5]@2 [c5,e5] ~ [b4,d5]@2 [a4,c5] ~", // Bm C G5 C Bm Am
  J: "[a4,c5]@2 b4@2 a4@2 [a4,c5]@4 [g4,b4]@5 ~, ~@2 d5 ~ c5 ~@11", K: "~@2 b4 ~ c5@2 b4 ~ c5@2 b4 ~ d5@4",
  L: "[~@2 b4 ~ c5@2 b4 ~ c5@2 b4 ~ d5@9 ~ d5!2 e5@2 b4 ~ a4 ~ a4@4 g4@8 ~@4 [b4,d5]@2]/3", // Bm
  M: "[c5,e5]@2 [b4,d5]@2 [c5,e5] ~ c5@2 [b4,d5]@2 [c5,e5]@2 [b4,d5]@2 [c5,e5]@2, ~@6 e5 ~@9", // C Bm C Bm C Bm C
  N: "b4@2 [d5,g5]@11 ~ d5!2, d5 ~@15", O: "[e5@4 d5 ~ e5@6 d5@2 d5@4 d5!2 d5@2 d5 ~ d5 ~ e5@2 g5@2 g5@2]/2",
  P: "~@4 b5@2 ~@2 d5@2 e5 ~ g5@2 a5 ~", Q: "b5@2 ~@2 a5@2 ~ g5!2 a5@2 ~@5", R: "~@4 b5 ~@3 d5@2 e5 ~ g5@2 a5 ~",
  S: "b5@3 ~ a5@2 a5@2 g5@6 ~@2", T: "~@2 d5 ~ b5@2 ~@2 a5@2 g5@2 ~@2 g5 e5", U: "g5@2 ~@2 g5@2 ~ e5 g5 a5@2 ~@3 f5 d5",
  V: "f5!3 d5 f5 ~@3 [f5,a5]!2 [d5,f5] [f5,a5] ~@2 [f5,a5] [d5,f5]", // F Dm F Dm
  W: "[[f5,a5]!2 [d5,f5] [f5,a5] ~@2 [f5,a5] [d5,f5] f5@2 [g5,b5] ~ [g5,b5]@17 ~@3, ~@8 a5 ~@23]/2", // F Dm F Dm G
  X: "~@2 [d5,b5] [e5,c6] [g5,d6]@3 ~ [d5,b5] [e5,c6] [g5,d6]@4 ~ [d5,b5]", // G C G5 G C G5 G
  Y: "[[e5,c6] [d5,b5] c5 [c5,a5]@2 [b4,g5]@4 ~@7, d5 ~@3 a5 ~@27]/2", // C G F Em
  Z: "[~@2 g4 ~ b4@2 g4 ~ a4@2 g4@2 a4@2 e4@10 ~@4 g4 a4 b4@4 ~@2 b4 g4 a4@4 ~@4 g4 ~]/3",
  AA: "[b4@2 d5 ~ e5@2 ~@4 [b4,d5] [c5,e5] [d5,g5]@9 ~ d5@2 [d5,g5]@2 [c5,e5]@2 [b4,d5]@2 [a4,c5] ~, ~@22 g5 ~@3 d5 ~@5]/2", // Bm C G5 C Bm Am
  AB: "a4@2 c5 d5 a4@2 [a4,c5]@4 [g4,b4]@4 ~@2, c5 ~ b4@2 c5 ~@11", // Am G
  AC: "[c5,e5]@2 [b4,d5]@2 [c5,e5] ~ c5@2 [b4,d5]@2 c5@2 [b4,d5]@2 c5@2, ~@6 e5 ~@3 e5 ~@3 e5 ~", // C Bm C Bm
  AD: "b5@3 ~ a5@2 a5@2 g5@7 ~", AE: "d5 ~@3 b5@2 ~@2 a5@2 g5@2 ~@2 g5 e5",
  AF: "[f5,a5]!2 [d5,f5] [f5,a5] ~@2 [f5,a5] [d5,f5] [f5,a5]@2 [g5,b5] ~ [g5,b5]@3 ~", // F Dm F Dm F G
  AG: "~@2 b5 ~ a5@2 ~ g5!2 a5@2 ~@5", AH: "b5@3 ~ a5@2 a5@6 g5@2 ~@2",
  AI: "f5!3 d5 f5 ~@3 [f5,a5]!2 [d5,f5] [f5,a5] ~@2 [f5,a5] d5", // F Dm F
  AJ: "[f5,a5]!2 [d5,f5] [f5,a5] ~@2 [f5,a5] [d5,f5] [f5,a5] ~ [f5,a5] ~@5", // F Dm F Dm F
  AK: "[d#5,g#5]@3 ~ [c6,d#6]@2 ~@2 d#5@2 f5 ~ g#5@2 a#5 ~", // G#5 Cm
  AL: "~@2 [c6,d#6]@2 [a#5,c#6]@3 [g#5,c6]!2 [a#5,c#6] ~@2 [c#5,f5]@4", // Cm A#m G# A#m C#
  AM: "[c5,d#5]@2 ~@2 [c6,d#6]@2 ~@2 d#5@2 f5 d#5 g#5@2 a#5 ~", AN: "a#5@2 g#5 g#5@4 ~",
  AO: "~@4 [c6,d#6]@2 ~@2 [a#5,c#6]@2 [g#5,c6]@2 ~@2 [g#5,c6] f5", // Cm A#m G#
  AP: "[g#5,c6]@2 ~@2 [g#5,c6]@2 ~ [f5,c6] [g#5,c6] [a#5,c#6] ~@4 f#5 d#5", // G# F5 G# A#m
  AQ: "f#5!3 d#5 f#5 ~ d#5!2 f#5!2 d#5 f#5 ~@2 f#5 d#5", AR: "f#5!3 d#5 f#5 ~ d#5!2 f#5 ~ f#5 ~ f#5@2 ~@2",
  AS: "[f#5,a#5]!2 [d#5,f#5] [f#5,a#5] ~@2 [f#5,a#5] [d#5,f#5] [f#5,a#5]!2 [d#5,f#5] [f#5,a#5]@2 ~ [f#5,a#5] [d#5,f#5]", // F# D#m F# D#m F# D#m F# D#m
  AT: "[[f#5,a#5]!2 [d#5,f#5] ~ [f#5,a#5] ~ [d#5,f#5] ~ [f#5,a#5]@2 [g#5,c6] ~ g#5@7 ~ [c6,d#6]@2 ~@2 d#5@2 f5 d#5 g#5@2 a#5 ~, ~@12 c6@5 ~@15]/2", // F# D#m F# D#m F# G# Cm
  AU: "[c6,d#6]@2 ~@2 [a#5,c#6]@3 [g#5,c6]!2 [a#5,c#6] ~@2 [c#5,f5]@4", // Cm A#m G# A#m C#
  AV: "[c5,d#5]@2 ~@2 c6@2 ~@2 d#5@2 f5 d#5 g#5@2 a#5 ~", AW: "a#5@4 g#5 ~ g#5@6 [c#6,f6]@4, ~@12 c6 ~@3",
  AX: "[c6,d#6]@2 ~@2 c6@2 ~@2 a#5 ~ g#5@3 ~ g#5 f5", AY: "g#5@3 ~ g#5@3 f5 g#5 a#5 ~@4 f#5 d#5",
  AZ: "f#5!2 d#5 f#5 ~@2 d#5 ~ f#5 ~ d#5 f#5@2 ~ f#5 d#5",
  BA: "[f#5,a#5]!2 [d#5,f#5] f#5@2 ~ [f#5,a#5] [d#5,f#5] [f#5,a#5]@2 g#5@2 [g#5,c6]@3 ~, ~@3 a#5 ~@6 c6 ~@5", // F# D#m F# D#m F# G#
  BB: "~@4 [c6,d#6]@2 ~@2 d#5@2 f5 d#5 g#5@2 a#5 ~", // Cm
  BC: "[c6,d#6]@3 ~ [a#5,c#6]@3 c6!2 [a#5,c#6] ~@2 [c#5,f5]@4, ~@7 g#5@2 ~@7", // Cm A#m C#
  BD: "[c5,d#5]@2 ~@2 [g#5,c6]@2 ~@2 d#5@2 f5 d#5 g#5@2 a#5 ~", BE: "a#5@4 g#5 ~ g#5@8 ~@2",
  BF: "~@4 [c6,d#6]@2 ~@2 a#5@2 [g#5,c6]@3 ~ g#5 f5, ~@8 c#6 ~@7", BG: "g#5@2 ~@2 g#5@3 f5 g#5 a#5 ~@4 f#5 d#5",
  BH: "f#5!2 d#5 f#5 ~@3 d#5 f#5 ~ d#5 f#5@2 ~ f#5 d#5",
  BI: "[f#5,a#5]!2 [d#5,f#5] [f#5,a#5] ~@2 [d#5,f#5] ~ [f#5,a#5]@2 [g#5,c6] ~ [g#5,c6]@3 ~", // F# D#m F# D#m F# G#
})).s("gm_lead_3_calliope").gain(0.35)

// chords · epiano2 · "E.PIANO 2"
const epiano2 = note(`<
  A@2 B@2 C@2 D@2 E@4 F@2 G@2 H@2 I@2 J K L@2 M N O P Q@2 R@2 S@2 T@2 U@2 V@2 W@2 X@2 Y@2 Z@2 AA AB AC@2 AD AE AF AG
  AH@2 AI@2 AJ@2 AK@2 AH@2 AI@2 AJ@2 AL@2 AM@2 AN@2 AO@2 AP@4 AM@2 AN@2 AO@2 AP@2 AM@2 AN@2 AO@2 AQ@2 ~@2
>`.pickRestart({
  A: "[~@2 g4@2 ~@2 d4@2 ~@18 d5@5 ~, [d4,b4]@2 d5@3 d5@2 ~@2 d5@4 ~@3, ~@6 [f#4,a4]@8 [e4,g4]@8 a4@9 ~, ~@4 d4@2 d4@2 d4@2 ~ f#4@3 ~@2]/2", // G F#m Em
  B: "[~@11 g5@5, g4@3 g4 ~@4, e4@3 e4@2 ~@2 c5@9, d4!2 d4@6, ~ g3@15]/2",
  C: "[~@6 d4@2 ~@4 d4@2 ~@6 d4@2 ~@4 d5@5 ~, [d4,b4]@3 ~ d4@2 ~ [e4,g4]@4 f#4@3 ~@2, ~@2 g4@4 [f#4,a4]@8 d4@6 ~@2 [d4,a4]@9 ~, ~@2 d5@3 d5@4 d5@4 ~@3]/2", // G Em F#m D5
  D: "[d4@2 ~ e4@2 ~ g4@2 ~ c5@7, g4@3 ~@5, e4@3 ~@2 e4@11, ~ d4 ~@6]/2",
  E: "[~@6 d4 ~@5 d4@2 d4@2 ~@4 d4@2 ~@4 d5@4 ~@2 g4@6 ~@16 g4@10, [g3,d4,b4]@6 [f#3,f#4,a4]@8 [e3,g4]@8 [f#3,d4,a4]@9 ~ c3@32, ~ g4@2 ~@8 f#4@3 ~ d4@5 ~ c5@11, ~@2 d5@3 d5@4 d5@4 ~@3 e4@2 ~ g4@4 ~@2 a4@7]/4", // G F#m Em D
  F: "[~@12 d4@2 d4@2 ~@4 d4@2 d4@2 ~@4 a4@3 ~, [g2,d4,b4]@6 [f#2,a4]@8 [e3,g4]@8 ~@4 d5@5 ~, ~ g4@2 d4@3 ~@2 d4@2 ~@2 d4@2 ~@2, ~@2 d5@3 d5@4 d5@2 a4@3 ~@2]/2", // G F#m Em
  G: "[e4@4 ~@6 e4@4 ~@8 g5@9 ~, c3@31 ~, g4@16 g4@15 ~, ~@2 e4@3 ~@11, ~@2 d4 ~@5]/2",
  H: "[d4 ~@2 d4 ~@2 d4!2 ~@2 d4!2 ~@2 f#4 d4, [g2,g4,b4]@6 [f#2,f#4,a4]@8 [e2,g4]@8 [f#2,a4]@9 ~, ~ d4@2 ~ d4@2 ~@2 d4@2 ~ f#4@3 ~@2, ~@4 d5@6 d5@8 d5@8 d5@5 ~, ~@12 d4@3 ~]/2", // G F#m Em F#m
  I: "[d4@2 ~@9 g4@5, c3, g4@4 g4@3 g5@9, e4@3 e4@13, ~ d4@7]/2",
  J: "a2@3 ~@3 c4@2, [a1,d4,g4], c4@3 ~, g3@5 g3@2 ~, ~@3 a2@5", K: "~@3 g4, [b1,d4], g4@3 ~, a3@5 a3@2 ~, ~@3 b2@5",
  L: "[~@8 f#4 ~@6 b2, [c2,c4,e4]@13 f#4 d4@2, [d4,g4] b1, ~@3 c3@13, ~@8 [a3,d4,g4] f#4@2 g4@5]/2", // C G5 Dsus4
  M: "~ a2@2 ~@3 c4@2, [a1,d4,g4], c4@3 ~, g3@5 g3@2 ~, ~@3 a2@5", N: "~@7 b2, b1, d4@3 d4, g4@5 g4@3, a3@3 b2@4 ~",
  O: "~@10 g3@4 c3 ~, [c2,d4,e4,g4]@15 ~, g3@5 ~@3, ~@3 c3@4 ~", P: "[d2,g3,c4,e4,g4]@15 ~",
  Q: "[[g1,g3,a3,b3,d4]@7 ~ [b1,a3,d4,g4]@6 [c2,c4,d4,e4,g4]@9 ~ [d2,g3,c4,e4,g4]@8]/2", // G C
  R: "[[g1,a3,d4,g4]@3 [b1,a3,d4,g4]@4 [c2,c4,d4,e4,g4]@5 [d2,g3,c4,e4,g4]@4]/2", // Gsus2 G C
  S: "[[g1,a3,d4,g4]@8 ~@2 b2@4 [c2,g3,c4,d4,e4,g4]@9 ~ [c#2,c#3,g3,c#4,e4,g4]@8, ~@8 [b1,a3,d4,g4]@6 ~@10 d#4 ~@7]/2", // Gsus2 C C#dim G
  T: "[[c4,f4,g4]@6 d3@8 d3@2 [d3,c4,f4,g4]@6 [d3,c4,f4,g4]@9 ~, d2@31 ~, ~@3 [c4,f4,g4]@5 ~@8]/2", // Csus4 Dm7 Csus4
  U: "[d4!2 ~@4 d4 ~@3 d4 ~@4 d4, [g2,g4,b4]@3 [f#2,f#4,a4]@4 [e2,g4,b4]@4 [d2,a4]@5, ~@2 d5@3 d5@4 d5@4 d5@3, ~@3 d4@3 ~ d4@3 ~ d4@4 ~, ~@11 f#4@3 f#4@2]/2", // G F#m Em D5
  V: "[~@14 g4@4 [d2,a3,d4,f#4]@4 [e2,c4,d4,e4,g4]@4 [f#2,a3,d4,f#4,a4]@5 ~, c2@9 ~@7, g4@6 e4@3 ~@7, e4@5 d4@3 ~@8, [c4,d4]@3 c3@6 ~@7]/2", // D C D Csus2
  W: "[[g1,g2,d4,g4,b4]@3 [f#2,d4,f#4,a4,d5]@4 ~@3 d4 ~@3 f#4 d4, ~@14 [e2,g4,b4,d5]@8 [d2,d4,a4,d5]@9 ~, ~@7 d4@3 ~ f#4@3 ~@2, ~@18 e3@4 ~@4 d3@5 ~]/2", // G D Em7 D5
  X: "[~@28 d4@2 g4 ~, c2@22 g4@4 [c3,a4]@5 ~, g4@12 e4@19 ~, e4@10 d4@4 g4@4 c5@13 ~, [c4,d4]@6 c3@14 b4@11 ~]/2", // F Csus2
  Y: "[[g1,g2,d4,g4,b4,d5]@6 [f#1,f#2,d4,f#4,a4,d5]@8 [e2,d4,g4,b4,d5]@8 ~@4 d3@5 ~, ~@14 a#4 ~@7 [d2,d4,f#4,a4,d5]@9 ~]/2", // G D Em7 D
  Z: "[~@3 c3@2 c3@2 ~@7 d4@2, c2@13 c3@3, e4@9 d4@2 c4@5, [d4,g4]@9 g4@7, c4@7 c3@3 e4@6]/2", // G5
  AA: "a2@3 a2@5, [a1,g3,c4,d4,g4]", AB: "~@3 b2@4 b2, [b1,a3,d4,g4]",
  AC: "[~@3 c3@4 f#4@2 ~@5 d4 b2, [c2,c4,d4,e4,g4]@14 b1@17 ~, ~@14 a3@8 g4@9 ~, ~@14 g4@6 d4@6 f#4@5 ~, ~@14 d4@4 f#4@6 a3@7 ~]/2", // C
  AD: "~@7 g3, [a1,d4,g4], c4@3 c4, g3@5 g3@2 ~, ~@3 a2@5", // Dsus4
  AE: "~@12 a3@2 b2 ~, [b1,d4]@15 ~, g4@10 g4@5 ~, a3 ~, ~@3 b2@4 ~", // Bm
  AF: "[c4,d4,e4,g4]@3 c3@2 c3@3, c2, ~@3 [c4,d4,e4,g4]@5", // C
  AG: "d#4 ~@11 c4@3 ~, [d2,e4]@15 ~, c4@3 ~, g4@10 g4@5 ~, g3@6 d3@9 ~", // Dsus2
  AH: "[~@2 g2@5 ~ [b1,a3,d4,g4]@6 [c2,g3,c4,d4,e4,g4]@10 ~@4 d3@4, [g1,a3,b3,d4,g4]@7 ~@17 [d2,g3,c4,e4,g4]@8]/2", // G C G C
  AI: "[[g1,a3,b3,d4,g4]@6 ~@4 b2@3 ~@5 c3@6 ~@4 d3@4, ~@6 [b1,a3,d4,g4]@7 ~ [c2,g3,c4,d4,e4,g4]@10 [d2,g3,c4,e4,g4]@8]/2", // G C
  AJ: "[~@2 g2@6 ~@2 b2@4 [c2,g3,c4,d4,e4,g4]@10 [c#2,c#3,g3,c#4,d#4,g4]@7 ~, [g1,a3,b3,d4,g4]@4 [b1,a3,d4,g4]@3 ~@9]/2", // C D#7 G
  AK: "[[a3,c4,f4,g4]@5 ~ [d3,a3,c4,f4,g4]@10 d3@6 ~@2 [a3,c4,f4,g4]@8, d2, ~@2 [a3,c4,f4,g4] ~, ~@11 d3@5]/2", // F Dm7 F
  AL: "[[a3,c4,f4,g4]@5 ~ [d3,a3,c4,f4,g4]@10 d3@6 ~@2 [a3,c4,f4,g4]@2 ~@6, d2@27 ~@5, ~@2 [a3,c4,f4,g4] ~, ~@11 d3@2 ~@3]/2", // F Dm7 F
  AM: "[~@2 g#2@5 ~ [c2,a#3,d#4,g#4]@6 [c#2,g#3,c#4,d#4,f4,g#4]@10 ~@4 d#3@4, [g#1,a#3,c4,d#4,g#4]@7 ~@17 [d#2,g#3,c#4,f4,g#4]@8]/2", // G# C# G# C#
  AN: "[[g#1,a#3,c4,d#4,g#4]@6 ~@4 c3@3 ~@5 c#3@6 ~@4 d#3@4, ~@6 [c2,a#3,d#4,g#4]@7 ~ [c#2,g#3,c#4,d#4,f4,g#4]@10 [d#2,g#3,c#4,f4,g#4]@8]/2", // G# C#
  AO: "[~@2 g#2@6 ~@2 c3@4 [c#2,g#3,c#4,d#4,f4,g#4]@10 [d2,d3,g#3,d4,e4,g#4]@7 ~, [g#1,a#3,c4,d#4,g#4]@4 [c2,a#3,d#4,g#4]@3 ~@9]/2", // C# E7 G#
  AP: "[[a#3,c#4,f#4,g#4]@5 ~ [d#3,a#3,c#4,f#4,g#4]@10 d#3@6 ~@2 [a#3,c#4,f#4,g#4]@8, d#2, ~@2 [a#3,c#4,f#4,g#4] ~, ~@11 d#3@5]/2", // F# D#m7 F#
  AQ: "[[a#3,c#4,f#4,g#4]@5 ~ [d#3,a#3,c#4,f#4,g#4]@10 d#3@6 ~@2 [a#3,c#4,f#4,g#4]@3 ~@5, d#2@27 ~@5, ~@2 [a#3,c#4,f#4,g#4] ~, ~@11 d#3@2 ~@3]/2", // F# D#m7 F#
})).s("gm_epiano2").gain(0.22).pan(0.6)

// chords · epiano2 · "E.PIANO 2" · soft notes
const epiano2_soft = note(`<
  ~ A B@2 C D E@2 F G H@2 I J@3 ~@2 K@2 L M N O L P ~@4 Q ~ R ~@3 S ~ T@2 ~@2 U@2 ~@3 V ~@5 W ~ X Y ~ Q ~@5 Y ~ Q ~@5 Z
  ~ AA ~@7 Z ~ AA ~@5 Z ~ AA ~@7
>`.pickRestart({
  A: "~@6 f#4 d4, ~@2 d4@5 ~", B: "[~@9 d5@7, ~@5 e4@11, ~ g4]/2", C: "~@6 g#4 ~", D: "~@6 f#4 d4",
  E: "[~@4 d4@3 ~@4 g4@5, ~ g3@15, ~@7 d4@9, ~@8 g4@3 ~@5, ~@5 b4@3]/2", F: "~@5 a#4@2 ~, ~@2 d4 ~",
  G: "d4@4 ~@8 f#4@3 ~", H: "[~@8 d4@5 ~@2 d4, ~ e4@6 e4, ~@4 d4@4 ~@5 d4@2 ~, ~@3 b4@5, ~@7 g4@4 ~@5]/2",
  I: "~@4 f#4@3 ~",
  J: "[~@12 d4@2 d4@4 ~@18 d5@11 ~, ~@6 f#3@9 ~@3 d4@6 ~@4 d4@19 ~, ~@22 g3@25 ~, ~@30 e4@17 ~, ~@34 c5@13 ~]/3",
  K: "[~@6 d5 ~@3 d5@6, ~ c4@15, ~@5 c5@4 c5@7, ~@7 d5@3 ~@6]/2", L: "~@7 g3", M: "~@7 a3", N: "~ c3@2 ~@5",
  O: "~ a3, ~ d4@2 ~", P: "~ a3", Q: "~ g2@2 ~@5", R: "~ g2@3 ~@4", S: "~@2 d4 ~@5", T: "[~@8 d4 ~@7, ~@4 c4@5 ~@7]/2",
  U: "[~@4 d4@3 ~, ~@8 c4@23 ~]/2", V: "c4@3 ~@5", W: "~@2 a3 ~", X: "~@8 g3@6 g3 ~", Y: "~@5 b2@2 ~", Z: "~@5 c3@2 ~",
  AA: "~ g#2@2 ~@5",
})).s("gm_epiano2").gain(0.13).pan(0.6)

// other · brass section · "BRASS 1"
const brass_section = note("<~@97 [~@6 g#4 ~] [g#4 ~ g#4 ~ g#4 ~ g#4 ~]!2>").s("gm_brass_section").gain(0.04).pan(1)

// other · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2 = note(`<
  ~@20 A B C D E F G H I@8 ~@12 A B C D E F G J I@8 K@6 L@2 M@5 N@4 ~ O@4 P@4 Q@4 R@2 S@2 ~@2
>`.pickRestart({
  A: "g5", B: "a5", C: "b5", D: "a5@3 b5@5", E: "c6", F: "d6", G: "e6", H: "g6@7 a6", I: "[g6@87 ~ a6@39 ~]/8", J: "g6",
  K: "[g6@87 ~ a6@8]/6", L: "[d6@27 ~@5]/2", M: "g#4/5", N: "[~@8 g#4@55 ~]/4", O: "g#4/4",
  P: "[g#4@23 ~ a#4@38 ~@2]/4", Q: "[g#4@59 ~ a#4@4]/4", R: "g#4/2", S: "[g#6@27 ~@5]/2",
})).s("gm_string_ensemble_2").gain(0.09).pan(0.4)

// chords · celesta
const celesta = note("<A@2 B@2 C@2 D@2 E@4 F@4 G@2 H@2 I@3 ~@77>".pickRestart({
  A: "[~ g5 ~ d5 ~@9 d6@2 d5, [d5,b5]@2 d6@3 d6@2 ~@2 d6@4 ~@3, ~@6 [f#5,a5]@8 [e5,g5]@8 a5@9 ~, ~@4 d5@2 d5@2 d5@2 d5@5 ~, ~@11 f#5@3 ~@2]/2", // G F#m Em
  B: "[~@11 g6@5, g5@6 g5 c6 g5 d6@7, e5@3 e5@2 e5@11, d5!2 d5@6, ~ g4@15]/2",
  C: "[~@6 d5@2 ~@4 d5@2 ~@6 d5@2 ~@6 f#5@3 ~, [d5,b5]@3 ~ d5@2 ~ [e5,g5]@4 f#5@3 ~@2, ~@2 g5@4 [f#5,a5]@8 d5@6 ~@2 [d5,a5]@9 ~, ~@4 d6@6 d6@8 d6@8 d6@5 ~]/2", // G Em F#m D5
  D: "[d5@2 ~@4 g5@2 ~@3 g5@5, g5@6 ~@2 g5@3 ~@5, e5@3 e5@2 e5@11, ~@2 d5@2 d5@3 ~@2 c6@7, ~@5 b5@3]/2",
  E: "[~@6 d5 ~@5 d5@2 d5@2 ~@4 d5@2 ~@6 f#5@2 ~@2 g5@6 ~@16 g5@10, [g4,d5,b5]@6 [f#4,f#5,a5]@8 [e4,g5]@8 [f#4,d5,a5]@9 ~ c4@32, ~ g5@2 ~ d5@2 ~@5 f#5@3 ~ d5@5 d5@3 g5@2 a5@7, ~@4 d6@6 d6@8 d6@8 d6@5 ~ e5@4 ~@2 g5@6 b5@20, ~@21 c6@11]/4", // G F#m Em D
  F: "[~@12 d5@2 d5@2 ~@4 d5@2 d5@2 ~@4 a5@2 ~@2 e5@4 ~@18 g6@9 ~, [g3,d5,b5]@6 [f#3,a5]@8 [e4,g5]@8 f#4@9 ~ c4@18 c6@13 ~, ~@2 g5@4 d5@6 ~@4 d5@4 ~@4 d5@4 ~@2 d5@4 ~@2 e5@4 d5@2 e5@2 d5@19 ~, ~@4 d6@6 d6@8 d6@4 ~@4 d6@5 ~@7 g4@25 ~, ~@8 f#5@6 ~@8 a5@6 ~@4 g5@16 g5@15 ~]/4", // G F#m Em
  G: "[d5 ~@2 d5 ~@2 d5!2 ~@2 d5!2 ~@2 f#5 d5, [g3,g5,b5]@6 [f#3,f#5,a5]@8 [e3,g5]@8 [f#3,a5]@9 ~, ~ d5@2 ~ d5@2 ~@2 d5@2 ~ f#5@3 ~@2, ~@4 d6@6 d6@8 d6@8 d6@5 ~, ~@12 d5@3 ~]/2", // G F#m Em F#m
  H: "[~@6 d6 ~@4 g5@5, c4@4 g5@3 g6@3 d6@6, g5@3 e5@13, e5 d5@7, d5 c5@15]/2",
  I: "[a3@3 ~@4 g4@16 ~, [a2,d5,g5]@2 ~, c5@3 c5@8 ~, g4@5 g4@2 ~@17, ~@3 a3@16 ~@5]/3", // Dsus4
})).s("gm_celesta").gain(0.04).pan(0.6)

// chords · celesta · soft notes
const celesta_soft = note("<~ A ~@2 B C D@2 E F G@2 ~ H I@2 ~@2 J@2 ~@80>".pickRestart({
  A: "~@12 f#5@3 ~", B: "~@6 g#5 ~", C: "~@7 d5", D: "[~@7 d5@9, ~ g4@15]/2", E: "~@5 a#5@2 ~", F: "d5 ~@3",
  G: "[~@8 d5@5 ~@2 d5, ~ e5@6 e5, ~@13 d5@2 ~]/2", H: "~@6 d5 ~", I: "[~@2 d5@6 ~@12 d6@11 ~, ~@14 e5@17 ~]/2",
// … 93 more lines

More by Michael Jackson