Strudelify
Dancing on the Ceiling cover art

Dancing On The Ceiling

Dancing on the Ceiling

Lionel Richie

KeyG majorTempo132 bpm
0:00/0:00
// Dancing on the Ceiling — RICHIE LIONEL
// 132 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: Full arrangement: all 165 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
// note: The whole transcription plays 27 ms behind the beat; the grid follows it, so its parts stay together.
setcpm(132/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, A@4 for four bars: edit a riff to change every repeat.

// chords · piano · "pno"
const piano = note(`<
  ~@6 A@3 B C D E F G@4 H@3 I@8 F J K L M N O P I@8 F Q@2 R B S D E F T@2 U V W@2 X@2 Y@8 Z@3 AA@5 AB@8 AC@5 AD@3 AE@8
  AF AG@2 AH AI AJ AK AL AF ~@12 AM@2 AN AO@6 AP@2 AQ@16 AR AS AT ~@2 AU@8 ~@2
>`.pickRestart({
  A: "[[a3,c4,d4,f4]@6 d4@26 [g3,a3,b3,d4]@2 [g3,a3,b3,d4]@4 [f3,g3,a3,c4]@6 [f3,a3,c4] ~@3, ~@3 [e4,g4]@16 ~@5]/3", // Dm7 G F Em
  B: "[f2,f3,a3,d4] ~@3 [f2,f3,a3,c4] ~@3 [f2,f3,a3,d4] ~ [f2,f3,a3,d4] ~ [f2,f3,a3,c4] ~@3", // Dm F Dm F
  C: "[c3,a3,c4,f4]@2 [c3,a3,c4,f4]@3 ~ [c4,d4,g4]@6 [c3,c4,e4,c5] ~@3", // F Csus2 C
  D: "[c3,c4,e4,c5] ~@3 [c3,c4,e4,c5] ~@3 [c3,c4,e4,c5] ~ [d3,d4,d5] ~ [c3,c4,e4,c5] ~@3", // C D C
  E: "[g2,g3,b3,d4]@2 [g2,g3,b3,d4]@4 [f2,f3,a3,c4]@6 [f2,f3,a3,c4]@2 [f2,f3,a3,d4] ~", // G F Dm
  F: "[f2,f3,a3,c4]@2 ~@2 [f2,f3,a3,c4]@2 ~@2 [f2,f3,a3,c4]@2 [f2,f3,a3,d4] ~ [f2,f3,a3,c4]@2 ~@2", // F Dm F
  G: "[[g3,c4] ~@2 [a#2,f3,a#3]!2 ~ [a#2,f3,a#3] f2 [f2,c3,f3] [c4,f4] ~ f2 [g3,c4,f4] ~ [g3,c4,f4] ~ [c3,g3,c4] [c3,c4] ~ [a#2,f3,a#3] ~ [a#2,f3,a#3]!2 ~ [f2,c3,f3] ~@3 [f2,c3,f3]!2 ~@2, c2 ~ c2@62, ~@18 g3 ~@15 g3 ~@29]/4", // C5 A#5 F5 Csus4 C5 C A#5 F5
  H: "[[c2,c3,g3] [c3,g3] ~ [a#2,f3,a#3] ~ [a#2,f3,a#3]!2 a#2 f2 [g3,c4,f4]!2 ~ [g3,c4,f4] ~ [g3,c4,f4]!2 [g3,d4]!8, c4 ~ c2@46, ~@2 c4 ~@45]/3", // C5 A#5 Csus4 G5
  I: "[[g3,d4]@2 [g3,d4]@2 [g3,d4]@2 [g3,d4]@2 ~@4 [d4,g4] d4 d4@2 [a3,c4,d4,f4]@6 [d4,e4,g4]@25 ~ [g3,a3,b3,d4]@2 [g3,a3,b3,d4]@4 [f3,g3,a3,c4]@6 [f3,a3,c4] ~@3 [f2,f3,a3,d4] ~@3 [f2,f3,a3,c4] ~@3 [f2,f3,a3,d4] ~ [f2,f3,a3,d4] ~ [f2,f3,a3,c4] ~@3 [c3,a3,c4,f4]@2 [c3,a3,c4,f4]@3 ~ [c4,d4,e4,g4]@6 [c3,c4,e4,c5] ~@3 [c3,c4,e4,c5] ~@3 [c3,c4,e4,c5] ~@3 [c3,c4,e4,c5] ~ [d3,d4,d5] ~ [c3,c4,e4,c5] ~@3 [g2,g3,b3,d4]@2 [g2,g3,b3,d4]@4 [f2,f3,a3,c4]@6 [f2,f3,a3,c4]@2 [f2,f3,a3,d4] ~, ~@8 g6@2 [g3,f5,a5,b5] [b4,e5]@117, ~@4 d4 g5@59, ~@8 g3 [d6,f6]@2 [c5,d5] [g3,e4,f4,a4] g4 g3 ~@113, ~@9 [c6,e6]@119]/8", // G5 Dm7 Em7 G F Dm F Dm …
  J: "[c3,c4]@2 ~@4 [a#2,f3,a#3]@3 ~ [a#2,f3,a#3] ~ [a#2,f3,a#3] ~ [a#2,f3,a#3] ~, g3 ~@15", // C A#5
  K: "[f2,c3,f3]@2 ~@2 [g3,c4,f4,c5] ~ f2 ~@3 [g3,c4,f4,c5] ~ f2 ~@3", // F5 Csus4
  L: "[c3,g3,c4] ~ [c3,g3,c4] ~@3 [a#2,f3,a#3]@3 ~ [a#2,f3,a#3] ~ [a#2,f3,a#3]@3 ~", // C5 A#5
  M: "[f2,c3,f3]@2 ~@2 [f2,c3,f3]@3 ~ [f2,f3]@2 [f2,c3] ~ [f2,f3]@2 ~@2, ~@8 c3 ~ g3@2 c3 ~@3", // F5 F F5 F
  N: "[c3,g3,c4] ~ [g3,c4]@2 ~@2 [a#2,f3,a#3]@3 ~ [a#2,f3,a#3] ~ [a#2,f3,a#3]@2 [a#2,f3,a#3]@2, ~@2 c3 ~@13", // C5 A#5
  O: "[f2,c3,f3]@2 f2 ~ [g3,c4,f4]@4 f2 ~ [f2,g3,c4,f4]@3 ~@3, ~@4 f2 ~@11", P: "[g3,d4]!8",
  Q: "[[a3,c4,d4,f4]@6 [d4,e4,g4]@25 ~]/2", R: "[g3,a3,b3,d4]@2 [g3,a3,b3,d4]@4 [f3,g3,a3,c4]@6 [f3,a3,c4] ~@3",
  S: "[c3,a3,c4,f4]@2 [c3,a3,c4,f4]@3 ~ [c4,d4,e4,g4]@6 [c3,c4,e4,c5] ~@3", // F C
  T: "[[f2,f3,a3,c4]@6 [c3,g3,c4,e4]@6 [g2,b3,d4]@6 [g2,b3,g4] ~ [g2,c4,e4,g4]@3 ~ [g2,b3,d4,g4]@3 ~ [g2,b3,d4,g4]@2 ~@2, ~@12 g4@5 ~@15]/2", // F C G C G
  U: "[f3,a3,c4]@4 ~@2 [g3,c4,e4]@4 [b3,d4,g4] ~ [g2,b3,d4,g4]@4, f2@3 c3@3 ~@2", // F C G
  V: "~@2 [g2,b3,d4,g4] ~ [g2,c4,e4,g4] ~ [g2,c4,e4,g4] ~ [g2,b3,d4,g4]@2 ~@2 [g2,b3,d4,g4]@2 ~@2", // G C G
  W: "[[f2,a3,c4,f4] ~ [f2,a3,c4,f4]@3 ~ [c3,g3,c4,e4]@4 g2 ~ [b3,d4,g4] ~ [b3,d4,g4]@4 g2 ~ [c4,e4,g4]@2 g2 ~ [g2,b3,d4,g4]@2 ~@2 [c4,e4,g4] ~@3, ~@12 g2@5 ~@3 g2 ~@7 g2@2 ~@2]/2", // F C G C G C
  X: "[[a3,c4,f4]@4 ~@2 [d4,f4,a4]@4 ~@2 [b3,d4,g4]@7 ~ [b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4,g4] ~, d2@3 a2@3 g2@10]/2", // F Dm G
  Y: "[[b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4,g4,b6,c7] [f6,g6,a6] d6 [a5,b5] [b3,d4,g4,d5,f5] [a4,c5] [e4,f4,g4] d4 [f2,c4,f4,a4]@14 [f2,c4,f4,a4]@2 ~@10 [c3,e4,g4,c5]@2 ~@4 g4@6 [g2,d4,g4]@6 [g3,g4] ~@3 [g3,g4] ~@3 [g3,g4] ~@3 [g3,g4] ~ [g3,g4] ~@3 [f2,c4,f4,a4]@16 [f2,f4,a4,c5] ~ [f2,f4,a4,c5]@6 ~@6 [f2,a3,c4,f4]@3 ~ [f2,f4,g4,c5]@6 [g2,d4,g4,b4]@10, ~@4 g2 [c6,e6]@59, ~@11 g5@43 b4@48 [c3,e4,g4,c5]@9 ~@17, ~@3 e5@29, ~@12 g2 b4@19 [f2,c4,f4,a4]@12 ~@4 [c3,e4,c5]@12 g5@4 g5@4 g5@4 g5@2 g5@54]/8", // G F Asus2 G7 Am Em F C …
  Z: "[~@12 [g2,g3]@2 [f2,c4]@12 ~@4 c4@2 c4@9 ~ [c2,e4,g4,c5]@6, ~@2 [c3,c4]@6 [c3,c4]@6 f3@27 ~@7, ~@4 [b2,b3]@6 [b2,b3]@4 a4@14 a4@13 ~@7, ~@6 [g2,g3]@6 ~@14 c5@15 ~@7, ~@26 [f2,a3,c4]@4 [f2,a3,f4]@11 ~@7]/3", // G F5 C B G F
  AA: "[[e4,g4,c5]@5 ~ [g2,d4,g4]@6 g5@4 g5@4 g5@4 g5@2 g5@2 g4 ~@5 d3@2 d3@2 d3@2 d3@2 d3@2 d3@2 ~@2 f3@2 f3@2 f3@2 f3@2 f3@2 f3@2 f3@2 f3@2 ~@2 g3@2 g3@2 g3@2 ~@4 [g2,b3,d4]@2 [a2,c#4,e4,a4]@2, c2, ~@3 b4@37, ~@12 g4 ~@3 g4 ~@3 g4 ~@3 g4 ~ g4 ~ g5@52, ~@15 [d2,a3,c4,f4]@8 [f2,a3,c4,f4]@9 [g2,b3,d4,g4]@4 g3 g4@2 ~]/5", // C G5 G A Dm7 F G
  AB: "[~@2 [a2,a3]@2 [a2,a3]@2 [a2,a3]@2 ~@6 [a2,a3]@2 [d1,d3]@3 ~@11 [d1,d3] ~ [d1,d3]@2 ~@4 [d1,d3] ~@9 [d1,d3] ~ [d1,d3] ~@3 [d1,d3] ~@7 [d1,d3] ~ [d1,d3]@2 ~@4 [d1,d3] ~@9 [d1,d3]@3 ~@11 [d1,d3] ~ [d1,d3]@2 ~@4 [d1,d3] ~@9 [d1,d3] ~ [d1,d3] ~@3 [d1,d3] ~@7 [d1,d3] ~, ~@8 [b6,c7]@2 [a2,a3] g5@2 [a4,c5]@3 ~@112, ~@4 [a2,a3] [c6,e6]@59, ~@9 [f6,g6,a6]@2 [a5,b5] e5@116, ~@10 d6@2 [a2,a3,d5,f5] b4@115]/8", // A D Cmaj7 A Am A C F …
  AC: "[[d1,d3]@2 ~@4 [d1,d3] ~ [b6,c7] [f6,g6,a6] d6 [a5,b5] [d5,f5] [a4,c5] [e4,f4,g4] [c4,d4] [a3,d4]@2 ~@4 [c3,g3,c4]@2 [c3,g3,c4]@2 ~@2 [c3,g3,c4]@2 g2@2 [g2,d3,g3]@2 [d4,g4]@2 ~@2 g2@2 [a3,d4,g4]@2 ~@2 [a3,d4,g4]@2 ~@2 [d3,a3,d4]@2 [d3,d4]@2 ~@2 [c3,g3,c4]@2 ~@2 [c3,g3,c4]@2 [c3,g3,c4]@2 ~@2 [g2,d3,g3]@2 ~@6 [g2,a2,d3,g3,c4]@2 [g2,a2,d3,g3,c4] ~ [d3,g3,b3]@2 ~@2, ~@10 [c6,e6]@6 d2 ~ d2@62, ~@11 g5@17 ~@52, ~@12 e5@17 ~@51, ~@13 b4@18 ~@3 a3 ~@15 a3 ~@29]/5", // D Cmaj7 F Asus2 Dm Am Em Csus2 …
  AD: "[[d2,d3,a3] [d3,a3] ~ [c3,g3,c4] ~ [c3,g3,c4]!2 c3 g2 [a3,d4,g4]!2 ~ [a3,d4,g4] ~ [a3,d4,g4]!2 [a3,e4]!8, d4 ~ d2@46, ~@2 d4 ~@45]/3", // D5 C5 Dsus4 A5
  AE: "[[a3,e4]@2 [a3,e4]@2 [a3,e4]@2 [a3,e4]@2 ~@4 [e4,a4] e4 e4@2 [b3,d4,e4,g4]@6 [e4,f#4,a4]@25 ~ [a3,b3,c#4,e4]@2 [a3,b3,c#4,e4]@3 ~ [g3,a3,b3,d4]@6 [g3,b3,d4] ~@3 [g2,g3,b3,e4] ~@3 [g2,g3,b3,d4] ~@3 [g2,g3,b3,e4] ~ [g2,g3,b3,e4] ~ [g2,g3,b3,d4] ~@3 [d3,b3,d4,g4]@2 [d3,b3,d4,g4]@3 ~ [d4,e4,f#4,a4]@6 [d3,d4,f#4,d5] ~@3 [d3,d4,f#4,d5] ~@3 [d3,d4,f#4,d5] ~@3 [d3,d4,f#4,d5] ~ [e3,e4,e5] ~ [d3,d4,f#4,d5] ~@3 [a2,a3,c#4,e4]@2 [a2,a3,c#4,e4]@3 ~ [g2,g3,b3,d4]@6 [g2,g3,b3,d4]@2 [g2,g3,b3,e4]@2, ~@8 a6@2 [a3,g5,b5,c#6] [c#5,f#5]@117, ~@4 e4 a5@59, ~@8 a3 [e6,g6]@2 [d5,e5] [a3,f#4,g4,b4] a4 a3@7 ~@107, ~@9 [d6,f#6]@119]/8", // A5 Em7 F#m7 A G Em G Em …
  AF: "[g2,g3,b3,d4]@2 ~@2 [g2,g3,b3,d4]@2 ~@2 [g2,g3,b3,d4]@2 [g2,g3,b3,e4] ~ [g2,g3,b3,d4]@2 ~@2", // G Em G
  AG: "[[b3,d4,e4,g4]@6 [e4,f#4,a4]@25 ~]/2", AH: "[a3,b3,c#4,e4]@2 [a3,b3,c#4,e4]@3 ~ [g3,a3,b3,d4]@6 [g3,b3,d4] ~@3",
  AI: "[g2,g3,b3,e4] ~@3 [g2,g3,b3,d4] ~@3 [g2,g3,b3,e4] ~ [g2,g3,b3,e4] ~ [g2,g3,b3,d4] ~@3", // Em G Em G
  AJ: "[d3,b3,d4,g4]@2 [d3,b3,d4,g4]@3 ~ [d4,e4,f#4,a4]@6 [d3,d4,f#4,d5] ~@3", // G D
  AK: "[d3,d4,f#4,d5] ~@3 [d3,d4,f#4,d5] ~@3 [d3,d4,f#4,d5] ~ [e3,e4,e5] ~ [d3,d4,f#4,d5] ~@3", // D E D
  AL: "[a2,a3,c#4,e4]@2 [a2,a3,c#4,e4]@3 ~ [g2,g3,b3,d4]@6 [g2,g3,b3,d4]@2 [g2,g3,b3,e4]@2", // A G Em
  AM: "[[d3,b3,d4,g4]@2 [d3,b3,d4,g4]@4 [d3,a3,d4,f#4]@16 ~@2 [b3,d4,g4]@2 [b3,d4,g4]@2 [d3,a3,d4,f#4]@3 ~, ~@6 d3 ~]/2", // G D G D
  AN: "[a2,e3,a3,c#4] [a2,e3,a3,c#4]@2 [g2,d3,g3,b3]@3 [g2,d3,g3,b3]@2", // A G
  AO: "[g2@2 g2@2 g2@2 g2@2 g3 ~@5 [b5,c6] ~ [b3,d4,e4,g4]@5 ~ [f#4,a4]@26 [a3,b3,c#4,e4]@2 [a3,b3,c#4,e4]@3 ~ [g3,a3,b3,d4]@6 [g3,b3,d4] ~@3 [g2,g3,b3,e4] ~@3 [g2,g3,b3,d4] ~@3 [g2,g3,b3,e4] ~ [g2,g3,b3,e4] ~ [g2,g3,b3,d4] ~@3 [d3,b3,d4,g4]@2 [b3,d4,g4]@4 [d4,e4,f#4,a4]@6 [d4,f#4,d5] ~@3, [d3,g3,b3]@2 [d3,g3,b3]@2 [a2,b2,c3]@2 d3@34 ~ d3@5 d3@2, ~@4 d3 [a3,c4,d4,e4]@3 ~@40, ~@8 [g2,b3] g3 [g2,b3] [f4,g4,a4,b4] [g2,g3,b3,d5,e5] a5@83, ~@9 [e3,f3]@4 [f5,g5]@3 ~@80]/6", // Cmaj7 Em7 F#m A G Em G Em …
  AP: "[[d4,f#4,d5] ~@3 [d4,f#4,d5] ~@3 [d4,f#4,d5] ~ [e3,e4,e5] ~ [d4,f#4,d5] ~@3 [a2,a3,c#4,e4]@2 [a2,a3,c#4,e4]@3 ~ [g2,g3,b3,d4]@6 [g2,g3,b3,d4]@2 [g2,g3,b3,e4]@2, d3!3 d3@5]/2", // D E D A G Em
  AQ: "[[g2,g3,b3,d4] ~@3 [g2,g3,b3,d4] ~@3 [g2,g3,b3,d4] [g6,a6,b6,c#7,d7] [c#6,e6] b5 [g2,g3,b3,d4,e5,g5] [b4,d5] [g4,a4] [e4,f#4] [b3,d4,e4,g4]@6 [e4,f#4,a4]@25 ~ [a3,b3,c#4,e4]@2 [a3,b3,c#4,e4]@3 ~ [g3,a3,b3,d4]@6 [g3,b3,d4] ~@3 [g2,g3,b3,e4] ~@3 [g2,g3,b3,d4] ~@3 [g2,g3,b3,e4] ~ [g2,g3,b3,e4] ~ [g2,g3,b3,d4] ~@3 [d3,b3,d4,g4]@2 [b3,d4,g4]@4 [d4,e4,f#4,a4]@6 [d4,f#4,d5] ~@3 [d4,f#4,d5] ~@3 [d4,f#4,d5] ~@3 [d4,f#4,d5] ~ [e3,e4,e5] ~ [d4,f#4,d5] ~@3 [a2,a3,c#4,e4]@2 [a2,a3,c#4,e4]@3 ~ [g2,g3,b3,d4]@6 [g2,g3,b3,d4]@2 [g2,g3,b3,e4]@2, ~@5 [d6,f#6]@36 d3@5 d3@2 d3@2 d3@2 d3@2 d3@10, ~@5 [g2,g3,b3,e4] f#5@58, ~@11 a5@117, ~@13 c#5@115]/8", // G C#m Em7 Bm Gsus2 Esus2 Em7 F#m7 …
  AR: "[g2,g3,b3,d4] ~@3 [g2,g3,b3,d4] ~@3 [g2,g3,b3,d4] ~ g1@2 g2@2 g1 ~", AS: "g1@7 g1", AT: "g1@13 ~@3",
  AU: "[[b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4,g4,c7] [g6,a6,b6] [e6,f6] [b5,c6] [b3,d4,g4,e5,f5,g5] [b4,c5,d5] [f4,g4,a4] [d4,e4] ~ [f#3,a3,d4,b4] ~@110, ~@4 g2 d6@59, ~@11 a5@53 ~@64, ~@12 g2@2 ~@3 d2@111]/8", // G Fmaj7 Cmaj7 Em7 Bm F Dsus2 Bm7
})).s("gm_piano").gain(0.8).pan(0.6)

// bass · electric bass finger · "bass"
const bass = note(`<
  ~@6 A@2 B C A@2 B C D C D C D C E F A@2 B C A@2 B C D G D G D G E F A@2 B C A@2 B C A@2 B C A@2 B C H@6 I@3 J@2 K L@3
  M N@3 K O@3 P@2 Q R S R Q R S R T E T E T E U V W@2 X E W@2 X E W@2 X E W@2 X E ~@5 Y@2 Z AA AB AA AC AD AE AF E AG AH
  AI AJ W AK AL AM AG AH AI AJ W AK AL AM AG AH AI AJ W AK AN@2 ~@4 AO AP ~@8
>`.pickRestart({
  A: "c2@2 c2 ~ c2@2 c2 ~ c2@2 c2 ~ c2@2 c2 ~", B: "b1@2 b1 ~ f1@2 f1 ~ f1@2 f1 ~ f1@2 f1 ~",
  C: "f1@2 f1 ~ f1@2 f1 ~ f1@2 f1 ~ f1@2 f1 ~", D: "c2 ~ c2 ~ c2 ~ c2 ~ a#1 ~ a#1 ~ a#1 ~ a#1 ~",
  E: "g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~", F: "g1 ~ g2 ~ g1 ~ g1 ~ g2 ~ g1 ~ g1 ~ g1 ~",
  G: "f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~", H: "[f1@6 c2@5 ~ g1@7 ~ g1@3 ~ g1@3 ~ g1@3 ~]/2",
  I: "[d1@6 a1@5 ~ g1@21 ~ g1 ~ g1 ~ g1 ~ g1@2 ~@2 g1@2 ~@2]/3", J: "[f1@25 ~ c2@2 ~@4]/2", K: "c2@3 g1@5",
  L: "[~@2 c2@2 b1@2 g1@2 c2@2 b1@2 g1@2 f1@22 ~@2 c2@5 ~ f1@3 ~]/3", M: "f1@3 g1@5",
  N: "[~@2 c2@2 b1@2 g1@2 c2@2 b1@2 g1@2 f1@27 ~ c2@2 ~@4]/3",
  O: "[~@2 c2@2 b1@2 g1@2 c2@2 b1@2 g1@2 d1@14 ~@2 f1@15 ~@3]/3",
  P: "[g1@4 ~@2 g1@4 g1@2 g1@2 a1@4 a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1@2 a1 ~]/2", Q: "d1@3 ~@11 d1 ~", R: "d1@2 ~@4 d1 ~@9",
  S: "d1 ~ d1 ~@3 d1 ~@7 d1 ~", T: "d2 ~ d2 ~ d2 ~ d2 ~ c2 ~ c2 ~ c2 ~ c2 ~",
  U: "a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~", V: "a1 ~ a2 ~ a1 ~ a1 ~ a2 ~ a1 ~ a1 ~ a1 ~",
  W: "d2@2 d2 ~ d2@2 d2 ~ d2@2 d2 ~ d2@2 d2 ~", X: "c#2@2 c#2 ~ g1@2 g1 ~ g1@2 g1 ~ g1@2 g1 ~",
  Y: "[~@2 c3 ~@3 c3 ~@3 c3@2 d3@14 ~@4 d2@2]/2", Z: "~ d2 c2 ~ b1@2 a1@2", AA: "d1 ~ f#1 a1 c2 ~@3",
  AB: "~@2 c3 ~ c2 ~@3 c3 ~ c2 ~ c3@2 d3@2", AC: "~@2 c3@2 d2 ~@3 c3@2 d3 ~ g2@2 a2 ~",
  AD: "d1@2 ~@2 d1 ~ d1 ~ d1@3 ~ d1@2 ~@2", AE: "~@2 d3@2 d2@2 ~@2 d1 ~ d1 ~ d1@2 d2@2",
  AF: "c#2@2 b1@2 a1@2 g1@4 g1 ~ g1@2 g1 ~", AG: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d3 ~ d2 ~ d2 ~",
  AH: "d3 ~ d3 ~ d2 ~ d2 ~ d3 ~ d2 ~ d2 ~ d3 ~", AI: "c#2 ~ b1 ~ a1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~",
  AJ: "g2 ~ g1 ~ g1 ~ g2 ~ g1 ~ g1 ~ g2 ~ g2 ~", AK: "d2 ~ d3 ~ d2 ~ d2 ~ d3 ~ a2 ~ d2 ~ d2 ~",
  AL: "c#2 ~ d2 ~ e2 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~", AM: "g1 ~ g1 ~ g2 ~ g1 ~ g2 ~ g1 ~ g1 ~ g2 ~",
  AN: "[c#2 ~ d2 ~ e2 ~ g1@20 ~@6]/2", AO: "~@2 a1 ~ a1 ~ a1 ~ a1@2 ~@2 a1@2 ~@2", AP: "e1 ~@7",
})).s("gm_electric_bass_finger").gain(0.8)

// chords · synth brass 1 · "syn2"
const synth_brass_1 = note(`<
  ~@6 A@2 B@2 A@2 B@2 ~@8 A@2 B@2 A@2 B@2 ~@8 A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 ~@41 C@2 D@2 C@2 D@2 C@2 D@2 C@2 D@2 ~@16
  C@2 D@2 C@2 D@2 ~@30
>`.pickRestart({
  A: "[[a3,c4,d4,f4]@3 [d4,e4,g4]@12 ~]/2", B: "[[g3,a3,b3,d4]@3 [f3,g3,a3,c4]@12 ~]/2",
  C: "[[b3,d4,e4,g4]@3 [e4,f#4,a4]@12 ~]/2", D: "[[a3,b3,c#4,e4]@3 [g3,a3,b3,d4]@12 ~]/2",
})).s("gm_synth_brass_1").gain(0.6).pan(0.2)

// chords · synth bass 1 · "syn3"
const synth_bass_1 = note(`<
  ~@2 A@12 B ~@7 A@8 B ~@7 A@8 C D@7 E@8 ~@17 F@7 G@8 ~ H@8 F@7 G@8 ~@9 H@16 F@7 I@5 ~@10
>`.pickRestart({
  A: "e5 d5 g4 c6 g5 d5 e5 d5 e5 d5 g4 c6 g5 d5 e5 d5", B: "e5 ~@15",
  C: "e5 d5 g4 c6 g5 d5 ~ d5 ~ d5 g4 c6 g5 d5 ~ d5, ~@3 e5 e5@3 e5",
  D: "~ d5 g4 c6 g5 d5 ~ d5 ~ d5 g4 c6 g5 d5 ~ d5, e5@3 e5 e5@3 e5", E: "e5/8",
  F: "[f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 e5, ~ e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 ~]/7",
  G: "[f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~@111, ~ e5@4 e5@2 e5@2 e5@4 e5@2 e5@113]/8",
  H: "[f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 e5, ~ e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 e5@2 e5@4 e5@2 ~]/8",
  I: "[f#5 ~ a4 d6 a5 ~ f#5 ~ f#5 ~ a4 d6 a5 ~ f#5 ~ f#4 e4 a3 d5 a4 e4 f#4 e4 f#4 e4 a3 d5 a4 e4 f#4 e4 f#4 e4 a3 d5 a4 e4 f#4 e4 f#4 e4 a3 d5 a4 e4 f#4 e4 f#3 e3 a2 d4 a3 e3 f#3 e3 f#3 e3 a2 d4 a3 e3 f#3 e3 f#3 e3 a2 d4 a3 e3 f#3 e3 f#3 e3 a2 d4 a3 e3 f#3 e3, ~ e5@4 e5@2 e5@2 e5@4 e5@2 e5@65]/5",
})).s("gm_synth_bass_1").gain(0.4).pan(0.2)

// chords · distortion guitar · "gtr1"
const distortion_guitar = note(`<
  ~@2 A@3 B A@2 C D A@2 C D E D E D E D F G A@2 C D A@2 C D E D E D E D F G A@2 C D A@2 C D A@2 C D A@2 C D H@2 I@2 J K
  L@2 M N@2 O@4 P@4 Q@2 R S T U V W X W V W X W Y Z Y Z Y Z AA AB AC@2 AD Z AC@2 AD Z AC@2 AD Z AC@2 AD AE AF AG AH AI
  AJ AK AJ AL AF AM AN AO AP@4 AQ@2 AR@2 AS@2 AT AU AV@2 AW AX AY@2 AZ@2 BA@2 BB@2 BC@2 BD@6 BE BF ~@8
>`.pickRestart({
  A: "[c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~", // C5
  B: "[c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3]@2", // C5
  C: "[b2,d3] ~ [b2,d3] ~ [b2,d3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~", // Bm F5
  D: "[f2,c3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~", // F5
  E: "[c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [a#2,f3] ~ [a#2,f3] ~ [a#2,f3] ~ [f2,c3] ~ [f2,c3] ~", // C5 A#5 F5
  F: "[g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3]@2 [g2,d3]@2 [g2,d3]@2 [g2,d3]@2", G: "[g2,d3]!8",
  H: "[[f2,c3]@4 [g2,d3]@2 [g2,c3,g3]@4 [g2,d3] ~ [g2,d3,g3]@6 [g2,d3,g3]@2 [g2,d3,g3]@2 [g2,d3,g3]@2 [g2,d3,g3]@2 [g2,d3,g3]@2 [g2,d3,g3]@2 [g2,d3,g3]@2]/2", // F5 G5 C5 G5
  I: "[[f2,c3]@4 [g2,d3]@2 [c3,g3]@2 ~@2 [g2,d3] ~ [g2,d3]@6 [g2,d3]@2 [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3,g3]@4, ~@3 g2@2 ~@11]/2", // F5 G5 C5 G5
  J: "[f2,c3]@4 [g2,d3]@2 [c3,g3]@2 ~@2 g2 ~ [g2,d3]@4", // F5 G5 C5 G5
  K: "~@2 [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~", // G5
  L: "[[d2,a2,d3,a3]@4 ~@2 [f2,c3,f3]@4 ~@2 [g2,d3]@6 [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~]/2", // D5 F5 G5
  M: "[g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3]@2 [g2,d3]@2 [g2,d3]@2 [g2,d3]@4", N: "[[f2,c3,f3]@13 [c3,g3,c4] ~@2]/2",
  O: "[[c3,g3,c4]@3 [g2,d3,g3]@11 ~ [f2,c3,f3]@11 ~ [c3,g3,c4]@3 [f2,c3,f3] ~]/4", // C5 G5 F5 C5 F5
  P: "[[f2,c3,f3]@3 [g2,d3,g3]@6 c3 b2 g2 c3 b2 g2 [f2,c3,f3]@13 ~ [c3,g3,c4] ~@2]/4", // F5 G5 F5 C5
  Q: "[[c3,g3,c4]@3 [g2,d3,g3]@12 [d3,a3,d4]]/2", // C5 G5 D5
  R: "~@2 [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [f3,c4,f4]@2", // D5 F5
  S: "~@2 [f3,c4] ~ [f3,c4] ~ [f3,c4] ~ [f3,c4] ~ [f3,c4] ~ [f3,c4] ~ [f3,c4] ~", // F5
  T: "[g2,d3,g3]@2 [g2,d3,g3]@2 [g2,d3,g3]@2 [g2,d3,g3] ~ [g2,d3,g3] ~ [g2,d3,g3] ~ [g2,d3,g3] ~ [a2,e3,a3]@2", // G5 A5
  U: "~@2 [a2,e3,a3] ~ [a2,e3,a3] ~ [a2,e3,a3] ~ [a2,e3,a3] ~ [a2,e3,a3] ~ [e3,a3]@2 [e3,a3]@2, ~@3 a2", // A5
  V: "d1@4 ~@10 d1 ~", W: "d1@2 ~ d1 ~@4", X: "d1@2 d1@2 ~@2 d1@2 ~@6 d1 ~",
  Y: "[d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [g2,d3] ~ [g2,d3] ~", // D5 C5 G5
  Z: "[g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~", // G5
  AA: "[a2,e3] ~ [a2,e3] ~ [a2,e3] ~ [a2,e3] ~ [a2,e3]@2 [a2,e3]@2 [a2,e3]@2 [a2,e3]@2", AB: "[a2,e3]!8",
  AC: "[d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~", // D5
  AD: "[c#3,e3] ~ [c#3,e3] ~ [c#3,e3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~", // C#m G5
  AE: "[g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3,g3]@2 [d3,g3]@2", // G5
  AF: "d3!2 f#3 [g3,c4]@2 ~@2 [d3,g3]", AG: "~@2 [d3,a3]@2 ~@2 d3@2 [d3,a3,d4]@3 ~@3 [d3,a3]@2",
  AH: "d3!2 f#3 [g3,c4]@2 ~@2 [d3,a3,d4]", AI: "~@2 [d3,a3] ~@2 [d3,a3] ~ [d3,a3]", AJ: "d3!2 f#3 [g3,c4]@2 ~@3",
  AK: "~ [d3,a3] ~@2 [d3,a3]@3 [d3,a3]", AL: "~ [d3,g3,c4] ~@2 [d3,g3,c4] ~@3", AM: "~ [d3,a3] ~ d3 [d3,a3]@3 [d3,a3]",
  AN: "d3@2 d3@2 f#3@2 [g3,c4]@4 ~@4 [d3,g3] ~", AO: "[d3,g3] ~ [d3,g3,c4]@2 ~@4 [a3,d4]@4 [a3,d4]@4",
  AP: "[d3 ~@2 [a3,d4]@8 [d3,b3,d4,g4] ~@2 [a3,d4,f#4] ~ [a2,e3,c#4]@3 [d3,g3]@5 d3 [g2,d3] [g2,d3,g3]!6, ~ d3@9 ~@4 d3@5 g2@6 ~@7, ~@16 a3@2 ~ b3@7 ~@6, ~@12 g3 ~@3]/4", // D5 G D A G5
  AQ: "[[d3,a3,d4,g4]@3 [d3,a3,d4,f#4]@6 [a3,d4]@3 [d3,a3] ~ [d3,a3,d4] ~, ~@9 d3 ~@2 d4@2 ~@2]/2", // Dsus4 D D5
  AR: "[[a2,e3,a3]@4 [a2,e3,a3] ~ [d3,g3]@4 [d3,g3]@2 [g2,d3,g3]@6 [g2,d3,g3]@2 [g2,d3,g3]@2 [g2,d3,g3]@2 [g2,d3,g3,c4]@2 ~@2 [g2,d3,g3,b3]@2 ~@2, ~@3 g2@3 ~@10]/2", // A5 G5 Gsus4 G
  AS: "[[a3,d4,g4]@3 [a3,d4]@3 [d3,a3,d4]@3 [a3,d4]@3 [d3,a3,d4,f#4] ~ [a3,d4,f#4] ~, ~@3 f#4@5 ~ [d3,f#4] ~@6]/2", // Dsus4 D5 D
  AT: "[a2,a3,c#4]@2 [a2,e3,a3,c#4] [g2,d3,g3,b3]@2 [g2,d3,g3,b3] [g2,d3,g3,b3]@2, e3 ~@7", // A G
  AU: "~ [a2,e3,a3,c4] [g2,d3,g3,b3] ~ [a2,e3,a3,c4] ~ [g2,d3,b3] ~", // Am G Am G
  AV: "[[d3,a3,d4,g4]@6 [a3,d4,f#4]@4 [d4,f#4] ~ [a3,d4,f#4]@6 d3@2 [a3,d4,f#4]@2 d3@2 [a3,d4,f#4]@2 ~@2 [a3,d4,f#4]@2 ~@2, ~@3 d3@5 ~@8]/2", // Dsus4 D
  AW: "[a2,e3,a3,c#4]@2 [e3,a3,c#4] b3@2 g2 [d3,g3,b3]@2, ~@3 [d3,g3]@3 ~@2, ~@3 g2 ~@4", // A G G5
  AX: "~ [a3,c4,e4] [g3,b3,d4] g2 [a3,c4,e4] g2 [g3,b3,d4] g2", // Am G Am G
  AY: "[[a3,d4,g4]@6 ~@12 [a3,d4] ~ [a3,d4,f#4]@2 d3@2 [a3,f#4]@2 d3@2 [a3,f#4]@2 d3@2, ~@3 [a3,d4,f#4]@6 ~@3 d4@2 d4@2, ~@4 d3 ~@3]/2", // Dsus4 D5 D
  AZ: "[[e3,a3]@2 [e3,a3] [d3,g3]@2 [d3,g3] [d3,g3]@3 [d3,g3,c4,e4] [d3,g3,b3,d4] ~ [d3,g3,c4,e4] ~ [d3,b3,d4] ~, ~@6 e3 ~@21 g3@4]/2", // A5 G5 C G C G
  BA: "[[d3,a3,d4,g4]@6 [d3,a3,d4,f#4]@4 [d3,a3,f#4] ~ [d3,a3,d4,f#4]@6 [d3,a3,d4,f#4]@2 ~@2 [d3,a3,d4,f#4] ~ [d3,b3,d4,g4]@2 ~@2 [d3,a3,d4,f#4]@2 ~@2]/2", // Dsus4 D G D
  BB: "[[a2,e3,a3]@4 [a2,e3,a3] ~ [g2,d3,g3]@4 [g2,d3,g3]@2 [g2,d3]@4 ~@2 a2@2 g2@2 ~@2 [d3,g3,c4,e4]@2 ~@2 [d3,g3,b3,d4]@2 ~@2, ~@6 g3@3 ~@7]/2", // A5 G5 C G
  BC: "[[a2,g3,g4]@3 [a2,d3,a3]@3 [a2,a3]@3 [d3,a3]@2 a2 [d3,a3,d4,f#4] ~ [d3,a3,d4,f#4] ~, d4@8 ~ [d4,f#4] ~@6, d3@2 ~ f#4@6 ~@7, ~@3 d3 ~@4]/2", // A7 D5 A D5 D
  BD: "[[a2,e3,a3,c#4]@3 ~@7 d4@38, ~@3 [g2,d3]@38 ~@7, ~@3 [g3,b3]@13 ~@32]/6", // A G5 G
  BE: "~ [g2,d3,g3] ~@2 [g2,d3,g3] ~ [a2,e3,a3] ~", BF: "[d3,a3,d4,f#4] ~@3",
})).s("gm_distortion_guitar").gain(0.6).pan(0.3)

// chords · distortion guitar · "lgtr"
const distortion_guitar_2 = note(`<
  ~@6 A@2 B@2 A@2 B@2 ~ C ~@3 C D@2 E@2 F@2 G@2 H@2 ~ I ~ J@2 K L M N O P@2 Q@2 R@2 S@2 T@2 U@2 V@2 W@3 X@6 Y@2 Z AA@3
  AB AC@3 AD@2 AE AF AG@2 ~@3 AH AI ~@4 AJ ~ AK ~ AL AM AN AO@2 AP AQ AR@2 AS AT AU@2 AV AW AX@2 AY@2 AZ BA BB BC BD BE
  BF BG BH@2 BI BJ BK BL BM BN BO BP BQ BR BS@2 BT@2 BU@2 BV@2 BW@2 BX@2 BY@2 BZ@2 CA@2 CB@5 CC CD CE ~@8
>`.pickRestart({
  A: "[[a3,c4,f4]@6 [d4,e4,g4]@25 ~, ~@3 c4@3 ~@10]/2", B: "[[g3,b3,d4]@6 [f3,a3,c4]@25 ~]/2",
  C: "~@2 [f3,g3,c4,f4]@3 ~@3 [f3,g3,c4,f4]@3 ~@5", // Fsus2
  D: "[[g2,d3]!2 g2@3 [g2,d3]!2 [g2,d3]@2 [g3,c4,d4,g4,c5]@2 ~ [g3,c4,d4,g4,c5] ~ [g3,c4,d4,g4,c5] ~, ~@2 g3@7 ~@7, ~ d3 ~@6]/2", // G5 Gsus4
  E: "[[f3,a3,d4,f4]@3 [g3,c4,d4,e4,g4]@10 ~ [c4,e4,g4] ~]/2", // Dm C
  F: "[[g2,d3,g3,b3,d4] [g2,d3,g3,b3,d4]@2 [f2,c3,f3,a3,c4]@10 [f3,a3,c4] ~@2]/2", // G F
  G: "[[f3,a3,d4,f4]@3 [d4,e4,g4]@6 [g3,c4,d4,e4,g4] ~@2 [c4,d4,e4,g4] ~@3, c4@9 ~@7, ~@3 g3@5 ~@8]/2", // Dm Em7 C
  H: "[[g3,b3,d4]@3 a3@6 a3@7, ~@6 [f3,c4]@25 ~]/2", I: "~@2 f2 [f3,g3,c4] ~ f2 [f3,g3,c4] ~",
  J: "[~@6 [g3,c4] [g3,c4]@2 ~@7]/2", K: "~@2 [f3,g3,c4]@2 ~@2 [f2,f3,g3]@2 [f3,g3,c4]@4 c4 ~ [f3,c4] ~",
  L: "d3 ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3,g3]@2", // G5
  M: "[g2,d3,g3]!6 [d3,g3]!2, ~@3 g2", N: "[a3,c4,f4]@3 [c4,d4,e4,g4]@5",
  O: "~ [c4,d4,e4,g4] ~@2 [c4,d4,e4,g4] ~ [c4,d4,e4,g4] ~", // C
  P: "[[g3,b3,d4]@3 [f3,a3,c4]@3 [f3,a3,c4]@3 [f3,g3,a#3,d4] ~@2 [f3,a#3,d4] ~ [f3,a3,c4] ~]/2", // G F Gm7 A# F
  Q: "[[a3,c4,f4]@3 [e4,g4]@6 [c4,d4,e4,g4] ~@2 [c4,d4,e4,g4] ~ [c4,d4,e4,g4] ~, ~@3 [c4,d4]@5 ~@8]/2", // F Em C Csus2
  R: "[[g2,g3,b3,d4]@6 [f3,a3,c4]@6 [f3,a3,c4]@6 [f2,f3,a3,c4] ~ [f2,f3,a3,c4]@2 ~@2 [f2,f3,a3,c4]@2 ~@2 [f2,f3,a3,c4]@2 ~@2, ~@3 f2@2 ~ f2@2 ~@8]/2", // G F
  S: "[[f3,a3,c4,f4]@3 [c4,e4,g4]@6 [g3,c4,d4,e4,g4] ~@2 [g3,c4,d4,e4,g4] ~ [g3,c4,d4,e4,g4] ~, ~@3 [g3,d4]@5 ~@8]/2", // F C G5
  T: "[[g2,g3,b3,d4] [g2,g3,b3,d4]@2 [f3,a3,c4]@3 [f2,f3,a3,c4]@3 [f3,a3,c4] ~@2 [f2,f3,a#3,d4] ~ [f2,f3,a3,c4] ~, ~@9 f2@2 ~@5]/2", // G F A# F
  U: "[[a3,c4,f4] [a3,c4,f4]@2 [c4,e4,g4]@6 [c3,g3,c4,d4,e4,g4] ~ [c3,g3] [c4,d4,e4,g4] [c3,g3] [c4,d4,e4,g4] ~, ~@3 d4@5 ~@8]/2", // F C C5 C C5 C
  V: "[[g3,b3,d4]@3 [f3,a3,c4]@3 [f3,a3,c4]@3 [f3,a#3,d4] [f3,a3,c4] ~ [f3,a#3,d4] [f3,a3,c4] ~@2]/2", // G F A# F A# F
  W: "[f3@2 g3@2 a3@2 c4@4 d4 e4 c4@2 d4@4 g4@8 a4@2 b4@2 c5@4 b4 a4 g4@2 f4@2 e5@2 f5@2 g5@2 c5@2]/3",
  X: "[~@2 g5@2 d5@9 ~ e5@6 ~@6 d5 c5 ~@2 d5@4 ~@2 f4@2 g4@4 a4@2 b4@2 c5@4 b4 a4 g4@2 f4@4 g4@2 a4@2 ~@20 g4@2 ~@6 g4@2 [g4,d5]@4, ~@10 e5@4 b4@3 d5@2 ~@14 d5@4 d5@2 d5@4 d5@3 ~@2, ~@35 b4@7 ~@20 g4@8 g4@6 g4@6 ~@2 g4@6 ~@6]/6", // G5
  Y: "[[f2,c3]@23 ~@3 [g3,c4,e4]@2 ~@4]/2", Z: "[g3,c4,e4]@6 [g3,b3,d4]@6 [d3,g3]@2 g2 ~",
  AA: "[[d3,g3]@2 c4@2 b3@2 g3@2 c4@2 b3@2 g3@2 [c3,f3,c4]@21 ~@3 [g3,c4,e4]@4 ~@2 [c3,f3,a3,c4]@2 ~@2]/3", // G5 F5 C F
  AB: "[c3,f3,a3,c4]@3 [d3,g3,b3,d4]@5", AC: "[~@2 c4@2 b3@2 g3@2 c4@2 b3@2 g3@2 f3@21 ~@7 [g3,c4,e4]@2 ~@4]/3",
  AD: "[[g3,c4,e4]@3 [d3,b3,d4]@5 ~ c4 b3 g3 c4 b3 g3 [d3,a3], ~@3 g3@6 ~@7]/2", // C G D5
  AE: "~@2 [d3,a3]@2 [d3,a3]@2 [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [f3,c4]@2", // D5 F5
  AF: "~@2 [f3,c4]@2 [f3,c4]@2 [f3,c4]@2 [f3,c4] ~ [f3,c4] ~ [f3,c4] ~ [c3,f3] ~", // F5
  AG: "[[d3,g3,d4]@2 g2@2 g2@2 g2 ~ g2 ~ g2 ~ g2@2 [e3,a3,e4]@4 a2@2 a2@2 a2@2 a2@2 a2@2 a2@2 a2@2]/2", // G5 A5
  AH: "~@3 [d3,a3,d4]", AI: "[d4,f#4,a4]@3 ~@13", AJ: "~ [a3,b3,d4,g4] ~@2 [a3,b3,d4,g4] ~@3",
  AK: "~@4 [d3,g3,a3,c4]!2 [d3,g3,b3] ~", AL: "~ [a3,b3,d4,g4] ~@2 [a3,b3,d4,g4] ~ [a3,b3,d4,g4]!2",
// … 117 more lines

More by Lionel Richie