Strudelify

A Pirate Looks at 40

Jimmy Buffett

KeyG majorTempo110 bpm
0:00/0:00
// A Pirate Looks at 40 — Jimmy Buffett
// 110 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 115 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(110/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.

// other · vibraphone
const vibraphone = note(`<
  ~@33 A B C D E F G H I J K L M N O P Q R S T U V@2 W X Y Z AA AB AC AD AE AF AG AH@2 AI AJ AK@2 AL AM AN AO@2 AP AQ AR
  AS@2 AT@2 AU AV AW AX AY AZ BA BB BC ~@2 BD ~@4 BE BF BG ~@11
>`.pickRestart({
  A: "b3 g3@2 ~ g3 ~ g3 b3@2 g3 b3 g3 b3 g3@2 ~ g3 b3 ~ b3 ~ b3@2 ~ b3 g3 ~ g3@2 b3 ~ b3, ~@3 b3@3 ~@20 b3@2 ~@4",
  B: "~ b3 ~ b3@2 ~ b3 ~ b3@2 g3 b3 ~ b3 ~ b3@2 ~@3 a3 ~@3 g3 ~@7",
  C: "b3 g3 b3@2 g3 b3 g3 b3 g3@2 b3 g3 b3 ~ b3@2 g3 b3 g3 b3@2 g3 b3 g3 b3 g3 b3@2 g3 b3 g3 b3",
  D: "g3 b3@2 g3 b3 ~ b3 ~ b3@2 ~ b3 ~ b3@2 ~@5 a3 ~@3 g3 ~@3 e3 ~@3",
  E: "c4 g3@2 c4 g3 c4 g3@2 c4 g3 c4 g3 ~ c4 ~ c4 g3 c4 ~ g3 c4 g3 c4 g3@2 c4 g3 c4 g3 c4 ~ g3",
  F: "c4 ~ c4 ~@2 c4 ~ c4 ~ c4 ~@3 c4@2 ~@5 [c4,e4]@2 ~@6 c4 ~@3", // C
  G: "[e4,g4]@2 ~@2 [e4,g4] ~@3 e4@2 ~@2 f#4@2 ~@7 e4 ~@10, ~@8 g4 ~@3 d4 ~@7 c4@2 ~@10", // Em
  H: "d4 b3 d4@2 b3 d4 b3 ~@2 [b3,d4] ~@2 d4 ~@3 b3 g3@2 b3 g3 b3 g3@2 b3 g3 ~@2 b3 ~@3, ~@11 b3@3 ~@12 b3@2 ~@4, ~@27 g3@2 ~@3", // Bm
  I: "a3@2 c4 a3 ~ c4 a3 c4 a3 ~ c4 a3 c4 ~ c4 ~ a3 c4 ~ c4@2 a3 c4 ~@2 c4 ~@6, c4 ~@31",
  J: "d4 b3 d4 b3@2 d4 b3 d4@2 b3 ~ b3@2 ~@3 c4 a3 ~ c4 a3 c4 a3@2 c4 a3 c4@2 [a3,c4]@2 ~@2", // Am
  K: "b3@2 g3 b3 g3 ~ b3 g3 b3 g3 b3 ~ g3 b3 g3 ~ b3 g3 b3 ~ g3 b3 g3 b3 ~ g3 b3 g3 b3 ~ g3 b3",
  L: "g3 ~ g3 ~@5 b3 ~@15 g3 ~@3 a3 ~@3", M: "b3 g3@2 b3 g3 b3@2 g3 b3 g3 ~ b3 g3 b3 g3@2 ~@4 a3 ~@3 g3 ~@3 a3@2 ~@2",
  N: "~@4 b3 ~@7 d3 ~@3 g3 ~@3 a3@2 ~@2 g3 ~@3 g3 ~@3",
  O: "b3 g3 ~ g3@2 b3 g3 b3@2 g3 b3 g3@2 b3 g3 b3 g3@2 b3 ~ b3 ~ b3@2 g3 b3 ~ b3@2 ~@3, ~@3 b3 ~@28",
  P: "~@12 g3 ~@3 a3 ~@7 b3@2 ~@6",
  Q: "c4 g3 ~ c4 g3 c4 g3@2 c4 g3 c4 g3@2 c4 ~ c4@2 ~@3 [c4,e4]@2 ~@9 e4, ~@14 g3@2 ~@13 g3@2 ~, ~@15 c4", // C
  R: "g4 ~@3 e4 ~@7 [c4,e4] ~@7 e4 ~@3 c4 ~@3 e4 ~@3, ~@6 g4 ~@9", // C
  S: "[e4,g4] ~@3 [e4,g4]@2 ~@2 [e4,g4]@2 ~@2 f#4@2 ~@6 c4@2 ~@6 g3 ~@3, ~@12 d4 ~@7 e4 ~@11", // Em
  T: "d4 b3 ~ b3@2 d4 b3 ~ b3 d4 ~ b3 d4 b3 ~@2 b3 ~ [g3,a3] b3 g3 b3 ~ g3 b3 ~ b3@2 g3 b3 ~@2, ~@2 d4@2 ~@3 d4@2 ~@16 g3@2 ~@5", // Gsus2
  U: "c4 a3 c4 a3@2 c4 a3 c4@2 ~ c4 a3 c4@2 a3 c4 a3@2 c4 a3 c4@2 a3 c4 a3@2 c4 ~ c4 ~@3, ~@9 a3@2 ~@16 a3@2 ~@3",
  V: "[d4 b3 d4@2 b3 d4 b3@2 d4 b3 ~ b3@3 ~@2 c4 a3 ~ c4 a3 c4 a3@2 c4 a3 ~ c4 a3 ~@3 g3@2 b3 g3 b3@2 ~ b3 g3 b3 ~ g3 b3 g3@2 b3 g3 ~ g3@2 b3 ~ b3@2 g3 b3 g3@2 b3 ~ b3@2, ~@10 d4@3 ~@18 b3@2 ~@16 b3@2 ~@2 g3@2 ~@6 g3@2 ~]/2",
  W: "g3 b3 ~ b3@2 ~@15 a3 ~@3 g3 ~@7, ~ g3 ~@14",
  X: "b3 g3 b3@2 ~ b3 g3@2 b3 g3 b3 g3@2 b3 g3@2 b3 g3 b3@2 g3 b3 g3@2 b3 g3 ~ g3@2 b3 ~@2, ~@13 b3 ~@2",
  Y: "~@12 g3 ~@3 g4@2 ~@2 [c4,a4] ~@3 [d4,b4] ~@3 g3 ~@3, ~@16 b3 ~@15", // F G
  Z: "[g3,d4] b3 d4 b3@2 d4 b3 d4 b3@2 d4 b3 d4 ~ b3 d4 b3 d4@2 b3 d4 ~ b3 d4 b3 d4 ~ b3 d4 b3@2 d4", // G5
  AA: "b3 ~@11 [g3,b3] ~ [g3,b3] ~ [g3,b3] ~@3 [a3,c4] ~@3 [b3,d4] ~@7", // G Am Bm
  AB: "c4 g3 ~ g3@2 c4 ~ c4@2 ~ c4 ~ g3 c4 ~ c4 ~@5 [c4,e4] ~@6 [c4,d4] ~@3, ~@2 c4@2 ~@2 g3@2 ~@6 g3@3 ~@15", // C Csus2
  AC: "[e4,g4] ~@3 e4 ~@3 c4 ~@3 [e4,g4] ~@7 e4 ~@3 c4@2 ~@2 e4 ~@3", // Em
  AD: "[e4,g4] ~@3 [e4,g4]@2 ~@2 [e4,g4] ~@3 [d4,f#4] ~@7 c4@2 ~@6 b3 ~@3, ~@20 e4 ~@11", // Em D
  AE: "d4 b3 d4 b3@2 d4 b3 d4 ~ b3 d4 b3@2 d4 ~@2 b3 g3 ~ b3 g3 b3 g3@2 b3 g3 b3@2 g3 ~@3",
  AF: "c4 a3 c4 ~ a3 c4 a3 ~ c4 a3 c4 ~ a3 c4 a3 ~ c4 a3 c4 a3@2 c4 a3 c4 ~ a3 c4 ~@5",
  AG: "d4 b3 d4 ~ b3 d4 ~@2 d4 ~ d4 b3@2 d4 ~@2 c4 a3 c4 ~ a3 c4 ~ a3 c4 ~ c4 ~@5, ~@6 b3@4 ~@15 a3@2 ~@5",
  AH: "[b3 g3 b3 ~ g3 b3 g3@2 b3 g3 b3 ~ g3 b3 ~@2 b3 ~ b3 ~ b3@2 g3 b3@2 ~ b3 ~ b3 ~ g3 b3@4 g3 b3 ~ b3@2 ~ b3@2 ~@17 b3 ~@3, ~@17 g3@2 ~@8 g3@2 ~@35]/2",
  AI: "[b4,g5] ~@3 [b4,g5] ~@3 [b4,g5] ~@3 a5@2 ~@6 [b4,g5] ~@7 b5@2 ~@2, g3@2 ~@10 c5 ~@15 d5 ~@3", // Em
  AJ: "~@4 g5@2 ~@6 d5 ~@7 c5 ~@3 b4 ~@3 a4 ~@3, ~@4 b4 ~@27",
  AK: "[[b3,d4,g4] ~@3 [d4,g4] ~@3 [d4,g4] ~@3 a4@2 ~@6 [d4,g4] ~@3 [d4,a4] ~@3 b4 g4 ~ g4@2 b4 g4 b4 ~ b4@2 g4 b4 ~ b4 ~@4 [g3,b3,g4,b4]@2 ~@3 a4 ~@3 [g3,g4] ~@3 [c4,e4] ~@3, ~@12 d4 ~@17 b4@2 ~@4 g4@2 ~@3 g4@2 ~@8 a3@2 ~@11]/2", // G G5 D5 G C
  AL: "~ [g4,a4] ~ c5 g4 c5 g4 ~ c5 g4 c5 g4 c5@2 g4 ~ g4 ~@3 [b4,c5,d5,e5] ~@10 e5, [g3,c4,e4]@9 ~@6 c5, c5@2 ~@13 c5@2 ~@3 e4@2 ~@7 [c4,g4]@3", // Gsus2 Cmaj7 C C5
  AM: "[e4,g5]@2 ~@2 e5 ~@3 c4@2 ~@2 [e4,c5,e5,g5]@2 ~@6 c5 ~@3 e5@2 ~@2 c5 ~@3, ~@8 c5 ~@3 c4 ~@19", // Em C
  AN: "[c4,e4,g5]@2 ~@2 [c4,e4,g4,e5,g5] ~@3 [e4,g4,c5,e5,g5] ~@3 [d4,f#4,d5,f#5] ~@7 [c4,c5,e5]@2 ~@6 g4 ~@3, [g4,c5,e5] ~@3 c5@2 ~@14 e4 ~@11", // C D C
  AO: "[d5 b4 ~ d5 b4 d5 b4@2 d5 b4 d5 ~ d5 ~@3 b4 g4@2 b4 g4 b4 ~ g4 b4 g4 b4 ~ g4 ~@2 c5 a4 ~ c5 a4 c5 ~ a4 c5 ~ c5 ~ a4 c5 ~ c5 ~ a4 c5 a4 c5@2 a4 c5 a4 c5@2 a4 c5 ~@4, [b3,d4]@14 ~@2 g3@13 ~@2 [a3,c4]@30 ~@3, g3@10 ~ b4@3 ~@2 b3@10 ~@14 a4@2 ~@3 a4@2 ~@17]/2", // Bm Am
  AP: "d5 b4 d5 b4@2 d5 b4 d5@2 b4 d5 ~ d5 ~@3 c5 ~ a4 c5 a4 c5 a4@2 c5 a4 c5@2 ~@4, [b3,d4]@15 ~ [a3,c4]@13 ~@3, ~@11 b4@2 ~@19", // Bm Am
  AQ: "b4 g4 b4 ~ b4@2 g4 b4@2 g4 ~ b4 ~ b4 g4 b4 g4 ~@5 d5 b4@2 ~@3 a4 ~@3, b3@19 ~@2 e5@2 ~@9, g3@13 ~@19, ~@3 g4@2 ~@15 g5@2 ~@10",
  AR: "g4 ~@3 e4 ~@3 d4 ~@3 b3 ~@7 a3 ~@3 g3@2 ~@2 d3 ~@3",
  AS: "[b3 g3@2 b3 g3 b3@2 g3 b3 ~ b3@2 g3 b3 ~ b3 ~ b3@2 g3 b3 g3 b3@2 g3 b3 ~ b3@2 ~ b3 ~ b3@2 ~ b3 ~ b3 ~ b3@2 ~ b3 ~@9 a3 ~@3 g3 ~@3 d3 ~@3, ~@31 g3@3 ~@30]/2",
  AT: "[b3 g3 ~ b3 ~ b3 g3@2 b3 g3 b3 g3@2 b3 g3 b3 g3@2 b3 ~ b3 ~ b3@2 ~ b3 ~@2 b3 ~ b3 ~ b3@2 ~@10 g3 ~@3 a3 ~@7 b3@2 ~@6, ~@19 g3@4 ~ g3@2 ~@5 g3@2 ~@31]/2",
  AU: "c4 g3 ~ c4 g3 c4 g3@2 c4 g3 c4@2 g3 c4 ~ c4@2 g3 c4 g3 c4@2 g3 c4 ~ c4 ~@2 c4 ~@3, ~@7 g3 ~@4 g3 ~@3",
  AV: "~ c4@2 e4 ~ e4 ~ c4 e4 c4 e4 ~ c4 e4 ~ e4@2 c4 e4 ~ e4@2 c4 ~ c4 e4@2 c4 ~@4, ~ e4 ~@17 c4@2 ~@11",
  AW: "[e4,g4] ~@3 [e4,g4] ~@3 [e4,g4] ~@3 [d4,f#4] ~@7 [c4,e4]@2 ~@6 g3 ~@3", // Em D C
  AX: "d4 b3@2 d4 b3 d4 ~ b3 d4 ~ d4@2 b3 ~@3 b3 g3 b3@2 g3 b3 g3@2 b3 ~ b3@2 g3 ~@3, ~@9 b3@2 ~@14 g3@2 ~@5",
  AY: "c4 a3 c4@2 a3 c4 a3@2 c4 ~ c4@2 a3 c4 ~ a3 c4 ~ c4 ~@2 c4 ~ c4@2 a3 c4@2 ~@4",
  AZ: "d4 b3 d4 b3@2 d4 b3@2 d4 b3 d4 ~ b3 d4 ~@2 c4 a3@2 c4 a3 c4 ~ a3 c4 ~ c4 ~ a3 ~@3",
  BA: "b3 g3 b3 ~@2 b3 ~ b3 ~@2 b3 ~ b3@2 g3 b3 ~@2 b3 ~ b3 ~@2 b3 ~ b3@2 g3 b3 ~ b3@2",
  BB: "~ b3 ~ b3@2 ~ b3 ~ b3@2 ~@10 a3@2 ~@2 g3 ~@5 g3@2, ~@29 [a3,b3]@2 ~", BC: "d3@3 ~@29",
  BD: "~@12 g3 ~@3 a3@2 ~@6 b3 ~@7", BE: "c4 a3 c4@2 a3 c4 a3 c4 ~@2 c4 ~ c4 ~ c4 ~ c4 ~@2 c4 a3 c4 ~ c4@2 ~ c4 ~@5",
  BF: "d4 b3 d4 b3 ~ d4 b3 d4 b3 d4@2 b3 d4 b3 ~@2 c4 a3 c4 ~@2 c4 a3 c4 ~ c4 ~@5 b3",
  BG: "g3 b3 ~ g3 b3 ~ b3 ~@2 b3 ~ b3 ~ b3@2 ~ b3 g3@3 b3@2 ~@10",
})).s("gm_vibraphone").gain(0.32)

