Strudelify
Save Tonight cover art

1997 · Desireless

Save Tonight

Eagle-Eye Cherry

KeyC majorTempo120 bpm
0:00/0:00
// Save Tonight — Eagle-Eye Cherry
// 120 bpm, 4/4, key C 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: Full arrangement: all 118 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): guitar program 25, guitar program 30, guitar program 25.
setcpm(120/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.

// bass · electric bass pick
const bass = note(`<
  ~@5 A@5 B@8 C@2 D E D E D F G H G H G I J I K L M N O N P@2 Q R S R T U T V@8 W X Y Z AA AB AC@2 AD AE ~@7 AF AG AH AG
  AH AG AH AI AH AG AJ AK AL AK AM AN@2 AO@4 AP@5 AQ AR AS AT AU AV@2 AW AX@2 AY@3 AZ BA@3 ~
>`.pickRestart({
  A: "[~@15 a1@8 f1@8 c2@8 g1@8 a1@8 f1@8 c2@8 g1@8 a1]/5",
  B: "[~@15 f1@16 c2@16 g1@16 a1@16 f1@16 c2@16 g1@16 a1@16 f1@16 c2@16 g1@16 a1@16 f1@16 c2@16 g1@16 a1]/8",
  C: "[~@15 f1@16 c2@16 g1@16 ~]/2", D: "a1 f1", E: "c2 g1", F: "c2!2 e2 f2 g2!2 a2 g2",
  G: "a1@7 ~ a1@5 ~@3 f1@6 ~@2 f1@5 ~@3", H: "c2@7 ~ d2@2 e2@2 f2@2 ~@2 g2@7 ~ g2@4 a2@4",
  I: "~ c2@7 ~ d2@2 e2@2 f2@2 ~@2 g2@7 ~ g2@4 a2@3", J: "~ a1@7 ~ a1@5 ~@3 f1@6 ~@2 f1@5 ~@2",
  K: "~ a1@4 a1@4 ~@8 f1@2 ~@2 f1@4 ~@4 f1@3", L: "~ c2@4 c2@5 ~@7 g1@2 ~@2 g1@6 ~@2 g1 ~@2",
  M: "~ a1@4 ~ a1@4 ~@4 a1@4 f1@2 ~@2 f1@4 ~@4 f1@2", N: "~@2 c2@14 ~@2 g1@2 ~@2 g1@6 ~@2 g1 ~",
  O: "~@2 a1@4 a1@7 ~ a1@4 f1@2 ~@2 f1@4 ~@4 f1@2",
  P: "[~@3 a1@4 a1@7 ~ a1@4 f1@2 ~@2 f1@4 ~@4 f1@3 ~ c2@14 ~@2 g1@2 ~@2 g1@4 g1@5]/2",
  Q: "~@3 a1@4 a1@7 ~ a1@4 f1@2 ~@2 f1@4 ~@5", R: "f1@3 ~ c2@14 ~@2 g1@2 ~@2 g1@6 ~@2",
  S: "g1 ~@3 a1@4 a1@7 ~ a1@4 f1@2 ~@2 f1@4 ~@4", T: "~ g1 ~@3 a1@4 a1@7 ~ a1@4 f1@2 ~@2 f1@4 ~@3",
  U: "~ f1@3 ~ c2@14 ~@2 g1@2 ~@2 g1@6 ~",
  V: "[~ f1@3 ~@2 c2@3 c2@4 ~ e2@4 f2@4 g2@4 g2@4 a2@4 g2@4 a1@7 ~ a1@5 ~@3 f1@6 ~@2 f1@5 ~@3 c2@7 ~ d2@2 e2@2 f2@2 ~@2 g2@7 ~ g2@4 a2@4 a1@7 ~ a1@5 ~@3 f1@6 ~@2 f1@5 ~@4 c2@7 ~ d2@2 e2@2 f2@2 ~@2 g2@7 ~ g2@4 a2@4 a1@7 ~ a1@5 ~@3 f1@6 ~@2 f1@5 ~@3 c2@7 ~ d2@2 e2@2 f2@2 ~@2 g2@7 ~ g2@4 a2@4 a1@7 ~ a1@5 ~@3 f1@6 ~@3]/8",
  W: "f1@5 ~@3 c2@7 ~ d2@2 e2@2 f2@2 ~@2 g2@7 ~", X: "g2@4 a2@4 a1@4 a1@7 ~ a1@4 f1@2 ~@2 f1@4",
  Y: "~@4 f1@3 ~ c2@14 ~@2 g1@2 ~@2 g1@4", Z: "~@4 g1 ~@3 a1@4 ~ a1@7 ~ a1@4 f1@2 ~@2 f1@3",
  AA: "~@5 f1@3 ~ c2@4 c2@4 e2@4 f2@4 g2@4 g2@3", AB: "~ a2@4 g2@4 a1@4 a1@7 ~ a1@4 f1@2 ~@2 f1@3",
  AC: "[~@5 f1@3 ~ c2@14 ~@2 g1@2 ~@2 g1@6 ~@2 g1 ~@3 a1@4 a1@7 ~ a1@4 f1@2 ~@2 f1@3]/2",
  AD: "~@5 f1@3 ~ c2@4 c2@4 e2@4 f2@4 g2@2 ~@2 g2@3", AE: "~ f1@4 ~ g1@4 a1@12 ~@10", AF: "~@11 a1@7 a1@5 ~@3 f1@6",
  AG: "~@2 f1@5 ~@3 c2@7 ~ d2@2 e2@2 f2@2 ~@2 g2@6", AH: "~@2 g2@4 a2@4 a1@7 ~ a1@5 ~@3 f1@6",
  AI: "~@2 f1@5 ~@3 e2@4 e2@4 d2@2 e2@2 f2@2 ~@2 g2@6", AJ: "~@2 g2@4 ~ a2@4 a1@7 ~ a1@5 ~@3 f1@5",
  AK: "~@3 f1@5 ~@3 c2@7 ~ d2@2 e2@2 f2@2 ~@2 g2@5", AL: "~@3 g2@4 a2@4 a1@7 ~ a1@5 ~@3 f1@5",
  AM: "~@4 g2@4 a2@4 a1@7 ~ a1@5 ~@3 f1@4",
  AN: "[~@4 f1@5 ~@3 c2@7 ~ d2@2 e2@2 f2@2 ~@2 g2@7 ~ g2@4 a2@4 a1@7 ~ a1@5 ~@3 f1@4]/2",
  AO: "[~@4 f1@5 ~@3 c2@7 ~ d2@2 e2@2 f2@2 ~@2 g2@7 ~@2 g2@4 a2@4 a1@7 ~ a1@5 ~@3 f1@6 ~@2 f1@5 ~@3 c2@7 ~ d2@2 e2@2 f2@2 ~@2 g2@7 ~ g2@4 a2@4 a1@7 ~ a1@5 ~@3 f1@3]/4",
  AP: "[~@5 f1@5 ~@4 c2@7 ~ d2@2 e2@2 f2@2 ~@2 g2@7 ~ g2@4 a2@4 a1@7 ~ a1@5 ~@3 f1@6 ~@2 f1@5 ~@3 c2@7 ~@2 d2@2 e2@2 f2@2 ~@2 g2@7 ~ g2@4 a2@4 a1@7 ~ a1@5 ~@3 f1@6 ~@2 f1@5 ~@4 c2@7 ~ d2@2 e2@2 f2@2 ~@2]/5",
  AQ: "g2@7 ~ g2@4 a2@4 a1@7 ~ a1@5 ~@3", AR: "f1@6 ~@2 f1@5 ~@4 c2@7 ~ d2@2 e2@2 f2@2 ~",
  AS: "~ g2@7 ~ g2@4 a2@4 a1@7 ~ a1@5 ~@2", AT: "~ f1@6 ~@3 f1@5 ~@3 c2@7 ~ d2@2 e2@2 f2@2",
  AU: "~@2 g2@7 ~ g2@4 a2@4 a1@7 ~ a1@5 ~",
  AV: "[~@2 f1@6 ~@3 f1@5 ~@3 c2@7 ~ d2@2 e2@2 f2@2 ~@2 g2@7 ~ g2@4 a2@4 a1@7 ~@2 a1@4]/2",
  AW: "~@4 f1@6 ~@2 f1@5 ~@3 c2@7 ~ d2@2 e2@2",
  AX: "[f2@2 ~@2 g2@8 g2@4 a2@4 ~ a1@7 ~ a1@5 ~@3 f1@6 ~@2 f1@5 ~@3 c2@7 ~@2 d2@2]/2",
  AY: "[e2@2 f2@2 ~@2 g2@7 ~ g2@4 a2@4 a1@7 ~ a1@5 ~@3 f1@6 ~@2 f1@5 ~@4 c2@7 ~ d2@2 e2@2 f2@2 ~@2 g2@8 g2@4 a2@4 a1@7 ~@2]/3",
  AZ: "a1@5 ~@3 f1@6 ~@2 f1@5 ~@3 c2@7 ~", BA: "[d2@2 e2@2 f2@2 ~@2 g2@8 ~ g2@4 a2@4 a1@66 ~ a1@4]/3",
})).s("gm_electric_bass_pick").gain(0.43)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  ~@2 A B C D C D C D C E F G H G H G H I J K J K J K L M L M L N O N P Q R S R S T U T V W V X Y Z AA AB@2 AC@5 AD AE
  AD AF AG AH AI AJ AK AL AM AN AM AO AP AQ AP AR AK AJ AK AJ AK AJ AK AJ AK AS@2 AT@2 AU AV AU AW AX AY AX AZ BA BB BC
  BD BE BF BG BH BI BJ BK BL BM BN@4 BO BP@4
>`.pickRestart({
  A: "~ [a3,c4,e4] ~@3 [f3,a3,c4,f4] ~@2", B: "~@5 [c3,g3,g4]@4 ~@12 [d3,g3,d4,g4]@3 ~@8, ~ c4 ~@6",
  C: "~@3 [a3,c4,e4]@2 ~@6 [f3,a3,c4,f4]@2 ~@3", D: "~@6 [c3,g3,c4,g4]@4 ~@12 [d3,g3,d4,g4]@3 ~@7",
  E: "~@7 [c3,g3,g4]@4 ~@12 [d3,g3,d4,g4]@3 ~@6, ~@3 c4@2 ~@11", F: "~@7 [a3,c4,e4]@4 ~@12 [f3,a3,c4,f4]@4 ~@5",
  G: "~@7 [c3,g3,c4,g4]@4 ~@12 [d3,g3,d4,g4]@3 ~@6", H: "~@8 e4@4 ~@12 f3@3 ~@5, ~@7 [a3,c4]@4 ~@12 [a3,c4,f4]@4 ~@5",
  I: "~@7 [c3,g3,c4,g4]@4 ~@13 [d3,g3,d4,g4]@3 ~@5", J: "~@2 [a3,c4,e4] ~@3 [f3,a3,c4,f4] ~",
  K: "~@8 [c3,g3,c4,g4]@4 ~@12 [d3,g3,d4,g4]@3 ~@5", // C5 G5
  L: "~@4 [a3,c4,e4] ~ [a3,c4,e4] ~ [a3,c4,e4]@4 [a3,c4,e4] ~ [a3,c4,e4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4]@4 [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~", // Am F
  M: "~@4 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [c3,g3,c4,g4]@4 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~@5 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [d3,g3,d4,g4]@3 ~ [d3,g3,d4,g4] ~ [d3,g3,d4,g4] ~", // C5 G5
  N: "~@5 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [c3,g3,c4,g4]@4 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~@5 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [d3,g3,d4,g4]@3 ~ [d3,g3,d4,g4] ~ [d3,g3,d4,g4]", // C5 G5
  O: "~@5 [a3,c4,e4] ~ [a3,c4,e4] ~ [a3,c4,e4]@4 [a3,c4,e4] ~ [a3,c4,e4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4]@4 [f3,a3,c4,f4] ~ [f3,a3,c4,f4]", // Am F
  P: "~@9 [a3,c4,e4]@4 ~@12 [f3,a3,c4,f4]@4 ~@3", Q: "~@9 [c3,g3,c4,g4]@4 ~@12 [d3,g3,d4,g4]@3 ~@4",
  R: "~@5 [a3,c4,e4]@2 ~@6 [f3,a3,c4,f4]@2 ~", S: "~@10 [c3,g3,c4,g4]@4 ~@12 [d3,g3,d4,g4]@3 ~@3",
  T: "~@11 [a3,c4,e4]@4 ~@12 [f3,a3,c4,f4]@4 ~", U: "~@11 [c3,g3,c4,g4]@4 ~@12 [d3,g3,d4,g4]@3 ~@2",
  V: "~@12 [c3,g3,c4,g4]@4 ~@12 [d3,g3,d4,g4]@3 ~", W: "~@3 [a3,c4,e4] ~@3 [f3,a3,c4,f4]",
  X: "~ [d3,g3,d4,g4] ~@11 [a3,c4,e4]@4 ~@12 [f3,a3,c4,f4]@3", Y: "~@13 [c3,g3,c4,g4]@4 ~@12 [d3,g3,d4,g4]@3",
  Z: "~@13 [a3,c4,e4]@4 ~@13 f3@2, ~@29 [a3,c4,f4]@3", AA: "~@7 [c3,g3,g4]@2 ~@6 [d3,g3,d4,g4], ~@13 c4@4 ~@15",
  AB: "[~@10 [a3,c4,e4] ~ [a3,c4,e4] ~ [a3,c4,e4]@4 [a3,c4,e4] ~ [a3,c4,e4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4]@4 [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~@5 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [c3,g3,c4,g4]@4 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~@5 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [d3,g3,d4,g4]@2]/2", // Am F C5 G5
  AC: "[~@2 [d3,g3,d4,g4] ~ [d3,g3,d4,g4] ~@6 [a3,c4,e4] ~ [a3,c4,e4] [a3,c4,e4]@4 [a3,c4,e4] ~ [a3,c4,e4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@3 ~@2 [f3,a3,f4]@3 ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~@5 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [c3,g3,c4,g4]@4 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~@5 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [d3,g3,d4,g4]@3 ~ [d3,g3,d4,g4] ~ [d3,g3,d4,g4] ~@5 [a3,c4,e4] ~ [a3,c4,e4] ~ [a3,c4,e4]@4 [a3,c4,e4] ~ [a3,c4,e4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4]@4 [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~@5 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [c3,g3,c4,g4]@4 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~@5 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [d3,g3,d4,g4]@3 ~ [d3,g3,d4,g4] ~ [d3,g3,d4,g4] ~@6 [a3,c4,e4] ~ [a3,c4,e4] [a3,c4,e4]@4 ~ [a3,c4,e4] ~ [a3,c4,e4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@3 ~, ~@15 c4@2 ~@63]/5", // G5 Am F C5 G5 Am F C5 …
  AD: "[f3,a3,c4,f4]@4 [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~@5 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [c3,g3,c4,g4]@4 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~@5 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~", // F C5
  AE: "[d3,g3,d4,g4]@3 ~ [d3,g3,d4,g4] ~ [d3,g3,d4,g4] ~@5 [a3,c4,e4] ~ [a3,c4,e4] ~ [a3,c4,e4]@4 [a3,c4,e4] ~ [a3,c4,e4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@3 ~", // G5 Am F
  AF: "[d3,g3,d4,g4]@3 ~ [d3,g3,d4,g4] ~ [d3,g3,d4,g4] ~@6 [a3,c4,e4] ~ [a3,c4,e4] ~ [a3,c4,e4]@4 [a3,c4,e4] ~ [a3,c4,e4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@3", // G5 Am F
  AG: "~ [f3,a3,c4,f4]@4 [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~@5 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [c3,g3,c4,g4]@4 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~@5 [c3,g3,c4,g4] ~ [c3,g3,c4,g4]", // F C5
  AH: "~ [d3,g3,d4,g4]@3 ~ [d3,g3,d4,g4] ~ [d3,g3,d4,g4] ~@5 [a3,c4,e4] ~ [a3,c4,e4] ~ [a3,c4,e4]@4 [a3,c4,e4] ~ [a3,c4,e4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@3", // G5 Am F
  AI: "~ [f3,a3,c4,f4]@4 [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~@5 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [c3,g3,c4,g4]@4 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~@6 [c3,g3,c4,g4] ~", // F C5
  AJ: "[c3,g3,c4,g4] ~ [d3,g3,d4,g4]@3 ~ [d3,g3,d4,g4] ~ [d3,g3,d4,g4] ~@5 [a3,c4,e4] ~ [a3,c4,e4] ~ [a3,c4,e4]@4 [a3,c4,e4] ~ [a3,c4,e4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@2", // C5 G5 Am F
  AK: "~@2 [f3,a3,c4,f4]@4 [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~@5 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [c3,g3,c4,g4]@4 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~@5 [c3,g3,c4,g4] ~", // F C5
  AL: "[c3,g3,c4,g4] [d3,g3,d4,g4]@3 ~ [d3,g3,d4] g4 [d3,g3,d4] g4 ~@9 [a3,c4,e4]@4 ~@10", // C5 G5 Am
  AM: "~ [f3,a3,c4,f4]@2 ~@6 [c3,g3,c4,g4]@2 ~@5", AN: "~@2 [d3,g3,d4,g4]@3 ~@13 [a3,c4,e4]@4 ~@10",
  AO: "~@3 g4@3 ~@13 [a3,c4,e4]@4 ~@9, ~@2 [d3,g3,d4]@3 ~@27", AP: "~@3 [f3,a3,c4,f4]@4 ~@12 [c3,g3,c4,g4]@4 ~@9",
  AQ: "~@3 [d3,g3,d4,g4]@3 ~@13 [a3,c4,e4]@4 ~@9", // G5 Am
  AR: "~@3 [d3,g3,d4,g4]@3 ~@9 [a3,c4,e4] ~ [a3,c4,e4] [a3,c4,e4]@3 ~ [a3,c4,e4] ~ [a3,c4,e4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@2", // G5 Am F
  AS: "[~ [c3,g3,c4,g4] ~ g4@3 ~ [d3,g3,d4,g4] ~ [d3,g3,d4,g4] ~@5 [a3,c4,e4] ~ [a3,c4,e4] ~ [a3,c4,e4]@4 [a3,c4,e4] ~ [a3,c4,e4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4]@4 [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~@5 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [c3,g3,c4,g4]@4 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~@5 [c3,g3,c4,g4], ~@2 [d3,g3,d4]@3 ~@59]/2", // C5 G5 Am F C5 G5
  AT: "[~ [c3,g3,c4,g4] ~ [d3,g3,d4,g4]@3 ~ [d3,g3,d4,g4] ~ [d3,g3,d4,g4] ~@5 [a3,c4,e4] ~ [a3,c4,e4] ~ [a3,c4,e4]@4 [a3,c4,e4] ~ [a3,c4,e4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4]@4 [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~@5 [c3,g3,c4,g4] ~@2 [c3,g3,c4,g4] [c3,g3,c4,g4]@4 ~ [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~@5]/2", // C5 G5 Am F C5
  AU: "[c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [d3,g3,d4,g4]@3 ~ [d3,g3,d4,g4] ~ [d3,g3,d4,g4] ~@5 [a3,c4,e4] ~ [a3,c4,e4] ~ [a3,c4,e4]@4 [a3,c4,e4] ~ [a3,c4,e4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~", // C5 G5 Am F
  AV: "[f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4]@4 [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~@5 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [c3,g3,c4,g4]@4 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~@5", // F C5
  AW: "[f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4]@4 [f3,a3,c4,f4] ~@2 [f3,a3,c4,f4] ~@5 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [c3,g3,c4,g4]@4 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~@4", // F C5
  AX: "~ [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [d3,g3,d4,g4]@3 ~ [d3,g3,d4,g4] ~ [d3,g3,d4,g4] ~@5 [a3,c4,e4] ~ [a3,c4,e4] ~ [a3,c4,e4]@4 [a3,c4,e4] ~ [a3,c4,e4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4]", // C5 G5 Am F
  AY: "~ [f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4]@4 [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~@5 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [c3,g3,c4,g4]@4 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~@4", // F C5
  AZ: "~@2 [f3,a3,c4,f4]@3 ~ [f3,a3,f4]@3 ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~@5 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [c3,g3,c4,g4]@4 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~@3, ~@5 c4@4 ~@23", // F C5
  BA: "~@2 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [d3,g3,d4,g4]@3 ~ [d3,g3,d4,g4] ~ [d3,g3,d4,g4] ~@5 [a3,c4,e4] ~ [a3,c4,e4] ~ [a3,c4,e4]@4 [a3,c4,e4] ~ [a3,c4,e4] ~ [f3,a3,c4,f4] ~", // C5 G5 Am F
  BB: "[f3,a3,c4,f4] ~ [f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4]@4 [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~@6 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [c3,g3,c4,g4]@4 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~@2", // F C5
  BC: "~@3 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [d3,g3,d4,g4]@3 ~ [d3,g3,d4,g4] ~ [d3,g3,d4,g4] ~@5 [a3,c4,e4] ~ [a3,c4,e4] ~ [a3,c4,e4]@4 [a3,c4,e4] ~ [a3,c4,e4] ~ [f3,a3,c4,f4]", // C5 G5 Am F
  BD: "~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4]@4 ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~@5 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [c3,g3,c4,g4]@4 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~", // F C5
  BE: "~@4 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [d3,g3,d4,g4]@3 ~ [d3,g3,d4,g4] ~ [d3,g3,d4,g4] ~@5 [a3,c4,e4] ~ [a3,c4,e4] ~ [a3,c4,e4]@4 [a3,c4,e4] ~ [a3,c4,e4] ~", // C5 G5 Am
  BF: "[f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@3 ~@2 [f3,a3,f4]@3 ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~@5 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [c3,g3,c4,g4]@4 [c3,g3,c4,g4] ~ [c3,g3,c4,g4], ~@2 c4 ~@5", // F C5
  BG: "~@5 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [d3,g3,d4,g4]@3 ~ [d3,g3,d4,g4] ~ [d3,g3,d4,g4] ~@5 [a3,c4,e4] ~ [a3,c4,e4] ~ [a3,c4,e4]@4 [a3,c4,e4] ~ [a3,c4,e4]", // C5 G5 Am
  BH: "~ [f3,a3,c4,f4] ~@2 [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4]@4 [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~@5 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [c3,g3,c4,g4]@4 [c3,g3,c4,g4] ~", // F C5
  BI: "[c3,g3,c4,g4] ~@5 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [d3,g3,d4,g4]@3 ~ [d3,g3,d4,g4] ~ [d3,g3,d4,g4] ~@6 [a3,c4,e4] ~ [a3,c4,e4] [a3,c4,e4]@4 [a3,c4,e4] ~", // C5 G5 Am
  BJ: "~ [a3,c4,e4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4]@4 [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~@5 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [c3,g3,c4,g4]@4 [c3,g3,c4,g4]", // Am F C5
  BK: "~ [c3,g3,c4,g4] ~@5 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [d3,g3,d4,g4]@3 ~ [d3,g3,d4,g4] ~ [d3,g3,d4,g4] ~@6 [a3,c4,e4] ~ [a3,c4,e4] ~ [a3,c4,e4]@4", // C5 G5 Am
  BL: "[a3,c4,e4] ~ [a3,c4,e4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4]@4 [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~@5 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [c3,g3,c4,g4]@4", // Am F C5
  BM: "[c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~@5 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [d3,g3,d4,g4]@3 ~ [d3,g3,d4,g4] ~ [d3,g3,d4] g4 ~@5 [a3,c4,e4] ~ [a3,c4,e4] ~ [a3,c4,e4]@3", // C5 G5 Am
  BN: "[~ [a3,c4,e4] ~ [a3,c4,e4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4]@4 [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~@6 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [c3,g3,c4,g4]@4 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~@5 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [d3,g3,d4,g4]@3 ~ [d3,g3,d4,g4] ~ [d3,g3,d4,g4] ~@5 [a3,c4,e4] ~ [a3,c4,e4] ~ [a3,c4,e4]@4 [a3,c4,e4] ~ [a3,c4,e4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4]@4 ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~@5 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [c3,g3,c4,g4]@4 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~@5 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [d3,g3,d4,g4]@3 ~ [d3,g3,d4,g4] ~ [d3,g3,d4,g4] ~@6 [a3,c4,e4] ~ [a3,c4,e4] ~]/4", // Am F C5 G5 Am F C5 G5 …
  BO: "[a3,c4,e4]@4 [a3,c4,e4] ~ [a3,c4,e4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4]@4 [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~@5 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~", // Am F C5
  BP: "[[c3,g3,c4,g4]@4 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~@6 [c3,g3,c4,g4] ~ [c3,g3,c4,g4] ~ [d3,g3,d4,g4]@3 ~ [d3,g3,d4,g4] ~ [d3,g3,d4,g4] ~@3 e4@97 ~@4, ~@25 a3@97 ~@6, ~@26 c4@97 ~@5]/4", // C5 G5
})).s("gm_electric_guitar_clean").gain(0.12).pan(0.9)

// chords · distortion guitar
const distortion_guitar = note(`<
  ~@26 A B A B A C D C ~@16 E@3 F@4 G@3 H@7 ~@7 I@8 J K L@3 M@4 N@4 O@5 P Q R S T U V@2 W@2 X@8
>`.pickRestart({
  A: "[e3,a3]@16 [c3,f3]@15 ~", B: "[c3,g3]@15 ~ [d3,g3]@15 ~", C: "~ [c3,g3]@15 ~ [d3,g3]@15",
  D: "~ [e3,a3]@16 [c3,f3]@15", E: "[~@6 [e3,a3]@16 [c3,f3]@15 ~ [c3,g3]@15 ~ [d3,g3]@15 ~ [e3,a3]@16 [c3,f3]@10]/3",
  F: "[~@7 c3@15 ~ [d3,g3]@15 ~ [e3,a3]@16 [c3,f3]@15 ~ [c3,g3]@15 ~@2 d3@15 [e3,a3]@16 [c3,f3]@9, ~@6 g3@15 ~@66 g3@15 ~@26]/4", // G5 A5 F5 C5 A5 F5
  G: "[~@8 [c3,g3]@15 ~ [d3,g3]@15 ~ [e3,a3]@16 [c3,f3]@15 ~ [c3,g3]@15 ~ [d3,g3]@8]/3", // C5 G5 A5 F5 C5 G5
  H: "[~@9 e3@15 ~ [c3,f3]@15 ~ [c3,g3]@15 ~ [d3,g3]@15 ~ [e3,a3]@16 [c3,f3]@15 ~@2 c3@15 ~ d3@15 ~ [e3,a3]@16 [c3,f3]@15 ~ c3@15 ~ d3@15 ~@23, ~@8 a3@16 ~@81 g3@15 ~ g3@15 ~@33 g3@15 ~ g3@15 ~@24]/7", // F5 C5 G5 A5 F5 A5 F5
  I: "[~@11 [e3,a3]@16 [c3,f3]@15 [c3,g3]@15 ~ [d3,g3]@15 ~ [e3,a3]@16 [c3,f3]@15 ~ [c3,g3]@15 ~ [d3,g3]@15 ~ [e3,a3]@16 [c3,f3]@15 ~ [c3,g3]@15 ~ [d3,g3]@15 ~ [e3,a3]@16 [c3,f3]@15 ~ [c3,g3]@15 ~ [d3,g3]@6]/8", // A5 F5 C5 G5 A5 F5 C5 G5 …
  J: "~@5 [e3,a3]@8 [c3,f3]@3", K: "~@11 c3@15 ~ d3@5, ~@10 g3@15 ~ g3@6",
  L: "[~@11 [e3,a3]@16 [c3,f3]@15 ~ [c3,g3]@15 ~ [d3,g3]@15 ~ [e3,a3]@16 [c3,f3]@5]/3", // A5 F5 C5 G5 A5 F5
  M: "[~@12 c3@15 ~ [d3,g3]@15 ~ [e3,a3]@16 [c3,f3]@15 ~ [c3,g3]@15 ~ [d3,g3]@15 ~ [e3,a3]@16 [c3,f3]@4, ~@11 g3@15 ~@102]/4", // G5 A5 F5 C5 G5 A5 F5
  N: "[~@13 c3@15 ~ [d3,g3]@15 ~ [e3,a3]@16 [c3,f3]@15 ~ [c3,g3]@15 ~ [d3,g3]@15 ~ [e3,a3]@16 [c3,f3]@3, ~@12 g3@15 ~@101]/4", // G5 A5 F5 C5 G5 A5 F5
  O: "[~@14 c3@15 ~ [d3,g3]@15 ~ [e3,a3]@16 [c3,f3]@16 ~ c3@15 ~ [d3,g3]@15 ~ [e3,a3]@16 [c3,f3]@16 ~ c3@15 ~, ~@13 g3@15 ~@50 g3@15 ~@50 g3@15 ~@2]/5", // G5 A5 F5 G5 A5 F5
  P: "[d3,g3]@15 ~ [e3,a3]@16", Q: "[c3,f3]@16 ~ c3@15, ~@16 g3@15 ~", R: "~ [d3,g3]@15 ~ [e3,a3]@15",
  S: "~ f3@8 [c3,g3]@7, ~ c3@15 ~@16", T: "~@2 [d3,g3]@15 ~ [e3,a3]@14", U: "~@3 [c3,f3]@16 [c3,g3]@13",
  V: "[~@3 [d3,g3]@15 ~@2 e3@15 ~ [c3,f3]@16 [c3,g3]@12, ~@19 a3@16 ~@29]/2", // G5 F5 C5
  W: "[~@4 [d3,g3]@15 ~@2 [e3,a3]@16 [c3,f3]@16 ~ c3@10, ~@53 g3@11]/2", // G5 A5 F5
  X: "[~@6 [d3,g3]@15 ~ [e3,a3]@16 [c3,f3]@16 ~ c3@15 ~ [d3,g3]@15 ~ [e3,a3]@16 ~ [c3,f3]@16 [c3,g3]@15 ~@2 d3@15 ~ [e3,a3]@66 ~ [a3,e4]@7 ~@29, ~@54 g3@15 ~@67 g3@15 ~@105]/8", // G5 A5 F5 G5 A5 F5 C5 A5
})).s("gm_distortion_guitar").gain(0.26)

// chords · distortion guitar
const distortion_guitar_2 = note(`<
  ~@4 A B@4 ~@5 C ~ C ~ C ~@8 D ~@17 E ~@5 F ~@7 G ~@15 H ~@7 H ~@8 I ~@7 J ~@7 K ~@7 L ~
>`.pickRestart({
  A: "~@11 c4@2 ~@3", B: "[~@15 a4@42 ~@7]/4", C: "~@7 e4@4 ~@21", D: "~@20 [d3,d4]@3 ~@9", E: "~@25 [d3,g3,g4]@3 ~@4",
  F: "~@26 [d3,d4]@3 ~@3", G: "~@28 [d3,d4]@3 ~", H: "~@15 [d3,d4]", I: "~ [d3,d4]@3 ~@28", J: "~@4 [d3,d4]@3 ~@25",
  K: "~@8 [d3,d4]@3 ~@21", L: "~@27 [e3,a3,c4,e4]@4 ~",
})).s("gm_distortion_guitar").gain(0.27).pan(0.2)

// chords · distortion guitar
const distortion_guitar_3 = note(`<
  ~@26 A B A B C D E D ~@16 F@2 G@4 H@4 I@7 ~@7 J@8 K@2 L@4 M@3 N@4 O@6 P@2 Q@2 R@2 S@8 ~@3
>`.pickRestart({
  A: "~@2 c4@2 ~@2 g3 ~@5 a3@2 c4@2, a3 f3, ~ e4 ~@2", B: "g3",
  C: "~@4 c4@4 ~@5 g3@2 ~@10 a3@4 c4@3, a3@16 ~ f3@15, ~ e4 ~@2", D: "~ g3@31",
  E: "~@5 c4@4 ~@4 g3@2 ~@10 a3@4 c4@3, ~ a3@16 f3@15, ~@9 e4@8 ~@15",
  F: "[~@9 c4@4 ~@5 g3@2 ~@10 a3@4 c4@4 g3@26, ~@3 a3@8 f3@8 ~@13, ~@7 e4@4 ~@21]/2",
  G: "[~@10 c4@4 ~@5 g3@2 ~@9 a3@4 ~ c4@4 g3@32 ~@4 c4@4 ~@4 g3@2 ~@10 a3@4 c4@4 g3@25, ~@6 a3@16 f3@16 ~@33 a3@16 f3@16 ~@25, ~@14 e4@8 ~@57 e4@8 ~@41]/4",
  H: "[~@11 c4@4 ~@5 g3@2 ~@10 a3@4 c4@4 g3@32 ~@4 c4@4 ~@4 g3@2 ~@10 a3@4 c4@4 g3@24, ~@7 a3@16 ~ f3@16 ~@32 a3@16 f3@16 ~@24, ~@15 e4@8 ~@57 e4@8 ~@40]/4",
  I: "[~@12 c4@4 ~@5 g3@2 ~@10 a3@4 c4@4 g3@32 ~@4 c4@4 ~@4 g3@2 ~@10 a3@4 c4@4 g3@32 ~@4 c4@4 ~@4 g3@2 ~@11 a3@4 c4@4 g3@32 ~@22, ~@9 a3@16 f3@16 ~@32 a3@16 f3@16 ~@32 a3@16 f3@16 ~@55, ~@16 e4@8 ~@57 e4@8 ~@56 e4@8 ~@71]/7",
  J: "[~@7 c4@2 ~@2 g3 ~@5 a3@2 c4@2 g3@16 ~@2 c4@2 ~@2 g3 ~@5 a3@2 c4@2 g3@16 ~@2 c4@2 ~@2 g3 ~@5 a3@2 c4@2 g3@16 ~@2 c4@2 ~@2 g3 ~@5 a3@2 c4@2 g3@11, ~@5 a3@8 f3@8 ~@16 a3@8 f3@8 ~@16 a3@8 f3@8 ~@16 a3@8 f3@8 ~@11, ~@9 e4@4 ~@28 e4@4 ~@28 e4@4 ~@28 e4@4 ~@19]/8",
  K: "[~@7 c4@2 ~@2 g3 ~@5 a3@2 c4@2 g3@11, ~@5 a3@8 f3@8 ~@11, ~@9 e4@4 ~@19]/2",
  L: "[~@14 c4@4 ~@5 g3@2 ~@10 a3@4 c4@4 g3@32 ~@4 c4@4 ~@4 g3@2 ~@10 a3@4 c4@4 g3@21, ~@11 a3@16 f3@16 ~@32 a3@16 f3@16 ~@21, ~@19 e4@8 ~@56 e4@8 ~@37]/4",
  M: "[~@15 c4@4 ~@5 g3@2 ~@10 a3@4 c4@4 g3@32 ~@4 c4@4 ~@5 g3@2 ~ f3@4, ~@3 a3@4 f3@4 ~@8 a3@4 ~, ~@5 e4@2 ~@14 e4@2 ~]/3",
  N: "[~@4 a3@4 c4@4 ~ g3@32 ~@3 c4@4 ~@5 g3@2 ~@10 a3@4 c4@4 g3@32 ~@4 c4@4 ~@5 g3@2 ~ f3@3, ~@45 a3@16 f3@16 ~@32 a3@16 ~@3, ~@53 e4@8 ~@56 e4@8 ~@3]/4",
  O: "[~@5 a3@4 ~ c4@4 g3@32 ~@4 c4@4 ~@4 g3@2 ~@10 a3@4 c4@4 ~ g3@32 ~@4 c4@4 ~@4 g3@2 ~@10 a3@4 ~ c4@4 g3@32 ~@4 c4@4 ~@4 g3@2 ~@2, ~@46 a3@16 f3@16 ~@33 a3@16 f3@16 ~@33 a3@16, ~@54 e4@8 ~@57 e4@8 ~@57 e4@8]/6",
  P: "[~@8 a3@4 ~ c4@4 g3@32 ~@4 c4@4 e4@5 g3@2, f3@16 ~@33 a3@15]/2",
  Q: "[~@10 a3@4 c4@4 g3@32 ~@4 c4@4 e4@5 g3, ~ f3@16 ~@33 a3@14]/2",
  R: "[~@11 a3@4 c4@4 g3@32 ~@4 c4@4 e4@5, ~@3 f3@16 ~@32 a3@13]/2",
  S: "[g3@2 ~@10 a3@4 c4@4 g3@32 ~@4 c4@5 ~@4 g3@2 ~@10 a3@4 c4@4 ~ g3@32 ~@4 c4@4 ~@4 g3@2 ~@10 a3@4 ~ c4@4 g3@32 ~@4 c4@4 ~@5 g3@2 ~@10 a3@4 c4@4 g3@33 ~@7, ~@4 f3@16 ~@33 a3@16 f3@16 ~@33 a3@16 f3@16 ~@33 a3@16 ~ f3@16 ~@40, ~@61 e4@8 ~@57 e4@8 ~@57 e4@8 ~@57]/8",
})).s("gm_distortion_guitar").gain(0.21)

// other · electric guitar clean
const electric_guitar_clean_2 = note(`<
  ~@58 A@4 B@2 C D@3 ~@14 E ~ F@2 G@2 H@4 I@2 J@3 K@3 L M N@4 O@2 P Q@2 R@2 S T@3 ~
>`.pickRestart({
  A: "[d4@35 ~ g3@3 ~ c4@2 ~@2 c4 ~ c4@3 ~ c4@2 d4@3 ~ d4@4 ~@2 d4@41 ~@2 g4@12 g4@11]/4",
  B: "[~ c5@38 ~@2 c5@16 c5@5 ~@2]/2", C: "~ f5@16 ~ f5@7 f5@7", D: "[~ f5@8 ~ f5@3 f5@4 ~ f5@3 f5@4 f5@4 g5@58 ~@9]/3",
  E: "~ d6@15", F: "[~@11 c4@32 g4@12 g4@9]/2", G: "[~@3 d4@8 c4@30 ~@2 c4@3 ~ c4 ~@2 c4@3 ~ c4@2 d4@3 ~ d4@4]/2",
  H: "[~@4 d4@8 d4@30 ~@2 a4@4 g4 ~ a4@22 ~@4 b4@4 c5@3 ~ c5@24 c5@4 d5@3 ~ d5@7 ~ d5@4]/4",
  I: "[~@4 f5@7 ~@2 g5@28 g5@3 ~ g5@11 ~ g5@3 ~ d5@3]/2",
  J: "[~@3 d5@10 c5@26 ~@2 g4@4 ~ c5@4 ~@2 c5@10 d5@20 d5@2 c5@2 d5@8 d5@2]/3",
  K: "[c5@2 d5@8 ~ d5@2 c5@2 d5@12 d5@3 ~ d5@7 ~ f5@8 g5@7 ~ g5@3 ~ g5@3 ~ g5@3 ~ g5@3 ~ g5@3 ~@2 g5@3 g5@12 ~ g5@3 ~]/3",
  L: "g5@8 d5@3 ~ e5@3 ~ e5@8 e5@4 e5 ~ e5 ~", M: "e5 ~ e5 ~ e5@3 ~ e5@7 ~@2 f5@2 e5@2 d5@8 c5@2 ~",
  N: "[~ c5@6 ~@2 d5@4 g4@4 g4@7 ~ g4 ~@3 g4@14 ~@3 a4 ~ a4@2 a4@8 f4@4 e4@4 f4@13 ~@3 g4@32 ~ a4@13]/4",
  O: "[~@3 g4@8 e4@4 d4@4 c5@8 g5@2 ~@2 c5@18 ~@3 c5@4 b4@2 ~@2 a4@4]/2", P: "g4@12 c5@7 ~@2 d5@11",
  Q: "[~ c5@18 ~@2 c5@6 ~@3 b4@7 ~ a4@7 ~ g4@7 ~ g4@10]/2", R: "[~@2 g4@19 ~@2 e4@24 d4@8 d4@9]/2",
  S: "~@4 d4@19 ~ e4@6 ~@2", T: "[d4@7 ~@2 c4@7 ~ b3@6 ~@2 c4@66 [a4,a5]@5]/3",
})).s("gm_electric_guitar_clean").gain(0.54)

// other · guitar harmonics
const guitar_harmonics = note("<~@7 A@2 ~@109>".pickRestart({
  A: "[~@14 a4@4 c5@10 ~@2 d#4@14 ~@2 d#4@15 ~@3]/2",
})).s("gm_guitar_harmonics").gain(0.17)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  ~ A@2 B@6 C@7 D@4 E F E G H I J I K L M N O P Q R S T U V W X Y@2 Z@2 AA@2 AB@2 AC@8 AD@4 AE@6 AF@8 AG@6 AH@2 AI@4
  AJ@4 AK@8 AL AM@2 AN AO AP@3 AQ@6 AR@3 ~
>`.pickRestart({
  A: "[~@28 c3@2 d3@2 ~@4 [a3,c4]@4 [a3,c4] ~ [f3,c4] ~ [f3,c4]@3 ~ [f3,c4]@2 ~@2 [f3,c4]@2 ~@2 [f3,a3,c4] ~ c4 ~@3 d3@2, ~@28 a2@15 ~ f2@15 ~@5, ~@28 [a3,c4]@7 ~@9 a3@12 ~@8, ~@32 e3@11 ~@17 [c3,g3,c4]@4]/2", // Am F5 F Am C5
  B: "[e3@2 ~@3 [g3,c4,g4]@3 ~ [g3,c4,g4]@2 ~@4 [g3,b3] ~ [g3,b3]@2 ~@2 [g3,b3]@3 ~ [g3,b3] ~@3 c3@2 d3@2 ~@4 [a3,c4]@4 c4 a3 c4 f3 ~ [f3,c4]@3 ~ [f3,c4]@2 ~@2 [f3,c4]@2 ~@2 [f3,a3,c4] f3 a3 ~@3 d3@2 e3@2 ~@2 [g3,c4,g4]@3 ~ [g3,c4,g4]@2 ~@4 [g3,b3] ~ [g3,b3]@2 ~@2 [g3,b3]@3 ~ [g3,b3] ~@3 c3@2 d3@2 ~@4 [a3,c4]@4 [a3,c4] ~ [f3,c4] ~@5 [f3,c4]@2 ~@3 f3@2 ~ [f3,a3,c4] ~ [f3,a3,c4] ~@3 d3@2 e3@2 ~@2 [g3,c4,g4]@3 ~@2 g4 [g3,b3,g4]@3 ~ [g3,b3] ~ [g3,b3]@2 ~@2 [g3,b3]@3 ~ [g3,b3] ~@3 c3@2 d3@2 ~@4 [a3,c4]@4 [a3,c4] ~ [f3,c4] ~@5 [f3,c4]@2 ~@3 f3@2 ~ [f3,a3,c4] ~ c4 ~ [c3,g3,c4]@2, ~@5 e3@6 [g3,b3,g4]@4 ~@14 [a3,c4]@7 ~@10 a3@12 ~@4 [g3,c4]@8 e3@7 ~@21 e3@11 ~ [f3,c4]@3 ~@5 c4@2 ~@18 [g3,c4]@2 ~@18 [a3,c4]@7 ~@9 a3@12 ~@6, ~@13 g2@15 ~ a2@15 ~@2 f2@15 ~@17 g2@14 ~@2 a2@15 ~@2 f2@14 ~ c3@4 ~@13 g2@14 ~ a2@15 ~@2 f2@14 ~@3, ~@33 e3@11 ~@18 c3@4 ~@10 [g3,b3,g4]@4 ~@14 [a3,c4]@7 ~@9 a3@12 ~@4 [g3,c4]@8 e3@7 ~@21 e3@11 ~ [f3,c4]@3 ~@5 c4@2 ~@8]/6", // C5 G Am F5 F C5 G Am …
  C: "[d3@2 e3@2 ~@2 [g3,c4,g4]@3 ~@2 g4 [g3,b3,g4]@3 ~ [g3,b3] ~ [g3,b3]@2 ~@2 [g3,b3]@3 ~ [g3,b3] ~@3 c3@2 d3@2 ~@4 [a3,c4]@4 c4 a3 c4 f3 ~ c4@2 ~@2 [f3,c4]@2 ~@2 [f3,c4]@2 ~@2 [f3,a3,c4] ~@5 d3@2 e3@2 ~@2 [g3,c4,g4]@3 ~ [g3,c4,g4]@2 ~@4 [g3,b3] ~ [g3,b3]@2 ~@2 [g3,b3]@3 ~ [g3,b3] ~ b3 ~ c3@2 d3@2 ~@4 [a3,c4]@4 [a3,c4] ~ [f3,c4] ~ [f3,c4]@3 ~ [f3,c4]@2 ~@2 [f3,c4]@2 ~@2 [f3,a3,c4] ~ a3 ~@3 d3@2 e3@2 ~@2 [g3,c4,g4]@3 ~ [g3,c4,g4]@2 [g3,b3,g4]@3 ~ [g3,b3] ~ [g3,b3]@2 ~@2 [g3,b3]@3 ~ [g3,b3] ~ b3 ~@3 d3@2 ~@4 [a3,c4]@4 c4 a3 c4 f3 ~ c4@2 ~@2 [f3,c4]@2 ~@2 f3@2 ~ [f3,a3,c4] ~ f3 ~@3 d3@2 e3@2 ~@3 g4@3 ~@3 g4@2 ~ [g3,b3] ~ [g3,b3]@2 ~@2 [g3,b3]@3 ~ [g3,b3] ~@3 [c3,a3,c4], ~@6 e3@7 ~@2 g2@14 ~ a2@15 ~@2 f2@15 ~@17 g2@14 ~@2 a2@15 ~ f2@15 ~@18 g2@14 ~@2 a2@15 ~ f2@14 ~ c3@4 ~@9 g4@2 ~@18, ~@10 [g3,c4]@2 ~@18 [a3,c4]@7 ~@9 a3@12 ~@5 [g3,c4]@8 e3@7 ~@21 e3@11 ~@17 c3@4 ~@28 c3@2 ~@2 e3@11 ~ f3@3 ~@5 c4@2 ~@14 [g3,c4]@3 ~ [g3,c4]@2 [g3,b3]@4 ~@15, ~@34 e3@11 ~ f3@3 ~@14 c3@4 ~@10 [g3,b3,g4]@4 ~@14 [a3,c4]@7 ~@9 a3@12 ~@4 [g3,c4]@8 e3@7 ~@17 [a3,c4]@7 ~@9 a3@12 ~@4 [g3,c4]@8 e3@7 ~@2 g2@14 ~@2]/7", // C5 G Am F5 F C5 G Am …
// … 315 more lines