Strudelify

Dancing on the Ceiling

Lionel Richie

KeyG majorTempo132 bpm
0:00/0:00
// Dancing on the Ceiling — Lionel Richie
// 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 32-step grid, each part at one level. Source detail keeps the original performance.
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: 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 Q@8 F R@2 S T U D E F V@2 W X Y@2 Z@2 AA@8 AB@3 AC@4 AD AE@8 AF@5 AG@3
  AH@8 AI AJ@2 AK AL AM AN AO AI ~@12 AP@2 AQ AR@6 AS@2 AT@8 AU@8 AV AW AX ~@2 AY@8 ~@2
>`.pickRestart({
  A: "[[a3,c4,d4,f4]@12 d4@52 [g3,a3,b3,d4]@4 [g3,a3,b3,d4]@8 [f3,g3,a3,c4]@12 [f3,a3,c4] ~@7, ~@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]@4 [c3,a3,c4,f4]@7 ~@2 [c4,d4]@12 [c3,c4,e4,c5]@2 ~@5, ~@3 g4@3 ~@2", // F Csus2 C
  D: "~ [c3,c4,e4,c5]@2 ~@6 [c3,c4,e4,c5]@2 ~@6 [c3,c4,e4,c5]@2 ~@2 [d3,d4,d5]@2 ~@2 [c3,c4,e4,c5]@2 ~@5", // C D C
  E: "~ [g2,g3,b3,d4]@4 [g2,g3,b3,d4]@7 ~ [f2,f3,a3,c4]@12 [f2,f3,a3,c4]@4 [f2,f3,a3,d4]@3", // G F Dm
  F: "~ [f2,f3,a3,c4]@3 ~@5 [f2,f3,a3,c4]@3 ~@5 [f2,f3,a3,c4]@3 ~ [f2,f3,a3,d4]@3 ~ [f2,f3,a3,c4]@3 ~@4", // F Dm F
  G: "[~ [g3,c4]@3 ~@9 [a#2,f3,a#3]@3 ~ [a#2,f3,a#3]@3 ~@5 [a#2,f3,a#3]@3 ~ f2@3 ~ [f2,c3,f3]@3 ~ [g3,c4,f4]@3 ~@5 f2@3 ~ [g3,c4,f4]@3 ~@5 [g3,c4,f4]@3 ~@5 [c3,g3,c4]@3 ~ [c3,g3,c4]@3 ~@5 [a#2,f3,a#3]@3 ~@5 [a#2,f3,a#3]@3 ~ [a#2,f3,a#3]@3 ~@5 [f2,c3,f3]@3 ~@13 [f2,c3,f3]@3 ~ [f2,c3,f3]@3 ~@8, ~ c2 ~@3 c2@123]/4", // C5 A#5 F5 Csus4 C5 A#5 F5
  H: "[~ [c2,c3,g3]@4 [c3,g3,c4]@3 ~@5 [a#2,f3,a#3]@3 ~@5 [a#2,f3,a#3]@3 ~ [a#2,f3,a#3]@3 ~ a#2@3 ~ f2@3 ~ [g3,c4,f4]@3 ~ [g3,c4,f4]@3 ~@5 [g3,c4,f4]@3 ~@5 [g3,c4,f4]@3 ~ [g3,c4,f4]@3 ~ [g3,d4]@4 [g3,d4]@4 [g3,d4]@4 [g3,d4]@4 [g3,d4]@4 [g3,d4]@4 [g3,d4]@4 [g3,d4]@3, ~ c4@2 ~@2 c2@91]/3", // C5 A#5 Csus4 G5
  I: "[~ [g3,d4]@4 [g3,d4]@4 [g3,d4]@4 [g3,d4]@4 ~@8 d4 ~@3 [g3,d4]@3 ~ [a3,c4,d4,f4]@10 ~@2 [d4,e4,g4]@51 ~ [g3,a3,b3,d4]@4 [g3,a3,b3,d4]@7 ~ [f3,g3,a3,c4]@12 [f3,a3,c4] ~@7 [f2,f3,a3,d4]@2 ~@6 [f2,f3,a3,c4]@2 ~@6 [f2,f3,a3,d4]@2 ~@2 [f2,f3,a3,d4]@2 ~@2 [f2,f3,a3,c4]@2 ~@6 [c3,a3,c4,f4]@4 [c3,a3,c4,f4]@7 ~ [c4,d4,e4,g4]@12 [c3,c4,e4,c5]@2 ~@6 [c3,c4,e4,c5]@2 ~@6 [c3,c4,e4,c5]@2 ~@6 [c3,c4,e4,c5]@2 ~@2 [d3,d4,d5]@2 ~@2 [c3,c4,e4,c5]@2 ~@6 [g2,g3,b3,d4]@4 [g2,g3,b3,d4]@7 ~ [f2,f3,a3,c4]@12 [f2,f3,a3,c4]@4 [f2,f3,a3,d4]@3, ~@17 g6@2 d6 [a5,b5] g5 d5 [b4,c5] [g4,a4] [g3,e4,f4] d4 g4@5 ~@224, ~@17 d4@2 c6@237, ~@17 g3 f6@3 [g3,f5] e5@234, ~@9 e6@119]/8", // G5 Dm7 Em7 G F Dm F Dm …
  J: "~ [c3,c4]@3 ~@9 [a#2,a#3]@5 ~@3 [a#2,f3,a#3] ~@3 [a#2,f3,a#3] ~@3 [a#2,f3,a#3] ~@2, ~ g3 ~@11 f3@3 ~@16", // C A# A#5
  K: "~ [f2,c3,f3]@3 ~@5 [g3,c4,f4,c5]@2 ~@2 f2 ~@7 [g3,c4,f4,c5]@2 ~@2 f2 ~@6", // F5 Csus4
  L: "~ [c3,g3,c4] ~@3 [c3,g3,c4] ~@7 [a#2,a#3]@3 ~@5 [a#2,f3,a#3] ~@3 [a#2,a#3]@3 ~@4, ~@13 f3@5 ~@7 f3@5 ~@2", // C5 A# A#5 A#
  M: "~ [f2,c3,f3]@3 ~@5 [f2,c3]@5 ~@3 [f2,f3]@3 ~ [f2,c3] ~@3 [f2,f3]@3 ~@4, ~@9 f3@3 ~@5 c3 ~@3 g3@3 ~ c3 ~@6", // F5 F F5 F
  N: "~ [c3,g3,c4] ~@3 [g3,c4]@3 ~@5 [a#2,f3,a#3]@5 ~@3 [a#2,f3,a#3] ~@3 [a#2,f3,a#3]@3 ~ [a#2,f3,a#3]@3, ~@5 c3 ~@26", // C5 A#5
  O: "~ [f2,c3,f3]@3 ~ f2 ~@3 [g3,c4,f4]@7 ~ f2 ~@3 [g3,c4,f4]@5 ~@6, ~@9 f2 ~@11 f2@3 ~@8", // F5 Csus4
  P: "~ [g3,d4]@4 [g3,d4]@4 [g3,d4]@4 [g3,d4]@4 [g3,d4]@4 [g3,d4]@4 [g3,d4]@4 [g3,d4]@3", // G5
  Q: "[~ [g3,d4]@4 [g3,d4]@4 [g3,d4]@4 [g3,d4]@4 ~@8 d4 ~@3 [g3,d4]@3 ~ [a3,c4,d4,f4]@11 ~ [d4,e4,g4]@51 ~ [g3,a3,b3,d4]@4 [g3,a3,b3,d4]@7 ~ [f3,g3,a3,c4]@12 [f3,a3,c4] ~@7 [f2,f3,a3,d4]@2 ~@6 [f2,f3,a3,c4]@2 ~@6 [f2,f3,a3,d4]@2 ~@2 [f2,f3,a3,d4]@2 ~@2 [f2,f3,a3,c4]@2 ~@6 [c3,a3,c4,f4]@4 [c3,a3,c4,f4]@6 ~@2 [c4,d4,e4,g4]@12 [c3,c4,e4,c5]@2 ~@6 [c3,c4,e4,c5]@2 ~@6 [c3,c4,e4,c5]@2 ~@6 [c3,c4,e4,c5]@2 ~@2 [d3,d4,d5]@2 ~@2 [c3,c4,e4,c5]@2 ~@6 [g2,g3,b3,d4]@4 [g2,g3,b3,d4]@7 ~ [f2,f3,a3,c4]@12 [f2,f3,a3,c4]@4 [f2,f3,a3,d4]@3, ~@17 g6@2 d6 [a5,b5] g5 d5 [b4,c5] [g4,a4] [g3,e4,f4] d4 g4@5 ~@224, ~@17 d4@2 c6@237, ~@17 g3 f6@3 [g3,f5] e5@234, ~@9 e6@119]/8", // G5 Dm7 Em7 G F Dm F Dm …
  R: "[~ [a3,c4,d4,f4]@11 ~ [d4,e4,g4]@51]/2", S: "~ [g3,a3,b3,d4]@4 [g3,a3,b3,d4]@7 ~ [f3,g3,a3,c4]@12 [f3,a3,c4] ~@6",
  T: "~ [f2,f3,a3,d4]@2 ~@6 [f2,f3,a3,c4]@2 ~@6 [f2,f3,a3,d4]@2 ~@2 [f2,f3,a3,d4]@2 ~@2 [f2,f3,a3,c4]@2 ~@5", // Dm F Dm F
  U: "~ [c3,a3,c4,f4]@4 [c3,a3,c4,f4]@7 ~ [c4,d4,e4,g4]@12 [c3,c4,e4,c5]@2 ~@5", // F C
  V: "[~ [f2,f3,a3,c4]@11 ~ [c3,g3,c4,e4]@11 ~ [g2,b3,d4]@12 [g2,b3,g4] ~@3 [g2,c4]@5 ~@3 [g2,b3]@5 ~@3 [g2,b3,d4,g4]@3 ~@4, ~@25 g4@9 ~@7 [e4,g4]@3 ~@5 [d4,g4]@3 ~@12]/2", // F C G C5 G Em G5
  W: "~ [f3,a3,c4]@7 ~@5 [g3,c4,e4]@7 ~ [b3,d4,g4] ~@3 [g2,b3,d4,g4]@7, ~ f2@11 ~ c3@11 ~@8", // F C G
  X: "~@5 [g2,b3,d4,g4] ~@3 [g2,c4,e4,g4] ~@3 [g2,c4,e4,g4] ~@3 [g2,b3,d4,g4]@3 ~@5 [g2,b3,d4,g4]@3 ~@4", // G C G
  Y: "[~ [f2,a3,c4,f4] ~@3 [f2,a3,c4,f4]@5 ~@3 [c3,g3,c4,e4]@7 ~ g2 ~@3 [b3,d4,g4] ~@3 [b3,d4,g4]@8 g2 ~@3 [c4,e4,g4]@3 ~ g2 ~@3 [g2,b3,d4,g4]@3 ~@5 [g2,c4,e4,g4]@3 ~@4, ~@25 g2@9 ~@7 g2 ~@22]/2", // F C G C G C
  Z: "[~ [a3,c4,f4]@7 ~@5 [d4,f4,a4]@7 ~@5 [b3,d4,g4]@13 ~@3 [b3,d4,g4] ~@3 [b3,d4,g4] ~@3 [b3,d4,g4] ~@3 [b3,d4,g4] ~@3 [b3,d4,g4] ~@3 [b3,d4,g4] ~@2, ~ d2@11 ~ a2@11 ~ g2@39]/2", // F Dm G
  AA: "[~ [b3,d4,g4] ~@3 [b3,d4,g4] ~@3 [b3,d4,g4] ~@3 [b3,d4,g4] ~@3 [b3,d4,g4,b6,c7] a6 [f6,g6] ~ d6 b5 a5 f5 [b3,d4,g4,d5] c5 a4 g4 [e4,f4] d4 ~@2 [f2,c4,f4,a4]@28 [f2,c4,f4,a4]@4 ~@20 [c3,e4,g4,c5]@3 ~@9 g4@12 [g2,d4,g4]@12 [g3,g4] ~@7 [g3,g4] ~@7 [g3,g4] ~@7 [g3,g4] ~@3 [g3,g4] ~@7 [f2,f4,a4]@32 [f2,f4,a4,c5]@3 ~ [f2,f4,a4,c5]@11 ~@13 [f2,a3,c4,f4]@7 ~ [f2,f4,g4,c5]@11 ~ [g2,d4,g4,b4]@19, ~@17 g2@3 e6@137 c4@35 ~@13 [c3,e4,g4,c5]@19 ~@32, ~@21 c6@235, ~@23 g5@2 g2@2 b4@38 [f2,c4,f4,a4]@23 ~@9 [c3,e4,c5]@12 b4@12 g5@8 g5@8 g5@8 g5@4 g5@107, ~@25 e5@231]/8", // G Fsus2 G Fmaj7 F C G5 G …
  AB: "[~@25 [g2,g3]@3 ~ [f2,c4]@24 ~@8 c4@4 c4@17 ~@3 [c2,e4,g4,c5]@11, ~@5 [c3,c4]@12 [c3,c4]@11 ~ f3@53 ~@14, ~@9 [b2,b3]@12 [b2,b3]@7 ~ a4@28 a4@25 ~@14, ~@13 [g2,g3]@12 ~@28 c5@29 ~@14, ~@53 [f2,a3,c4]@8 [f2,a3,f4]@21 ~@14]/3", // G F5 C B G F
  AC: "[~ [e4,g4,c5]@11 ~ [g2,d4,g4]@12 g5@8 g5@8 g5@8 g5@4 g5@4 g4 ~@11 d3@4 d3@4 d3@4 d3@4 d3@4 d3@4 ~@4 f3@4 f3@4 f3@4 f3@4 f3@4 f3@4 f3@4 f3@3, ~ c2@127, ~@13 b4@115, ~@25 g4@2 ~@6 g4 ~@7 g4 ~@7 g4 ~@3 g4 ~@3 g5@71, ~@61 [d2,a3,c4,f4]@32 [f2,a3,c4,f4]@35]/4", // C G5 Dm7 F
  AD: "~@5 g3@4 g3@4 g3@4 ~@8 [g2,b3,d4]@3 ~ [a2,c#4,e4,a4]@3, ~ [g2,b3,d4]@24 ~@7, ~ g4@20 g4@7 ~@4, ~@17 g3@11 ~@4", // G A G
  AE: "[~@5 [a2,a3]@4 [a2,a3]@4 [a2,a3]@3 ~@13 [a2,a3]@4 [d1,d3]@6 ~@22 [d1,d3] ~@3 [d1,d3]@4 ~@8 [d1,d3]@3 ~@17 [d1,d3]@3 ~ [d1,d3]@3 ~@5 [d1,d3]@3 ~@13 [d1,d3] ~@3 [d1,d3]@4 ~@8 [d1,d3]@3 ~@17 [d1,d3]@6 ~@22 [d1,d3] ~@3 [d1,d3]@4 ~@8 [d1,d3]@3 ~@17 [d1,d3]@3 ~ [d1,d3]@3 ~@5 [d1,d3]@3 ~@13 [d1,d3] ~@2, ~@16 c7@4 e6@4 f5 [a2,a3,d5] [b4,c5] a4@6 ~@223, ~@17 b6@3 d6 c6@235, ~@17 [a2,a3]@2 f6@2 [a2,a3] [a5,b5] g5@233, ~@9 [g6,a6]@3 e5@116]/8", // A D D5 Cmaj7 A Asus2 Gsus2
  AF: "[~ [d1,d3]@4 ~@8 [d1,d3]@3 ~ [b6,c7] a6 [f6,g6] ~ d6 b5 a5 f5 d5 c5 a4 g4 [e4,f4] d4 c4 ~ [a3,d4]@3 ~@9 [c3,g3,c4]@3 ~ [c3,g3,c4]@3 ~@5 [c3,g3,c4]@3 ~ g2@3 ~ [g2,d3,g3]@3 ~ [a3,d4,g4]@3 ~@5 g2@3 ~ [a3,d4,g4]@3 ~@5 [a3,d4,g4]@3 ~@5 [d3,a3,d4]@3 ~ [d3,a3,d4]@3 ~@5 [c3,g3,c4]@3 ~@5 [c3,g3,c4]@3 ~ [c3,g3,c4]@3 ~@5 [g2,d3,g3]@3 ~@13 [g2,a2,d3,g3,c4]@3 ~ [g2,a2,d3,g3,c4]@3 ~ [d3,g3,b3]@3 ~@4, ~@20 e6@7 b4@36 ~@97, ~@21 c6@12 d2 ~@3 d2@123, ~@23 g5@35 ~@102, ~@5 e5@7 ~@20]/5", // D Cmaj7 Fsus2 Fmaj7 D5 C5 G5 Dsus4 …
  AG: "[~ [d2,d3,a3]@4 [d3,a3,d4]@3 ~@5 [c3,g3,c4]@3 ~@5 [c3,g3,c4]@3 ~ [c3,g3,c4]@3 ~ c3@3 ~ g2@3 ~ [a3,d4,g4]@3 ~ [a3,d4,g4]@3 ~@5 [a3,d4,g4]@3 ~@5 [a3,d4,g4]@3 ~ [a3,d4,g4]@3 ~ [a3,e4]@4 [a3,e4]@4 [a3,e4]@4 [a3,e4]@4 [a3,e4]@4 [a3,e4]@4 [a3,e4]@4 [a3,e4]@3, ~ d4@2 ~@2 d2@91]/3", // D5 C5 Dsus4 A5
  AH: "[~ [a3,e4]@4 [a3,e4]@4 [a3,e4]@4 [a3,e4]@4 ~@8 e4 ~@3 e4@4 [b3,d4,e4,g4]@11 ~ [e4,f#4,a4]@51 ~ [a3,b3,c#4,e4]@4 [a3,b3,c#4,e4]@7 ~ [g3,a3,b3,d4]@12 [g3,b3,d4] ~@7 [g2,g3,b3,e4]@2 ~@6 [g2,g3,b3,d4]@2 ~@6 [g2,g3,b3,e4]@2 ~@2 [g2,g3,b3,e4]@2 ~@2 [g2,g3,b3,d4]@2 ~@6 [d3,b3,d4,g4]@4 [d3,b3,d4,g4]@6 ~@2 [d4,e4,f#4,a4]@12 [d3,d4,f#4,d5]@2 ~@6 [d3,d4,f#4,d5]@2 ~@6 [d3,d4,f#4,d5]@2 ~@6 [d3,d4,f#4,d5]@2 ~@2 [e3,e4,e5]@2 ~@2 [d3,d4,f#4,d5]@2 ~@6 [a2,a3,c#4,e4]@4 [a2,a3,c#4,e4]@6 ~@2 [g2,g3,b3,d4]@12 [g2,g3,b3,d4]@4 [g2,g3,b3,e4]@3, ~@17 a6@2 e6 [b5,c#6] a5 e5 [c#5,d5] [a4,b4] [a3,f#4,g4] e4 a4@2 a3@15 ~@212, ~@17 e4@2 d6@237, ~@17 a3 g6@3 [a3,g5] f#5@234, ~@9 f#6@119]/8", // A5 Em7 F#m7 A G Em G Em …
  AI: "~ [g2,g3,b3,d4]@3 ~@5 [g2,g3,b3,d4]@3 ~@5 [g2,g3,b3,d4]@3 ~ [g2,g3,b3,e4]@3 ~ [g2,g3,b3,d4]@3 ~@4", // G Em G
  AJ: "[~ [b3,d4,e4,g4]@11 ~ [e4,f#4,a4]@51]/2", // Em7 F#m7
  AK: "~ [a3,b3,c#4,e4]@4 [a3,b3,c#4,e4]@8 [g3,a3,b3,d4]@12 [g3,b3,d4] ~@6", // A G
  AL: "~ [g2,g3,b3,e4]@2 ~@6 [g2,g3,b3,d4]@2 ~@6 [g2,g3,b3,e4]@2 ~@2 [g2,g3,b3,e4]@2 ~@2 [g2,g3,b3,d4]@2 ~@5", // Em G Em G
  AM: "~ [d3,b3,d4,g4]@4 [d3,b3,d4,g4]@8 [d4,e4,f#4,a4]@12 [d3,d4,f#4,d5]@2 ~@5", // G D
  AN: "~ [d3,d4,f#4,d5]@2 ~@6 [d3,d4,f#4,d5]@2 ~@6 [d3,d4,f#4,d5]@2 ~@2 [e3,e4,e5]@2 ~@2 [d3,d4,f#4,d5]@2 ~@5", // D E D
  AO: "~ [a2,a3,c#4,e4]@4 [a2,a3,c#4,e4]@8 [g2,g3,b3,d4]@12 [g2,g3,b3,d4]@4 [g2,g3,b3,e4]@3", // A G Em
  AP: "[~ [d3,b3,d4,g4]@4 [d3,b3,d4,g4]@8 [d3,a3,d4,f#4]@32 ~@4 [b3,d4,g4]@4 [b3,d4,g4]@4 [d3,a3,d4,f#4]@7, ~@49 d3@8 ~@7]/2", // G D G D
  AQ: "~ [a2,e3,a3,c#4]@4 [a2,e3,a3,c#4]@8 [g2,d3,g3,b3]@12 [g2,d3,g3,b3]@7", // A G
  AR: "[~ g2@4 g2@4 g2@4 g2@3 g2 ~@12 c6@2 ~@2 [b3,d4,e4,g4]@10 ~@2 [f#4,a4]@51 ~ [a3,b3,c#4,e4]@4 [a3,b3,c#4,e4]@6 ~@2 [g3,a3,b3,d4]@12 [g3,b3,d4] ~@7 [g2,g3,b3,e4]@2 ~@6 [g2,g3,b3,d4]@2 ~@6 [g2,g3,b3,e4]@2 ~@2 [g2,g3,b3,e4]@2 ~@2 [g2,g3,b3,d4]@2 ~@6 [d3,b3,d4,g4]@4 [b3,d4,g4]@8 [d4,e4,f#4,a4]@12 [d4,f#4,d5]@2 ~@5, ~ [d3,g3,b3]@8 [d3,g3,b3]@7 a2@3 g3 [a3,b3,c4] [g2,d4,e4] f4 [g4,a4,b4] d5 d3@136 ~@4 d3@20 d3@7, ~@17 [b2,c3]@8 [g2,g3,b3,e5] f5 a5@165, ~@17 d3@2 f3@8 g5 b5@3 ~@161, ~@17 [g2,g3,b3] e3@13 ~@161]/6", // Em7 F#m A G Em G Em G …
  AS: "[~ [d4,f#4,d5]@2 ~@6 [d4,f#4,d5]@2 ~@6 [d4,f#4,d5]@2 ~@2 [e3,e4,e5]@2 ~@2 [d4,f#4,d5]@2 ~@6 [a2,a3,c#4,e4]@4 [a2,a3,c#4,e4]@6 ~@2 [g2,g3,b3,d4]@12 [g2,g3,b3,d4]@4 [g2,g3,b3,e4]@3, ~ d3@8 d3@8 d3@8 d3@39]/2", // D E D A G Em
  AT: "[~ [g2,g3,b3,d4]@3 ~@5 [g2,g3,b3,d4]@3 ~@6 [c#7,d7] [g6,a6,b6] e6 ~ b5 ~@4 b4 ~ g4 f#4 e4@2 [b3,d4,e4,g4]@11 ~ [e4,f#4,a4]@51 ~ [a3,b3,c#4,e4]@4 [a3,b3,c#4,e4]@7 ~ [g3,a3,b3,d4]@12 [g3,b3,d4] ~@7 [g2,g3,b3,e4]@2 ~@6 [g2,g3,b3,d4]@2 ~@6 [g2,g3,b3,e4]@2 ~@2 [g2,g3,b3,e4]@2 ~@2 [g2,g3,b3,d4]@2 ~@6 [d3,b3,d4,g4]@4 [b3,d4,g4]@8 [d4,e4,f#4,a4]@12 [d4,f#4,d5]@2 ~@6 [d4,f#4,d5]@2 ~@6 [d4,f#4,d5]@2 ~@6 [d4,f#4,d5]@2 ~@2 [e3,e4,e5]@2 ~@2 [d4,f#4,d5]@2 ~@6 [a2,a3,c#4,e4]@4 [a2,a3,c#4,e4]@7 ~ [g2,g3,b3,d4]@12 [g2,g3,b3,d4]@4 [g2,g3,b3,e4]@3, ~@17 [g2,g3,b3,d4]@3 f#6@4 g5 [g2,g3,b3,d4,e5] d5 c#5 a4@2 ~@135 d3@20 d3@8 d3@8 d3@8 d3@8 d3@39, ~@21 d6@235, ~@21 [g2,g3,b3,e4,c#6]@2 a5@233, ~@3 f#5@29]/8", // G Dmaj7 G Em7 F#m7 A G Em …
  AU: "[~ [g2,g3,b3,d4]@3 ~@5 [g2,g3,b3,d4]@3 ~@6 [c#7,d7] [g6,a6,b6] e6 ~ b5 ~@4 b4 ~ g4 f#4 e4@2 [b3,d4,e4,g4]@11 ~ [e4,f#4,a4]@51 ~ [a3,b3,c#4,e4]@4 [a3,b3,c#4,e4]@7 ~ [g3,a3,b3,d4]@12 [g3,b3,d4] ~@7 [g2,g3,b3,e4]@2 ~@6 [g2,g3,b3,d4]@2 ~@6 [g2,g3,b3,e4]@2 ~@2 [g2,g3,b3,e4]@2 ~@2 [g2,g3,b3,d4]@2 ~@6 [d3,b3,d4,g4]@4 [b3,d4,g4]@7 ~ [d4,e4,f#4,a4]@12 [d4,f#4,d5]@2 ~@6 [d4,f#4,d5]@2 ~@6 [d4,f#4,d5]@2 ~@6 [d4,f#4,d5]@2 ~@2 [e3,e4,e5]@2 ~@2 [d4,f#4,d5]@2 ~@6 [a2,a3,c#4,e4]@4 [a2,a3,c#4,e4]@7 ~ [g2,g3,b3,d4]@12 [g2,g3,b3,d4]@4 [g2,g3,b3,e4]@3, ~@17 [g2,g3,b3,d4]@3 f#6@4 g5 [g2,g3,b3,d4,e5] d5 c#5 a4@2 ~@135 d3@20 d3@8 d3@8 d3@8 d3@8 d3@39, ~@21 d6@235, ~@21 [g2,g3,b3,e4,c#6]@2 a5@233, ~@3 f#5@29]/8", // G Dmaj7 G Em7 F#m7 A G Em …
  AV: "~ [g2,g3,b3,d4]@3 ~@5 [g2,g3,b3,d4]@3 ~@5 [g2,g3,b3,d4]@3 ~ g1@4 g2@4 g1@2 ~", AW: "~ g1@28 g1@3",
  AX: "~ g1@26 ~@5",
  AY: "[~ [b3,d4,g4] ~@3 [b3,d4,g4] ~@3 [b3,d4,g4] ~@3 [b3,d4,g4] ~@3 [b3,d4,g4,c7] b6 [g6,a6] f6 e6 c6 b5 g5 [b3,d4,g4,e5,f5] d5 [b4,c5] a4 [f4,g4] e4 d4 ~@2 [f#3,a3,d4,b4] ~@221, ~@17 g2@3 ~ d6@235, ~@23 a5@107 ~@126, ~@25 g2@3 ~@6 d2@222]/8", // G Gsus2 Em7 Cmaj7 Fsus2 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 G H G H G H I J A@2 B C A@2 B C A@2 B C A@2 B C K@6 L@3 M@2 N O@3
  P Q@3 N R@3 S@2 T U V U T U V U W E W E W E X Y Z@2 AA E Z@2 AA E Z@2 AA E Z@2 AA E ~@5 AB@2 AC AD AE AD AF AG AH AI E
  AJ AK AL AM Z AN AO AP AJ AK AL AM Z AN AO AP AJ AK AL AM Z AN AQ@2 ~@4 AR AS ~@8
>`.pickRestart({
  A: "~ c2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~ c2@3",
  B: "~ b1@3 ~ b1@3 ~ f1@3 ~ f1@3 ~ f1@3 ~ f1@3 ~ f1@3 ~ f1@3",
  C: "~ f1@3 ~ f1@3 ~ f1@3 ~ f1@3 ~ f1@3 ~ f1@3 ~ f1@3 ~ f1@3",
  D: "~ c2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~ a#1@3 ~ a#1@3 ~ a#1@3 ~ a#1@3",
  E: "~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3",
  F: "~ g1@3 ~ g2@3 ~ g1@3 ~ g1@3 ~ g2@3 ~ g1@3 ~ g1@3 ~ g1@3",
  G: "~ c2@2 ~@2 c2@2 ~@2 c2@2 ~@2 c2@2 ~@2 a#1@2 ~@2 a#1@2 ~@2 a#1@2 ~@2 a#1@2 ~",
  H: "~ f1@2 ~@2 f1@2 ~@2 f1@2 ~@2 f1@2 ~@2 f1@2 ~@2 f1@2 ~@2 f1@2 ~@2 f1@2 ~",
  I: "~ g1@2 ~@2 g1@2 ~@2 g1@2 ~@2 g1@2 ~@2 g1@2 ~@2 g1@2 ~@2 g1@2 ~@2 g1@2 ~",
  J: "~ g1@2 ~@2 g2@2 ~@2 g1@2 ~@2 g1@2 ~@2 g2@2 ~@2 g1@2 ~@2 g1@2 ~@2 g1@2 ~",
  K: "[~ f1@11 ~ c2@9 ~@3 g1@13 ~@3 g1@5 ~@3 g1@5 ~@3 g1@5 ~@2]/2",
  L: "[~ d1@11 ~ a1@9 ~@3 g1@41 ~@3 g1 ~@3 g1 ~@3 g1 ~@3 g1@3 ~@5 g1@3 ~@4]/3", M: "[~ f1@49 ~@3 c2@3 ~@8]/2",
  N: "~ c2@11 ~ g1@19", O: "[~@5 c2@3 ~ b1@3 ~ g1@3 ~ c2@3 ~ b1@3 ~ g1@3 ~ f1@43 ~@5 c2@9 ~@3 f1@5 ~@2]/3",
  P: "~ f1@11 ~ g1@19", Q: "[~@5 c2@3 ~ b1@3 ~ g1@3 ~ c2@3 ~ b1@3 ~ g1@3 ~ f1@53 ~@3 c2@3 ~@8]/3",
  R: "[~@5 c2@3 ~ b1@3 ~ g1@3 ~ c2@3 ~ b1@3 ~ g1@3 ~ d1@27 ~@5 f1@29 ~@6]/3",
  S: "[~ g1@7 ~@5 g1@7 ~ g1@3 ~ g1@3 ~ a1@7 ~ a1 ~@3 a1 ~@3 a1 ~@3 a1 ~@3 a1 ~@3 a1@3 ~ a1 ~@2]/2",
  T: "~ d1@6 ~@22 d1 ~@2", U: "~ d1@4 ~@8 d1@3 ~@16", V: "~ d1@3 ~ d1@3 ~@5 d1@3 ~@13 d1 ~@2",
  W: "~ d2@3 ~ d2@3 ~ d2@3 ~ d2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~ c2@3",
  X: "~ a1@3 ~ a1@3 ~ a1@3 ~ a1@3 ~ a1@3 ~ a1@3 ~ a1@3 ~ a1@3",
  Y: "~ a1@3 ~ a2@3 ~ a1@3 ~ a1@3 ~ a2@3 ~ a1@3 ~ a1@3 ~ a1@3",
  Z: "~ d2@3 ~ d2@3 ~ d2@3 ~ d2@3 ~ d2@3 ~ d2@3 ~ d2@3 ~ d2@3",
  AA: "~ c#2@3 ~ c#2@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3", AB: "[~@5 c3@2 ~@6 c3@2 ~@6 c3@4 d3@28 ~@8 d2@3]/2",
  AC: "~@5 d2@4 c2@4 ~@4 b1@7 ~ a1@7", AD: "~ d1@4 ~@4 f#1@4 a1@4 c2@4 ~@11",
  AE: "~@5 c3@2 ~@2 c2@2 ~@6 c3@2 ~@2 c2@2 ~@2 c3@4 d3@3", AF: "~@5 c3@3 ~ d2@2 ~@6 c3@3 ~ d3@2 ~@2 g2@3 ~ a2@2 ~",
  AG: "~ d1@4 ~@4 d1@2 ~@2 d1@2 ~@2 d1@6 ~@2 d1@4 ~@3", AH: "~@5 d3@4 d2@4 ~@4 d1@2 ~@2 d1@2 ~@2 d1@4 d2@3",
  AI: "~ c#2@3 ~ b1@3 ~ a1@3 ~ g1@7 ~ g1@3 ~ g1@3 ~ g1@3",
  AJ: "~ d2@3 ~ d2@3 ~ d2@3 ~ d2@3 ~ d2@3 ~ d3@3 ~ d2@3 ~ d2@3",
  AK: "~ d3@3 ~ d3@3 ~ d2@3 ~ d2@3 ~ d3@3 ~ d2@3 ~ d2@3 ~ d3@3",
  AL: "~ c#2@3 ~ b1@3 ~ a1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3",
  AM: "~ g2@3 ~ g1@3 ~ g1@3 ~ g2@3 ~ g1@3 ~ g1@3 ~ g2@3 ~ g2@3",
  AN: "~ d2@3 ~ d3@3 ~ d2@3 ~ d2@3 ~ d3@3 ~ a2@3 ~ d2@3 ~ d2@3",
  AO: "~ c#2@3 ~ d2@3 ~ e2@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3",
  AP: "~ g1@3 ~ g1@3 ~ g2@3 ~ g1@3 ~ g2@3 ~ g1@3 ~ g1@3 ~ g2@3", AQ: "[~ c#2@3 ~ d2@3 ~ e2@3 ~ g1@39 ~@12]/2",
  AR: "~@5 a1 ~@3 a1 ~@3 a1 ~@3 a1@3 ~@5 a1@3 ~@4", AS: "~ e1@3 ~@28",
})).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]@11 ~ [d4,e4,g4]@49 ~@3]/2", B: "[[g3,a3,b3,d4]@11 ~ [f3,g3,a3,c4]@49 ~@3]/2",
  C: "[[b3,d4,e4,g4]@11 ~ [e4,f#4,a4]@49 ~@3]/2", D: "[[a3,b3,c#4,e4]@11 ~ [g3,a3,b3,d4]@49 ~@3]/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@2 g4@2 c6@2 g5@2 d5@2 ~@2 d5@2 ~@2 d5@2 g4@2 c6@2 g5@2 d5@2 ~@2 d5@2, ~@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 B C D B@2 E F B@2 E F G F G F G F H I B@2 E F B@2 E F G F G F G F H I B@2 E F B@2 E F B@2 E F B@2 E F J@2 K@2 L
  M N@2 O P@2 Q@4 R@4 S@2 T U V W X Y Z Y X Y Z Y AA AB AA AB AA AB AC AD AE@2 AF AB AE@2 AF AB AE@2 AF AB AE@2 AF AG AH
  AI AJ AK AL AM AL AN AO AP AQ AR AS@4 AT@2 AU@2 AV@2 AW AX AY@2 AZ BA BB@2 BC@2 BD@2 BE@2 BF@2 BG@6 BH BI ~@8