// other · vibraphone · soft notes
const vibraphone_soft = note(`<
  ~@33 A B C D E F ~ G H G ~ I ~@2 J ~@2 K ~@4 L M N O ~@2 P ~@3 Q ~ R S ~ T ~@4 U ~@2 V ~@2 W X Y Z AA AB ~@2 AC AD AE
  AF ~@8 AG AH AI ~@11
>`.pickRestart({
  A: "~@15 b3 ~@2 g3 ~ g3@2 ~ g3 ~@6 g3@2", B: "~ g3 ~ g3 ~ g3 ~ g3 ~@4 g3@5 ~@15", C: "~@13 g3 ~@18",
  D: "~@5 g3 ~ g3@2 ~ g3@5 ~@17", E: "~@14 g3 ~@17", F: "~ g3 ~ g3@2 ~ g3 ~ g3@7 ~@17", G: "~@10 d4 ~@21",
  H: "~@13 a3 ~@4 a3 ~@4 a3@3 ~@6", I: "~ b3 ~@2 b3 g3 b3 g3 ~@24", J: "~@19 g3 ~ g3@2 ~@4 g3 ~@2 b3 ~, ~@29 g3@2 ~",
  K: "~@8 c4 ~@23", L: "~@5 g3@2 ~@25", M: "~@5 g3 b3 g3 b3 ~ g3 ~ b3 ~@19", N: "~@3 g3@2 ~@25 g3@2", O: "b3 ~@15",
  P: "~@9 g3 ~@22", Q: "~@28 a3 ~@3", R: "~@14 g3@2 ~@3 g3@2 ~@4 g3 ~@6",
  S: "~ g3 ~@4 g3 ~ g3 ~@2 g3@2 b3@4 ~@3 b3 ~@11", T: "~@29 b3 ~@2", U: "~@16 c#4 ~@15", V: "~@13 b4 ~@14 a4 ~@3",
  W: "~@9 g3 ~@4 g3 ~ g3 ~@9 g3 ~@2 g3 ~@2", X: "~@4 g3@2 ~ g3 ~ g3 ~ g3@2 b3 ~@18", Y: "~@4 g3 ~@22 g3 ~ g3@2 ~",
  Z: "~@2 g3 b3 ~@28", AA: "~@27 g3 ~@4", AB: "~@4 c4 ~@9 c4 ~@8 e4 ~@8", AC: "~@9 a3@2 ~@6 a3@2 a3@2 ~ a3 ~@5 a3 ~@3",
  AD: "~@26 a3 ~@5", AE: "~@4 g3 ~ g3@2 ~ g3 ~ g3@2 ~@3 g3@2 ~ g3 ~ g3@2 ~ g3 ~@4 g3@2 ~",
  AF: "g3 ~ g3@7 ~ g3 b3 ~@2 b3 ~@17, ~@3 g3 ~@4", AG: "~@8 a3 ~ a3@2 ~ a3 ~ a3 ~ a3@2 ~@3 a3@2 ~ a3@3 ~@4",
  AH: "~@19 a3@2 ~@4 a3@3 ~@4", AI: "~@5 g3 ~@2 g3 ~ g3 ~ g3@2 ~ g3 ~@3 b3 ~@3 b3 ~@8, ~@11 g3@3 ~@2",
})).s("gm_vibraphone").gain(0.16)

// bass · acoustic bass
const bass = note(`<
  ~@5 A@2 B@4 A@2 C@2 D E F G H@2 B@2 H@2 C@2 D I J K B@2 L M L E N@2 O E J P B@2 Q R S T U@2 V S J W X L X L X E Y N O
  Z AA P B@6 C@2 D I F AB@3 H@2 A@2 C@2 O E J AC AD@2 AE@2 A@2 AF@2 AG I AH P A@2 AH AI@3 AJ@2 ~@4
>`.pickRestart({
  A: "[g1@31 ~]/2", B: "[g1@61 ~@3]/2", C: "[c2@61 ~@3]/2", D: "c2@15 ~", E: "g1@15 ~", F: "a1@15 ~",
  G: "b1@15 ~ a1@14 ~@2", H: "[g1@15 ~]/2", I: "g1@31 ~", J: "a1@31 ~", K: "b1@15 a1@15 ~@2", L: "g1@29 ~@3",
  M: "g1@28 d2@3 ~", N: "c2@29 ~@3", O: "c2@31 ~", P: "b1@16 a1@15 ~", Q: "g1@9 ~@2 g1@2 ~@3 g1@13 ~@3",
  R: "g1@10 ~@2 g1 ~@3 g1@13 ~@3", S: "g1@9 ~@3 g1 ~@3 g1@14 ~@2", T: "g1@9 ~@3 g1@5 a1@7 g1@7 ~",
  U: "c2@9 ~@3 c2 ~@3 c2@13 ~@3", V: "c2@9 ~@3 c2 ~@3 c2@15 ~", W: "b1@8 a1@7 ~", X: "g1@25 ~@3 g1 ~@3",
  Y: "c2@25 ~@3 c2 ~@3", Z: "g1@13 ~ g1@2", AA: "a1@27 ~ a1@3 ~", AB: "[b1@16 a1@15 g1@63 ~@2]/3",
  AC: "b1@15 ~ a1@15 ~", AD: "[g1@15 d2]/2", AE: "[g2@15 d2]/2", AF: "[c2@15 g2]/2", AG: "c2@7 ~", AH: "a1",
  AI: "[b1@16 a1@14 ~ g1@64 ~]/3", AJ: "[~ a1@35 ~@28]/2",
})).s("gm_acoustic_bass").gain(0.64).pan(0.7)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  ~@20 A@3 B@8 C@8 D@8 E@8 F@2 G@7 H@2 I J K@8 L@2 M@6 N@6 O@6 P@4 Q@6 R S@8
>`.pickRestart({
  A: "[~@23 d4, ~@31 g2@57 b3@8, ~@35 a3@25 b3@16 d3@19 ~, ~@39 b3@16 d4@29 a3@11 ~, ~@44 d4@7 g4@45]/3",
  B: "[~@28 g3@16 ~@16 g2@2 ~@86 c4@10 ~@26 d3@8 ~@28 a3@4 ~@12 d4@3 ~@13 c4@4, g2@48 a3@8 b3@103 b3@21 d4@4 b3@48 b3@24, g3@24 b3@20 g3@18 e3@22 e4@4 c4@4 g4@40 c4@4 g3@4 d4@18 a3@2 ~@8 g3@24 ~@4 a3@16 e4@4 c4@7 ~@5 d4@8 ~@7 c4@8 ~@5, ~@4 b3@16 d4@42 ~ c2@33 g3@4 e4@4 e3@54 ~@14 g4@20 ~@8 c4@4 a4@19 ~@24 a3@8 ~, ~@8 d4@4 g4@50 ~ [c3,g3] c4@8 g3@4 c3@32 d4@8 e4@4 c4@4 g3@4 [c2,c3,e4]@30 ~ g2@33 a2@31 ~ [b2,f#4]@15 ~ [a2,e4]@15 ~]/8", // C5 C B5 A5
  C: "[~@60 d3@3 ~@125 d4@4 ~@60 g3@4, g2@52 b3@4 a3@4 b3@11 b3@13 d4@24 g4@24 g3@16 d4@16 g3@8 d4@3 b3@5 [b2,g3]@4 b3@56 c3@4 d4@4 c4@8, ~@3 a3@21 b3@4 g3@35 g2@29 g3@4 g2@28 d3@12 b3@8 d3@48 ~@4 e3@12 c3@20 c4@4 g3@4 g4@20, ~@7 b3@12 d4@17 a3@3 b3 d3@4 d4@31 g4@29 b3@8 d3@4 d4@24 g4@16 g3@4 g2@32 c2@29 g3 c4 [c2,e4]@33, ~@11 g4@52 ~@4 g3@21 b3@12 g3@20 b3@4 g3@4 g2@24 b3@16 g4@24 ~@8 g3@4 c4@8 g3@4 e3@40]/8", // Em C
  D: "[~@20 c4@8 ~@32 g3@4 ~@24 c4@5 ~@15 d4@4 ~@12 c4@4 ~@52 d4@8 ~@64 [d3,d4]@4, [c2,e4]@28 b3@16 b3@4 d4@15 ~@9 c4@4 e4@4 a4@4 e4@9 ~@2 d4@2 ~@3 d4@8 ~@8 c4@8 ~@16 g4@16 g3@16 g4@4 d3@12 d3@2 a3 b3@13 d3@24 [f4,g4]@27 ~, c3@12 d4@18 ~@10 a3@12 b3@42 b3@10 b3@32 b3@8 d3@4 d4@12 d3@4 a3@25 g3@7 a3@4 g3@8 a3@4 b3@12 g2@31 ~, ~@4 c4@12 c3@14 ~@2 g2@31 ~ a2@29 ~@3 [b2,f#4]@16 [a2,e4]@15 ~ g2@62 ~ g2@25 a3@16 d4@3 b3@5 d3@4 a3@4 b3@8, ~@8 g3@22 ~@6 g3@20 a3@8 ~@4 a3@25 ~@27 a3@9 ~@3 a3@20 b3@39 d4@29 g3@34 ~@2]/8", // D C Fsus2 B5 A5
  E: "[~@61 c4@2 ~@85 [a3,c4]@8 ~@28 b3@4 e3 ~@2 c4 ~@28 a3@4 ~@28 a3@4, g2@12 b3@2 g3@2 g2@10 d4@2 b3@32 c4@2 g3@2 [c3,e4]@6 [b3,d4]@8 b3@6 b3@6 d4@5 b3@23 b3@10, g3@20 d4@24 g4@16 ~@3 e4@21 c4@4 g3@4 c4@4 c2@61 ~@3 g2@29 ~@2 a2@34 ~@7 d4@8 ~@4 e4@12, ~@4 b3@12 d3@24 b3@8 d3@12 g2@3 [c2,c3]@17 e3@16 c3@16 e3@45 ~@15 d4@4 g4@14 ~ e4@13 c4@4 a4@8 c4@9 ~@3 f#4@12 ~@8 c4@8, ~@8 d4@4 g4@24 g3@24 g3@8 c4@4 g3@4 d4@24 g3@4 c4@4 e4@8 d4@16 c4@4 g3@21 ~@7 g3@25 a3@7 c4@4 a3@12 e4@12 [b2,b4]@16 [a2,a4]@16]/8", // Am C Bm C B A
  F: "[~@59 d3@2 ~@2 [g2,b3], g2@48 d3@4 d4@9 g3@3, ~@2 a3@29 a3, ~@4 b3@4 d3@2 d4@10 b3@2 g4@9 ~, ~@12 g4@12 b3@4 g3@4 d3@4 g3@20 b3@7 ~]/2", // G
  G: "[~@46 [g2,c4] ~@6 c4@2 b3, d4@16 d3@8 b3@4 g3@4 g2@24 b3@4 d3@8 g3@12 d3@4 d4@8 g3@24 b3@4 [b2,g3]@5 b3@67 e4@30 ~@2, ~@4 b3@16 d4@24 a4@52 g2@4 b3@12 [a2,d4]@16 ~@4 e3@12 c3@8 e3@12 c4@8 g4@24 c4@4 g3@4 d4@4 e3@13 ~@3, ~@8 g3@20 d3@12 b3@4 g4@16 g3@4 g2@24 b3@4 d3@36 c3@8 g3@4 c4@16 c3 g3@2 e4@9 g3@8 e3@12 g3 c4 d4 [c2,c3]@30 ~@3, ~@12 g4@24 g3@12 d3@4 d4@20 b3@4 g4@28 d4@4 [g2,g4]@20 c2@20 g3@7 c2@3 c4 [c2,c3]@21 e4@8 g2@33 ~@3]/7", // C5 Em D5 C G C
  H: "[~@28 g3@4 ~@28 a3@3 ~, g2@4 a2@3 c4, ~ g3@5 b3@10, ~@8 b3@12 d4@13 ~@3 a3@16 e4@12, ~@12 d4@4 g4@17 ~@7 c4@4 e4@4 a4@15 ~]/2",
  I: "~@11 f#4@4 ~@13 e4@4, b2@15 ~ a2@14 ~@2, ~ b3@7, ~@2 d4@2 ~ a3@3, ~@3 c4",
  J: "~@7 g3, g2@3 b3, ~ g3@4 d4@3, ~ b3 d3@2, ~@3 g4@5",
  K: "[~@20 d4@8 ~@60 d3@4 ~@55 d3 ~@68 g3@4 ~@32 b3@4, g2@28 d4@28 b3@4 g4@32 d4@16 b3@8 g4@24 g3@4 [a3,c4]@5 ~@10 e4@4 c4@9 g4@4 e3@16 c3@29 e3@7 g3@8 e4@4 c3@4 d4@12, ~@4 g3@25 b3@19 d3@20 d4@4 b3@4 g3@4 d3@3 g3@10 b3@11 d3@24 g2@21 ~@10 c2@37 c4@4 e4@4 d4@4 g3@4 c4@8 g2@2 g3@2 c4@30 ~@2, ~@8 b3@8 d3@14 a3@2 g3@8 d3@4 g3@20 g2@30 ~ g2@25 d4@29 ~@3 d4@7 g3 c3@8 g3@12 d4@4 e4@4 g4@35 c2@31 ~@2, ~@12 g4@18 ~ g2@21 a3@42 ~ a3 g3@28 b3@7 g3@5 d3@4 b3@15 b3@77 e3@22 ~@2]/8", // Am
  L: "[~@3 g4 ~@2 b3 ~@8 a3, g2@28 e3@2 ~ c4 e4@8 a3@8 a4@4 e4@12, ~@4 g3@25 a3@7 c4@8 e3@12 c4@7 ~, ~@4 b3@6 d4@5 b3@17, ~@16 [d3,g4]@14 ~ a2@32 ~]/2", // G5
  M: "[~@28 c4@3 ~@53 d4@8 ~@3 [g2,g3]@61 ~@2 a3@2 [g2,g3]@32, b2@4 a2@4 g2@5 d4@5 b3 g4 d3@3 d4@16 d4@9, ~ f#4@3 e4@44, ~@8 d4@8 ~@4 c4@4 a3@8 ~@4 g3@12 d3@20 g3@25 b3@65 b3@34, ~@12 b3@28 b3@4 g4@12 b3@4 g3@4 g2@29 ~ a3@2 ~@96]/6", // G
  N: "[~@31 d4 ~@84 c4@8 ~@63 a3@4 ~, ~@12 g3@17 g3@3 e4@8 c4@4 e4@12 c4@16 c3@4 g4@20 [c2,c3]@4 c4@4 g3@4 d4@16 d3@2 ~ g2@21 g4@4 d4@4 b3@36, ~@13 b3@11 b3@102 b3@14 g3@19 a3@5 c4@8 a4@12 c4@7 ~, ~@15 g4@14 g2@3 c2@52 e4@4 d4@4 c4@4 e4@64 c4 e4@7 a3@8 e3@15 ~, ~@19 d4@11 c4@2 c3@20 d4@8 g3@32 g2@33 a3@2 d4@9 d3@24 a2@20 e4@12]/6", // C
  O: "[~@12 d4@4 ~@12 c4@4 ~@61 a3@2 ~@57 d4@4 ~@32 g3@4, [b2,f#4]@16 a2@16 g2@51 d4@5 b3@7 g2@53 b3@8 d3@2 ~ g2@21 d4@4 b3@8, ~ d4@2 ~ e4@44, ~@8 b3@32 b3@4 g4@4 d3@44 g3@4 d4@12 g3@24 d4@4 b3@4 a3@17 g3@2 d4@5 g3@8 g4@20, ~@20 c4@5 a3@8 ~@3 g3@16 d4@4 b3@4 a3@8 b3@4 d4@4 g4@18 ~ b3@9 d3@12 b3@4 d4@4 g4@34 b3@10 d3@24]/6", // B5
  P: "[~@29 [g2,c4]@2 ~@93 d3@3 ~, d3@29 g3@3 c3@12 g4@44 c4@3 g3@5 [c3,e4]@32, ~@3 g3@21 b3@104, ~@8 b3@12 d4@9 ~@2 c2@37 g3@4 c4@4 e4@4 e3@28 d4@8 c4@12, ~@11 g4@17 ~@3 e4@5 c4@4 g3@8 e3@3 e4@5 d4@4 c4@4 c3@20 d4@16 c4@4 g3@22 ~@2]/4", // C5 C
  Q: "[~@76 d4@4 ~@12 c4@4 ~@63 c4 ~@24 c4@4 a3@4, g2@84 c4@4 a3@8 ~@4 a3@35 b3@5 g4@4 d3@4 d4@4 b3@7 a2@21 e4@12, ~@4 a3@24 b3@12 c4@4 a4@4 e3@13 b3@3 f#4@4 d4@4 b3@32 b3@4 g4@12 b3@4 [d3,g3]@4 g2@64, ~@4 b3@4 g3@2 b3@2 g3@4 a2@10 e4@14 e4@40 e4@4 a3@4 e3@7 ~, ~@12 d4@20 ~@4 a3@19 c4@5 f#3@2 d4 b2@17 ~ a2@15 g2@16 d3@4 d4@16 g3@25 a3@6 c4@9 a4@18 ~@2]/6", // G5
  R: "~@3 d4 ~@3 c4, [b2,f#4]@16 ~ a2@15, ~ d4@2 ~ e4@4, ~@2 b3@2 ~ c4@2 ~, ~@3 a3", // B5
  S: "[~@56 b3@4 ~@3 c4 ~@31 a3@5 ~@16 d4@5 ~@19 c4@6 ~@31 d4@7 ~@2 [d4,g4]@64 ~@6, g2@19 d4@21 b3@4 g4@8 d4@8 e3@2 b3@2 e4@9 b3@28 b2@5 d4@5 b3@10 ~ a2@23 ~@7 d3@17 b3@15 g3@64 ~@8, ~@4 a3@44 d3@13 a3@6 ~ c4@9 a3@4 a4@4 e4@37 e4@114 ~@20, ~@8 b3@8 d3@20 g3@27 a2@27 c4@10 ~ f#4@22 ~@4 c4@6 a3@12 ~@12 g3@6 a3@22 b3@64 ~@7, ~@11 g4@13 b3@4 g3@4 g2@114 g2@90 ~@20]/8", // G5
})).s("gm_acoustic_guitar_steel").gain(0.21).pan(0.6)

// chords · string ensemble 2
const string_ensemble_2 = note("<~@69 A@6 B@6 ~@34>".pickRestart({
  A: "[[b3,g4]@4 ~@7 d4@20 ~@49 g3@12 ~@28 g5@7 ~@49 g3@12 g3@4, g2@31 g2@32 ~ g2@31 ~ g2@12 b3@20 c2@32 [c3,g5]@8 e3@24, ~ [b3,g4]@24 ~ g3@2 b5@4 g5@2 a5@14, ~@40 d3@8 d3@8 d3@7 ~@9 d3@22 ~@6 d3@16 a5@11 c5@31 c-1@34, ~@44 g3@8 g3@7 g3@21 ~@12 [d4,b4]@35 ~ c3@16 g5@8 e5@40]/6", // Em C5 Em G
  B: "[[e5,g5]@4 [e5,g5]@4 [e5,g5]@4 [d5,f#5]@4 ~@4 [c5,e5]@3 ~@33 d4@7 ~@21 c4@11 ~ [b2,b3,d4]@16 [g3,a3,c4]@15 ~@9 g3@54 ~@2, c3@40 g3@8 b3@4 c4@11 ~ c4@12 a3@19 ~@97, c4@36 d3@27 ~ a2@31 ~@32 [g2,b3]@62 ~@3, ~@8 e3@11 ~@9 [b4,d5]@76 ~@88, ~@32 g2@32 a3@8 e3@23 ~@37 d3@58 ~@2]/6", // Em D C Bm Am7 G Bm
})).s("gm_string_ensemble_2").gain(0.47).pan(0.4)

// chords · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
  ~ A@8 B@7 C D@2 E@8 F@2 G H@3 I@8 J K@7 L@6 M@8 N@3 O@7 P@5 Q@7 R@4 S@2 T@8 U@3 V@3 W@2 X@7 ~
>`.pickRestart({
  A: "[~@8 g3@4 ~@15 d3@5 ~@7 g3@5 ~@16 d3@4 ~@28 d3@4 ~@12 a3@8 ~@8 d3@4 ~@8 g3@4 ~@16 d3@4 ~@11 a3@9 ~@8 d3@4 ~@27 d3@4 ~@9 g3@4 a3@7 ~@8 d3@5, g2@29 ~@3 g2@29 ~@3 g2@28 ~@4 g2@28 ~@4 g2@28 ~@4 g2@29 ~@3 g2@28 ~@4 g2@28 ~@4, ~@4 d3@15 g3@17 d3@19 ~@13 d3@19 ~@13 d3@20 ~@12 d3@20 ~@11 d3@19 ~@14 d3@18 ~@14 d3@21 ~@7, ~@12 a3@28 ~@4 a3@10 ~@2 g3@14 ~@2 g3@8 ~@4 g3@16 ~@3 g3@14 ~@3 g3@14 ~@6 a3@28 ~@12 b3@22 ~@2 a3@29 ~@10 b3@13, ~@51 b3@22 ~@3 a3@28 ~@12 b3@21 ~@11 g3@17 ~@2 g3@7 ~@10 g3@14 ~@2 g3@8 ~@4 g3@16 ~@19 g3@9]/8",
  B: "[~@8 g3@4 ~@15 d3@5 ~@8 g3@4 a3@7 ~@8 d3@5 ~@8 g3@4 ~@16 d3@4 ~@12 a3@7 ~@21 g3@4 ~@16 e3@5 ~@7 g3@4 ~@12 e3@8 ~@27 g3@5, g2@28 ~@4 g2@28 ~@4 g2@28 ~@4 g2@28 ~@24 g3@18 ~@14 g3@17 ~@2 g3@13 a3@12, ~@4 d3@16 g3@16 d3@19 g3@15 ~@6 a3@29 ~@10 b3@15 ~@10 a3@11 ~@21 c4@27 ~@4 b3@20 ~, ~@12 a3@29 ~@10 b3@21 ~@12 g3@18 ~@2 g3@7 ~@8 g3@13 e3@18 ~@14 e3@18 ~@14 e3@28, ~@67 d3@18 ~@15 d3@28 c3@28 ~@5 c3@24 ~@7 c3@24 ~@8]/7",
  C: "~@2 g3 ~@4 e3, g2@7 ~, ~@3 d3@17 g3@12, ~@3 a3@5",
  D: "[~@8 a3@4 ~@7 a3@4 ~@21 f#3@4 b2@2 ~@10 e3@4, a2@28 a3@8 ~@3 b3@12 ~@5 a3@8, ~@3 e3@17 ~@3 e3@8 ~ b2@13 ~@3 a2@9 ~@7, ~@12 c4@20 ~@3 d3@12 ~@5 c3@12]/2",
  E: "[a2 ~@6 g3@5 a3@8 ~@3 g3@9 ~@7 g3@4 ~@17 d3@4 ~@12 a3@8 ~@39 d3@5 f2@2 ~@6 g3@4 a3@8 ~@7 d3@5 ~@8 g3@4 ~@11 d3@8 ~@9 g3@4 ~@15 e3@5 ~@8 g3@4 ~@16 c3 ~@3, g2@24 ~@8 g2@26 ~@6 g2@27 ~@5 g2@24 ~@8 g2@25 ~@7 g2@32 ~@3 e3@18 ~@14 e3@17 ~@4 e3@8, ~@3 d3@29 ~@4 d3@19 ~@12 d3@30 ~@3 d3@17 ~@15 d3@23 ~@9 d3@17 ~@11 c3@26 ~@6 c3@25 ~@7, ~@20 b3@23 a3@24 ~@17 b3@21 ~@3 a3@24 ~@16 b3@21 ~@3 a3@25 ~@7 a3@28 ~@4 a3@20, ~@52 g3@16 ~@3 g3@14 ~@7 g3@9 ~@3 g3@8 ~@4 g3@16 ~@20 g3@12 ~@16 g3@16 ~@16 g3@16 ~@16 g3@12]/8",
  F: "[~@8 g3@2 ~@18 g3@4 ~@8 g3@4 ~@7 g3@4 ~@4 g3@5, c3@20 a3@12 ~@3 d3@17 ~@3 d3@8 ~, ~@4 e3@27 ~ g2@28 ~@4, ~@3 b3@6 ~@2 a3@5]/2",
  G: "~@4 c3 ~@14 g3@4 ~@5 g3@4, a2@31 ~, ~@7 e3@13 ~@3 e3@8 ~, ~@3 a3@5",
  H: "[~@3 f#3@5 ~@3 f#3@5 ~@3 e3@5 ~@3 e3@5 ~@7 g3@4 ~@16 d3@4 ~@9 g3@3 ~@12 d3@9, b2@16 a2@14 ~@2 g2@23 ~@9 g2@25 ~@7, ~@8 b3@9 ~@7 a3@11 d3@16 g3@16 d3@16 g3@13, ~@43 a3@25 ~@7 a3@21]/3",
  I: "[~@8 g3@4 ~@16 d3@5 ~@7 g3@4 a3@8 ~@8 d3@4 ~@8 g3@4 ~@15 d3@5 ~@8 g3@4 a3@8 ~@8 d3@4 ~@8 g3@4 ~@16 e3@4 ~@8 g3@4 ~@8 g3@4 ~@4 g3@4 ~@4 g3@4 ~@4 b3@8 ~@20 g3@4 ~@15 d3@4 ~, g2@26 ~@7 g2@23 g3@12 d3@21 ~@7 g2@24 g3@12 e3@16 g3@16 e3@17 ~@3 e3@13 ~@3 e3@24 g2@31 ~, ~@4 d3@16 g3@16 d3@22 ~@6 g2@20 g3@15 d3@22 ~@7 c3@26 ~@6 c3@23 ~@9 c3@28 g3@8 d3@16 g3@12, ~@12 a3@28 ~@12 b3@20 ~@4 a3@25 ~@15 b3@15 ~@9 a3@25 ~@7 c4@19 ~@21 a3@14 ~@10 a3@20]/8",
  J: "~@2 a3 ~@2 a3 ~ a3, a2@31 ~, ~@2 e3@9 ~ e3@4, ~@12 c4@17 ~@3",
  K: "[~@3 d3@5 ~@4 f#3@4 ~@3 e3@5 ~@4 e3@4 ~@8 g3@4 ~@16 d3@5 ~@7 g3@4 a3@8 ~@8 d3@4 ~@8 g3@4 ~@16 g2 ~@11 g3@4 a3@8 ~@8 d3@4 ~@28 d3@5 ~@11 a3@8 ~@8 d3@4, b2@15 ~ a2@16 g2@27 ~@6 g2@23 g3@11 d3@28 ~ g2@27 ~@5 g2@28 ~@5 g2@31, ~@8 b3@11 ~@5 a3@11 d3@17 g3@16 d3@21 ~@7 g2@20 g3@16 d3@20 g3@11 d3@18 ~@15 d3@21 ~@7, ~@44 a3@28 ~@12 b3@17 ~@7 a3@24 ~@16 b3@16 ~@4 g3@7 ~@5 g3@16 ~@4 g3@11 ~@5 g3@8, ~@172 a3@25 ~@15 b3@12]/7",
  L: "[~@8 g3@4 ~@16 e3@4 ~@8 g3@4 ~@8 g3@4 ~@4 g3@4 ~@4 g3@4 ~@4 b3@8 ~@20 g3@4 ~@12 d3@8 ~@8 a3@4 ~@8 a3@4 ~@11 f#3@5 ~@12 e3@4 ~@4 e3@4, c3@27 ~@5 c3@25 ~@7 c3@22 ~@6 g3@8 d3@16 g3@15 e3@17 ~@4 e3@8 ~@12 f#3@7 ~@13, ~@4 e3@16 g3@16 e3@18 ~@2 e3@13 ~@3 e3@24 g2@26 ~@6 a2@32 b2@16 a2@12 ~@4, ~@12 a3@25 ~@7 c4@17 ~@3 c4@8 ~@12 a3@14 ~@10 a3@23 ~@9 c4@22 ~@6 b3@11 ~@13, ~@156 a3@7 ~@21 a3@8]/6",
  M: "[~@8 g3@4 ~@16 d3@5 ~@7 g3@4 ~@12 d3@8 ~@8 g3@4 ~@16 g2 ~@11 g3@4 ~@16 g2 ~@31 d3@4 ~@8 g3@4 ~@8 g3@4 ~@16 g3@4 ~@16 e3@5 ~@7 g3@4 ~@8 g3@4 ~@4 g3@4, g2@27 ~@6 g2@22 ~@9 g2@24 d3@8 g2@24 d3@8 g2@27 ~@5 g2@32 ~@20 g3@17 ~@27, ~@4 d3@16 g3@16 d3@15 g3@17 d3@16 g3@16 d3@16 g3@16 d3@17 ~@15 d3@17 ~@3 d3@8 c3@27 ~@6 c3@26 ~@5, ~@12 a3@29 ~@3 a3@29 ~@3 a3@29 ~@3 a3@28 g3@8 ~@4 g3@17 ~@23 g3@8 e3@17 ~@15 e3@17 ~@3 e3@8, ~@140 a3@29 ~@3 a3@25 ~@7 a3@25 ~@7 c4@17 ~@3]/8",
  N: "[~ g3 ~ b3@2 ~@5 g3 ~@2 g3 ~@4 a3 ~@2 a3 ~ a3, c3@20 a3@15 ~@9 a3@23 ~@9 c4@17 ~@3, c4@7 ~ e3@24 g2@25 ~@3 g3@7 ~ e3@18 ~@2 e3@8, ~@28 g3@8 d3@17 ~@3 d3@8 a2@31 ~]/3",
  O: "[~@4 f#3@4 ~@3 f#3@5 ~@3 e3@5 ~@3 e3@5 ~@8 g3@4 ~@16 d3@4 ~@8 g3@3 ~@13 d3@8 ~@8 g3@4 ~@16 d3@4 ~@8 g3@3 ~@17 d3@5 ~@7 g3@4 a3@8 ~@8 d3@4 ~@8 g3@4 ~@7 g3@4 ~@4 g3@5, b2@16 a2@16 g2@29 ~@3 g2@25 ~@7 g2@28 ~@4 g2@28 ~@5 g2@23 g3@12 d3@17 ~@2 d3@7 ~@2, ~@8 b3@11 ~@5 a3@12 d3@16 g3@16 d3@16 g3@16 d3@16 g3@16 d3@16 g3@17 ~@15 b3@20 ~@4 a3@20, ~@44 a3@28 ~@4 a3@24 ~@8 a3@28 ~@3 a3@25 d3@21 ~@7 g2@31 ~]/7",
  P: "[~@8 g3@4 ~@15 e3@5 ~@8 g3@4 ~@8 g3@4 ~@4 g3@4 ~@4 g3@4 ~@4 b3@8 ~@20 g3@4 ~@7 g3@4 ~@4 g3@5 ~@8 a3@4 ~@8 a3@4 ~@4 a3@4, c3@28 ~@4 c3@25 ~@7 c3@26 ~@2 g3@9 ~@7 a3@24 ~@8 c4@20, ~@3 e3@17 g3@16 e3@17 ~@3 e3@13 ~@3 e3@24 g2@31 ~ a2@31 ~, ~@12 a3@27 ~@5 c4@17 ~@23 a3@16 d3@17 ~@2 d3@8 ~@5 e3@17 ~@3 e3@8]/5",
  Q: "[~@3 f#3@5 ~@4 f#3@4 ~@3 e3@5 ~@4 e3@4 ~@8 g3@4 ~@15 d3@5 ~@8 g3@3 ~ a3@8 ~@7 d3@5 ~@28 d3@4 ~@8 g3@4 a3@8 ~@8 g2 ~@11 g3@4 ~@15 d3@5 ~@8 g3@4 a3@7 ~@9 d3@4, b2@16 a2@16 g2@27 ~@5 g2@24 ~@8 g2@27 ~@5 g2@23 ~@9 g2@28 ~@4 g2@31 ~, ~@8 b3@10 ~@6 a3@11 ~ d3@21 ~@10 d3@21 ~@12 d3@18 ~@14 d3@29 ~@3 d3@22 ~@10 d3@21 ~@7, ~@44 a3@25 ~@15 b3@15 ~@9 a3@24 ~@16 b3@16 ~@8 a3@26 ~@13 b3@13, ~@52 g3@16 ~@19 g3@13 ~@4 g3@9 ~@3 g3@16 ~@20 g3@12 ~@16 g3@17 ~@19 g3@8]/7",
  R: "[~@8 g3@4 ~@16 e3@5 ~@7 g3@4 ~@8 g3@4 ~@16 g3@4 b3@8 ~@20 g3@4 ~@16 d3@4, c3@29 ~@4 c3@27 g3@8 e3@28 g2@26 ~@6, ~@4 e3@16 g3@16 e3@17 ~@3 e3@8 c3@27 ~ g3@7 d3@17 g3@12, ~@12 a3@29 ~@3 c4@25 ~@15 a3@16 ~@8 a3@20]/4",
  S: "[~@8 a3@4 ~@7 a3@5 ~@11 f#3@5 ~@12 e3@4 ~@4 e3@4, a2@28 a3@8 ~@7 f#3@8 ~@13, ~@4 e3@17 ~@3 e3@8 b2@16 a2@16, ~@12 c4@21 ~@7 b3@11 ~@5 a3@8]/2",
  T: "[~@8 g3@4 ~@16 d3@4 ~@8 g3@3 ~ a3@8 ~@7 d3@5 ~@7 g3@5 ~@16 d3@4 ~@8 g3@4 a3@8 ~@7 d3@5 ~@8 g3@4 ~@15 d3@5 ~@8 g3@4 a3@7 ~@8 d3@4 ~@9 g3@4 ~@15 e3@5 ~@8 g3@4 ~@7 g3@5 ~@4 g3@4, g2@28 ~@4 g2@26 ~@6 g2@25 ~@7 g2@25 ~@7 g2@22 ~@10 g2@31 ~@21 g3@16 ~@28, ~@3 d3@22 ~@10 d3@21 ~@11 d3@18 ~@14 d3@22 ~@10 d3@20 ~@12 d3@21 ~@8 c3@27 ~@5 c3@29 ~@3, ~@12 a3@28 ~@12 b3@21 ~@3 a3@26 ~@14 b3@21 ~@3 a3@25 ~@14 b3@16 ~@9 a3@27 ~@5 c4@17 ~@3, ~@20 g3@16 ~@19 g3@12 ~@17 g3@16 ~@20 g3@12 ~@16 g3@17 ~@18 g3@12 e3@18 ~@14 e3@17 ~@4 e3@8]/8",
  U: "[~@39 g3@5 ~@15 d3@5 ~@12 a3@7 e3@4 ~@4 e3@4 ~, c3@26 ~@6 g2@31 ~ a2@32, c4@4 e3@12 ~@2 d3@11 ~@5 e3@5 ~@9, ~@4 g3@16 a3@17 ~@7 a3@24 ~@4 c4@17 ~@7, ~@12 b3@11 ~@5 g3@9 ~@14 g3@16 ~@20 a3@9]/3",
  V: "[~@3 f#3@5 ~@11 e3@5 ~@4 e3@4 ~@7 g3@5 a3@8 ~@12 g2@12 ~@20, b2@8 a2@8 g2@15 ~@17, ~@8 b3@11 ~@5 a3@11 ~@17 g3@24 ~@20, ~@12 f#3@7 ~@16 d3@22 ~@3 d3@16 ~@20]/3",
  W: "[~@11 a4@9 ~@8 a3@4 ~@4 b3@4 ~@4 f#4@4 ~@12 e4@4, a2@24 ~@8 b2@13 ~@3 a2@12 ~@4, ~@3 e3@25 ~@36, ~@7 a3@17 c4@9 ~@7 d4@9 ~@7 c4@8, ~@20 e4@16 ~@7 b3@5 ~@4 a3@12]/2",
  X: "[~@8 g3@4 ~@12 d3@8 ~@7 g3@4 ~@8 g3@4 ~@4 g3@4 ~@13 c4@5 ~@4 c4@5 ~@5 c4@5 ~@15 b3@5 ~@20 a3@7 ~@15 a3@7 ~@7 d4@43 ~@5, g2@29 ~@3 g2@27 ~@4 a2@28 ~@9 b2@15 ~@5 a2@20 ~@7 g2@72 ~@5, ~@4 d3@16 g3@13 ~@2 d3@16 ~@4 d3@7 ~@5 e3@24 ~@14 f#3@11 ~@11 e3@14 ~@11 d3@68 ~@4, ~@12 a3@28 ~@3 a3@21 ~@8 a3@15 ~@3 a3@11 ~@55 g3@63 ~@5, ~@81 e4@20 ~@9 d4@11 ~@12 c4@14 ~@22 b3@51 ~@4]/7",
})).s("gm_acoustic_guitar_nylon").gain(0.44)