>`.pickRestart({
  A: "[c3,g3] ~@3 [c3,g3] ~@3 [c3,g3] ~@3 [c3,g3] ~@3 [c3,g3] ~@3 [c3,g3] ~@3 [c3,g3] ~@3 [c3,g3] ~@3", // C5
  B: "[c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~", // C5
  C: "[c3,g3]@2 ~@2 [c3,g3]@2 ~@2 [c3,g3]@2 ~@2 [c3,g3]@3 ~ [c3,g3]@3 ~ [c3,g3]@3 ~ [c3,g3]@3 ~ [c3,g3]@3 ~", // C5
  D: "[c3,g3]@3 ~ [c3,g3]@3 ~ [c3,g3]@3 ~ [c3,g3]@3 ~ [c3,g3]@3 ~ [c3,g3]@3 ~ [c3,g3]@3 ~ [c3,g3]@4", // C5
  E: "[b2,d3] ~ [b2,d3] ~ [b2,d3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~", // Bm F5
  F: "[f2,c3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~ [f2,c3] ~", // F5
  G: "[c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [a#2,f3] ~ [a#2,f3] ~ [a#2,f3] ~ [f2,c3] ~ [f2,c3] ~", // C5 A#5 F5
  H: "[g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3]@2 d3@2 [g2,d3]@2 [g2,d3]@2, ~@10 g2 ~@5", I: "[g2,d3]!8",
  J: "[[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]@2 [g2,d3,g3]@2 [g2,d3,g3]@2 [g2,d3]@2 [g2,d3]@2, ~@22 g3 ~@5 g3 ~ g3 ~]/2", // F5 G5 C5 G5
  K: "[[f2,c3]@4 [g2,d3]@2 [c3,g3]@2 ~@2 [g2,d3] ~ [g2,d3]@6 g2@2 [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3,g3]@4, ~@6 g2@4 ~@8 d3 ~@13]/2", // F5 G5 C5 G5
  L: "[f2,c3]@4 [g2,d3]@2 [c3,g3]@2 ~@2 g2 ~ [g2,d3]@4", // F5 G5 C5 G5
  M: "~@2 [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~", // G5
  N: "[[d2,a2,d3,a3]@8 ~@4 [f2,c3,f3]@8 ~@4 [g2,d3]@12 [g2,d3] ~@3 [g2,d3] ~@3 [g2,d3] ~@3 [g2,d3] ~@3 [g2,d3]@2 ~@2 [g2,d3]@2 ~@2 [g2,d3]@2 ~@2]/2", // D5 F5 G5
  O: "[g2,d3]@2 ~@2 [g2,d3]@3 ~ [g2,d3]@3 ~ [g2,d3]@3 ~ [g2,d3]@3 ~ [g2,d3]@4 [g2,d3]@8", // G5
  P: "[[f2,c3,f3]@13 [c3,g3,c4] ~@2]/2", // F5 C5
  Q: "[[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
  R: "[[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
  S: "[[c3,g3,c4]@3 [g2,d3,g3]@12 [d3,a3,d4]]/2", // C5 G5 D5
  T: "~@2 [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [f3,c4,f4]@2", // D5 F5
  U: "~@2 [f3,c4] ~ [f3,c4] ~ [f3,c4] ~ [f3,c4] ~ [f3,c4] ~ [f3,c4] ~ [f3,c4] ~", // F5
  V: "[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
  W: "~@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
  X: "d1@4 ~@10 d1 ~", Y: "d1@2 ~ d1 ~@4", Z: "d1@2 d1@2 ~@2 d1@2 ~@6 d1 ~",
  AA: "[d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [c3,g3] ~ [c3,g3] ~ [c3,g3] ~ [g2,d3] ~ [g2,d3] ~", // D5 C5 G5
  AB: "[g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~", // G5
  AC: "[a2,e3] ~ [a2,e3] ~ [a2,e3] ~ [a2,e3] ~ [a2,e3]@2 e3@2 [a2,e3]@2 [a2,e3]@2, ~@10 a2 ~@5", AD: "[a2,e3]!8",
  AE: "[d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~ [d3,a3] ~", // D5
  AF: "[c#3,e3] ~ [c#3,e3] ~ [c#3,e3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~", // C#m G5
  AG: "[g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3] ~ [g2,d3,g3]@2 [d3,g3]@2", // G5
  AH: "d3!2 f#3 [g3,c4]@2 ~@2 d3, ~@14 g3 ~", AI: "~@4 [d3,a3]@4 ~@4 d3@4 [d3,a3,d4]@7 ~@5 [d3,a3]@4",
  AJ: "d3!2 f#3 [g3,c4]@2 ~@2 [d3,a3,d4]", AK: "~@2 [d3,a3] ~@2 d3 ~ [d3,a3], ~@10 a3 ~@5",
  AL: "d3!2 f#3 [g3,c4]@2 ~@3", AM: "~ [d3,a3] ~@2 [d3,a3]@3 [d3,a3]", AN: "~ [d3,c4] ~@2 [d3,g3,c4] ~@3, ~@2 g3 ~@13",
  AO: "d3!2 f#3 [g3,c4]@2 ~@2 [d3,g3]", AP: "~ [d3,a3] ~ d3 [d3,a3]@3 [d3,a3]",
  AQ: "d3@2 d3@2 f#3@2 [g3,c4]@4 ~@4 [d3,g3] ~", AR: "[d3,g3] ~ [d3,c4]@2 ~@4 [a3,d4]@4 [a3,d4]@4, ~@2 g3 ~@13",
  AS: "[d3 ~@2 [a3,d4]@8 [b3,d4,g4] ~@2 [a3,d4,f#4] ~ [a2,e3,c#4]@3 [d3,g3]@5 d3 [g2,d3] [g2,d3,g3]!6, ~@4 d3@36 ~@4 d3 ~@11 d3@20 g2@24 ~@28, ~@16 a3@2 ~ b3@7 ~@6, ~@12 g3 ~@3]/4", // D5 G D A G5
  AT: "[[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
  AU: "[[a2,e3,a3]@4 [a2,e3,a3] ~ [d3,g3]@4 g3@2 [g2,d3,g3]@6 [g2,d3,g3]@2 [g2,g3]@2 [d3,g3]@2 [g2,d3,g3,c4]@2 ~@2 [g2,d3,g3,b3]@2 ~@2, ~@6 g2@6 ~@10 g2 ~@9, ~@10 d3 ~@9 d3 ~@11]/2", // A5 G5 G G5 Gsus4 G
  AV: "[[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
  AW: "[a2,a3,c#4]@2 [a2,c#4] [g2,d3,g3,b3]@2 [g3,b3] [g2,d3,g3,b3]@2, e3@2 ~@2 [e3,a3] ~@5 [g2,d3] ~@5", // A G A5 G5
  AX: "~ [a2,e3,a3,c4] [g2,d3,g3,b3] ~ [a2,e3,a3,c4] ~ [g2,d3,b3] ~", // Am G Am G
  AY: "[[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
  AZ: "[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
  BA: "~ [a3,c4,e4] [g3,b3,d4] g2 [a3,c4,e4] g2 [g3,b3,d4] g2", // Am G Am G
  BB: "[[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
  BC: "[[e3,a3]@2 a3 [d3,g3]@2 g3 [d3,g3]@3 [g3,c4,e4] [d3,g3,b3,d4] ~ [d3,g3,c4,e4] ~ [d3,b3,d4] ~, ~@4 e3 ~ e3 ~@3 d3 ~@7 d3 ~@9 g3@4]/2", // A5 G5 C G C G
  BD: "[[d3,a3,d4,g4]@6 [d3,a3,d4,f#4]@4 [a3,f#4] ~ [d3,a3,d4,f#4]@6 [d3,a3,d4,f#4]@2 ~@2 [d3,a3,f#4] ~ [d3,b3,d4,g4]@2 ~@2 [d3,a3,d4,f#4]@2 ~@2, ~@5 d3 ~@5 d4 ~@4]/2", // Dsus4 D G D
  BE: "[[a2,e3,a3]@4 [e3,a3] ~ [g2,d3,g3]@4 [g2,d3]@2 [g2,d3]@4 ~@2 a2@2 g2@2 ~@2 [d3,g3,c4,e4]@2 ~@2 [d3,g3,b3,d4]@2 ~@2, ~@4 a2@2 ~@4 g3 ~ g3@6 ~@14]/2", // A5 G5 C G
  BF: "[[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
  BG: "[[a2,e3,a3,c#4]@3 ~@7 d4@38, ~@3 [g2,d3]@38 ~@7, ~@3 [g3,b3]@13 ~@32]/6", // A G5 G
  BH: "~ [g2,d3,g3] ~@2 [g2,d3,g3] ~ [a2,e3,a3] ~", BI: "[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 X@8 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]@12 [d4,e4,g4]@51 ~, ~@3 c4@3 ~@10]/2", B: "[[g3,b3,d4]@12 [f3,a3,c4]@51 ~]/2",
  C: "~@2 [f3,g3,c4,f4]@3 ~@3 [f3,g3,c4,f4]@3 ~@5", // Fsus2
  D: "[[g2,d3] g2 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 d3 ~ g3@14 ~@14, ~ d3 ~@6]/2", // G5 Gsus4
  E: "[[f3,a3,d4,f4]@3 [c4,e4,g4]@10 ~ [c4,e4] ~, ~@12 [g3,d4]@43 ~ g4@2 ~@6]/2", // Dm C G5
  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
// … 152 more lines

More by Lionel Richie