// other · harmonica
const harmonica = note(`<
  ~ A@2 B@2 ~@14 C@3 D@3 ~@4 E F@2 G ~ H@3 I@4 J@4 ~ K L@2 M@3 ~ N@2 O@2 ~ P Q@4 R S@5 ~ T@3 U@2 ~@2 V W X@2 ~ Y Z@4 AA
  ~ AB@2 X@2 ~ AC AD@4 ~ AE AF@2 AG@2 ~ AH U@2 ~ AI@4 ~
>`.pickRestart({
  A: "[b4@51 d5@3 ~ b4@8 ~]/2", B: "[~ g4@62 ~]/2", C: "[~@15 e4@8 g4@4 d4@60 ~@9]/3",
  D: "[~@15 b4@8 d5@5 g4@64 ~@4]/3", E: "~@7 a4@5 c5@19 ~", F: "[d5@15 c5@16 b4@32 ~]/2", G: "g4@31 ~",
  H: "[~@20 b4@8 d5@48 e5@2 ~@2 b4@15 ~]/3", I: "[g4@62 ~ a4@7 ~ g4@5 e4@8 g4@8 d4@23 e4@4 g4@7 ~@2]/4",
  J: "[a4@29 ~@2 a4@33 g4@60 ~@4]/4", K: "~@15 b4@3 ~ d5@8 e5@3 ~@2", L: "[d5@24 e5@4 g5@15 ~ e5@8 d5@7 e5@4 ~]/2",
  M: "[g4@77 ~@19]/3", N: "[~@8 b4@4 d5@8 e5@7 d5@16 e5@2 ~@4 a4@2 g4@9 e4@4, ~@24 a#4 ~@7]/2", O: "[g4@57 ~@7]/2",
  P: "~@20 b4@8 d5@3 ~", Q: "[d5@46 ~ d5@6 ~@2 b4@4 d5@4 g4@49 g5@4 ~ e5@7 d5@4]/4", R: "e5@4 d5@4 e5@4 b4@8 a4@7 g4@5",
  S: "[d4@37 ~@3 e4@4 g4@7 a4@8 g4@2 ~@2 a4@2 ~@2 a4@2 ~@6 a4@4 b4@4 a4@5 g4@65 ~@7, ~@65 b4@11 ~@84]/5",
  T: "[~@15 b4@3 ~@2 d5@7 e5@4 d5@38 ~@10 d5@3 ~ d5@9 e5@4, ~@41 e5 ~@6]/3", U: "[g4@29 ~@3]/2",
  V: "~@15 b4@4 ~ d5@8 e5@4", W: "d5@11 e5@4 ~ c5 a4@2 g4@8 e4@5, ~@8 b4 ~@7", X: "[g4@63 ~]/2", Y: "~ b4",
  Z: "[g4@46 ~@2 b4@4 d5@52 e5@2 ~@2 g5@18 ~ d#5]/4", AA: "e5 d5@5 ~@2",
  AB: "[~@8 a4@4 c5@8 d5@7 c5@4 d5@6 e5@6 d5@5 c5@5 b4@6 a4@5]/2", AC: "~@15 b4@5 d5@7 e5@5",
  AD: "[g4@47 e4@4 g4@51 ~@26]/4", AE: "~@16 e5@4 g5@7 a5@3 ~@2",
  AF: "[b5@20 a#5 g5@2 e5@4 d5@3 ~ e5@6 d5@6 e5 ~@3 a#4@2 a4@2 g4@8 e4@5, ~@10 a5 ~@21]/2", AG: "[g4@27 ~@5]/2",
  AH: "~@15 b4@16 ~", AI: "[~@24 d5@6 e5@7 g5@7 e5@8 g4@68 ~@8]/4",
})).s("gm_harmonica").gain(0.29)

// drums · kick
const kick = s("bd").struct("<~ x!20 [x ~@6 x]!72 x!17 [~@5 x ~@19 x ~@6] [~@19 x ~@12] ~@3>").gain(0.64).pan(0.6)

// drums · kick · soft notes
const kick_soft = s("bd").struct("<~ [~@7 x]!20 ~@72 [~@7 x]!16 ~ x ~@4>").gain(0.32).pan(0.6)

// drums · rim
const rim = s("rim").struct("<~@33 [~ x]!24 ~@8 [~ x]!16 ~@34>").gain(0.64).pan(0.6)

// drums · snare
// … 54 more lines

More by Jimmy Buffett