Strudelify
Southern Cross cover art

1982 · Daylight Again

Southern Cross

Crosby, Stills & Nash

KeyA majorTempo84 bpm
0:00/0:00
// Southern Cross — Crosby, Stills & Nash
// 84 bpm, 4/4, key A major. Source: mcgill + midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 2/4 at bar 20, 4/4 at bar 21, 2/4 at bar 27, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: Full arrangement: all 94 bars on a 48-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 30.
setcpm(84/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 · electric guitar clean
const electric_guitar_clean = note("<~@37 A@8 B ~@3 C@2 ~ D ~@19 E@6 F@3 ~@2 G@2 ~@2 H@2 ~@5>".pickRestart({
  A: "[~@47 [a3,c#4,e4]@18 ~@6 [d4,g4,b4]@18 ~@6 f#4@18 f#4@17 ~ g4@3 f#4@9 [a3,c#4,e4]@17 ~@7 [d4,g4,b4]@17 ~@4 e4@3 f#4@5 ~ e4@6 d4@5 ~ c#4@22 ~@8 [a3,c#4,e4]@18 ~@6 [d4,g4,b4]@18 ~@6 f#4@18 f#4@17 ~ g4@3 f#4@9 [a3,c#4,e4]@17 ~@7 [d4,g4,b4]@17 ~@4 e4@3 f#4, ~@95 [d4,a4]@30 ~@162 [d4,a4]@30 ~@67]/8", // A G A G A G A G …
  B: "~@5 e4@6 d4@5 ~ c#4@22 ~@9", C: "[~@20 e4@3 f#4@5 ~ e4@6 d4@5 ~ c#4@22 ~@33]/2", D: "~@5 a4@11 ~ e4@16 ~@15",
  E: "[~@23 c#5@23 ~ b4@21 ~@3 b4@4 ~@2 a4@6 ~@6 f#4@24 ~@6 c#5@23 ~ b4@20 ~@4 b4@5 ~ a4@4 ~@8 a4@25 ~@5 c#5@24 b4@21 ~@2 b4@5 ~ a4@5 ~@7 f#4@8]/6",
  F: "[~@11 c#5@12 b4@10 ~@2 b4@3 a4@2 ~@4 a4@12 ~@16]/3", G: "[~@19 e4@3 f#4@5 ~ e4@6 d4@3 ~@3 c#4@26 ~@30]/2",
  H: "[~@22 d4@10 ~@2 d4@9 ~@3 e4@46 ~@4]/2",
})).s("gm_electric_guitar_clean").gain(0.3)

// bass · electric bass finger
const bass = note(`<
  A B C D E F G H E F G H E F G H E F G I J K L M N O@8 P@7 Q@7 R@8 S@5 T@8 U@7 V@8 W@8 X@2 ~
>`.pickRestart({
  A: "a1@2 ~ a1@3 ~@6 g1@2 ~ g1@3 ~@6", B: "d2@5 ~ b1@6 a1@2 ~@28 g1@3 g#1@3, ~@18 d2@29 ~",
  C: "a1@4 ~@2 a1@6 ~@12 g1@4 ~@2 g1@5 ~@13", D: "d2@3 b1@3 a1 ~@2 a1@14 ~", E: "a1@4 ~@2 a1@5 ~@13 g1@4 ~@2 g1@5 ~@13",
  F: "d2@5 ~ b1@6 a1@2 ~@4 d2@22 ~@2 f1@3 g1@2 ~", G: "a1@4 ~@2 a1@7 ~@11 g1@4 ~@2 g1@6 ~@12",
  H: "d2@6 b1@6 a1@2 ~@4 a1@27 ~@3", I: "d2@10 ~@2 b1@10 ~@2 a1@9 ~@3 a1@9 ~@3",
  J: "a1@10 ~@2 a1@7 ~@5 g1@2 ~@4 g1@8 ~ b1@3 c2@3 c#2@3",
  K: "d2@3 ~@3 d2@11 ~ e1@3 f#1@3 g1@3 ~@3 g1@10 ~@2 g1@3 g#1@3",
  L: "a1@3 ~@3 a1@11 ~ e1@3 f#1@3 g1@3 ~@3 g1@8 ~ b1@3 c2@3 c#2@3",
  M: "d2@3 ~@3 d2@10 ~@2 e1@3 f#1@3 g1@2 ~@4 g1@9 ~@3 g1@3 g#1@3",
  N: "a1@3 ~@3 a1@11 ~ e1@3 f#1@3 g1@3 ~@3 g1@9 b1@3 c2@3 c#2@3",
  O: "[d2@3 ~@2 d2@10 ~@2 e1@3 f#1@3 g1@2 ~@4 g1@9 ~@3 g1@3 g#1@3 a1@88 ~@8 d2@21 ~@3 g1@13 ~@5 a1@23 ~ e1@6 a1@4 ~@2 a1 ~@2 a1 ~@2 a1@4 ~@2 a1@6 d2@23 ~ g1@16 ~@2 a1@24 e1@6 a1@4 ~@2 a1 ~@2 a1 ~@2 a1@3 ~@3 a1@6 d2@23 ~ g1@17 ~ a1@7]/8",
  P: "[~@17 e1@6 a1@3 ~@21 a1@4 ~@2 a1@6 ~@12 g1@4 ~@2 g1@6 ~@12 d2@5 ~ b1@6 a1@2 ~@28 g1@3 g#1@3 a1@4 ~@2 a1@6 ~@12 g1@4 ~@2 g1@5 ~@13 d2@6 b1@6 a1@2 ~@4 a1@28 ~@2 a1@4 ~@2 a1@5 ~@13 g1@4 ~@2 g1@5 ~@13 d2@5 ~ b1@6 a1@2 ~@4 d2@22 ~@2 f1@3 g1@2 ~ a1, ~@113 d2@29 ~@194]/7",
  Q: "[~@5 a1@7 ~@11 g1@4 ~@2 g1@6 ~@12 d2@6 b1@6 a1@2 ~@4 a1@27 ~@3 a1@4 ~@2 a1@5 ~@13 g1@4 ~@2 g1@5 ~@13 d2@5 ~ b1@6 a1@2 ~@4 d2@22 ~@2 f1@3 g1@2 ~ a1@4 ~@2 a1@7 ~@11 g1@4 ~@2 g1@6 ~@12 d2@11 ~ b1@9 ~@3 a1@9 ~@3 a1@7 ~@2 a1 ~@2 a1@5 ~@19 a1@4 ~@2 a1@5 ~@13 g1]/7",
  R: "[~@5 g1@5 ~@13 d2@5 ~ b1@6 a1@2 ~@4 d2@22 ~@2 f1@3 g1@2 ~ a1@4 ~@2 a1@7 ~@11 g1@4 ~@2 g1@6 ~@12 d2@6 b1@6 a1@2 ~@4 a1@18 ~@12 a1@4 ~@2 a1@5 ~@13 g1@4 ~@2 g1@5 ~@13 d2@5 ~ b1@6 a1@2 ~@4 d2@22 ~@2 f1@3 g1@2 ~ a1@4 ~@2 a1@7 ~@11 g1@4 ~@2 g1@6 ~@12 d2@10 ~@2 b1@10 ~@2 a1@9 ~@3 a1@9 ~@3 a1@10 ~@2 a1@7 ~@5 g1]/8",
  S: "[~@5 g1@8 ~ b1@3 c2@3 c#2@3 d2@3 ~@3 d2@11 ~ e1@3 f#1@3 g1@3 ~@3 g1@10 ~@2 g1@3 g#1@3 a1@3 ~@3 a1@11 ~ e1@3 f#1@3 g1@3 ~@3 g1@8 ~ b1@3 c2@3 c#2@3 d2@3 ~@3 d2@10 ~@2 e1@3 f#1@3 g1@2 ~@4 g1@9 ~@3 g1@3 g#1@3 a1@3 ~@3 a1@11 ~ e1@3 f#1@3 g1@3 ~@3 g1@9 b1@3 c2@3 c#2@3 d2@3 ~@3 d2@10 ~@2 e1@3 f#1@3 g1]/5",
  T: "[~@5 g1@9 ~@3 g1@3 g#1@3 a1@88 ~@8 d2@21 ~@3 g1@13 ~@5 a1@23 ~ e1@6 a1@4 ~@2 a1 ~@2 a1 ~@2 a1@4 ~@2 a1@6 d2@23 ~ g1@16 ~@2 a1@24 e1@6 a1@4 ~@2 a1 ~@2 a1 ~@2 a1@3 ~@3 a1@6 d2@23 ~ g1@17 ~ a1@23 ~ e1@6 a1]/8",
  U: "[~@23 a1@4 ~@2 a1@6 ~@12 g1@4 ~@2 g1@6 ~@12 d2@5 ~ b1@6 a1@2 ~@28 g1@3 g#1@3 a1@4 ~@2 a1@6 ~@12 g1@4 ~@2 g1@5 ~@13 d2@6 b1@6 a1@2 ~@4 a1@28 ~@2 a1@4 ~@2 a1@6 ~@12 g1@4 ~@2 g1@6 ~@12 d2@5 ~ b1@6 a1@2 ~@28 g1@3 g#1@3 a1@4 ~@2 a1@6 ~@12 g1, ~@89 d2@29 ~@163 d2@29 ~@26]/7",
  V: "[~@5 g1@5 ~@13 d2@6 b1@6 a1@2 ~@4 a1@28 ~@2 a1@4 ~@2 a1@6 ~@12 g1@4 ~@2 g1@6 ~@11 d2@5 ~ b1@6 a1@2 ~@28 g1@3 g#1@3 a1@4 ~@2 a1@6 ~@12 g1@4 ~@2 g1@5 ~@13 d2@6 b1@6 a1@2 ~@4 a1@28 ~@2 a1@4 ~@2 a1@6 ~@12 g1@4 ~@2 g1@6 ~@12 d2@5 ~ b1@6 a1@2 ~@28 g1@3 g#1@3 a1@4 ~@2 a1@6 ~@12 g1@2, ~@136 d2@29 ~@163 d2@29 ~@27]/8",
  W: "[~@4 g1@5 ~@13 d2@6 c#2@6 a1@3 ~@3 a1@24 ~@3 g1@2 ~ a1@4 ~@2 a1@6 ~@12 g1@4 ~@2 g1@6 ~@12 d2@5 ~ b1@6 a1@2 ~@28 g1@3 g#1@3 a1@4 ~@2 a1@6 ~@12 g1@4 ~@2 g1@5 ~@13 d2@9 ~@3 b1@8 ~@4 a1@45 ~@3 a1@4 ~@2 a1@6 ~@12 g1@4 ~@2 g1@6 ~@12 d2@5 ~ b1@6 a1@2 ~@28 g1@3 g#1@3 a1@2, ~@136 d2@29 ~@187 d2@29 ~@3]/8",
  X: "[~@4 a1@6 ~@12 g1@4 ~@2 g1@6 ~@12 d2@5 ~ b1@6 a1@2 ~@4 d2@30 ~@2]/2",
})).s("gm_electric_bass_finger").gain(0.47)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  A B C D E F G H I F E H J F K H G F J L@2 M N M N O@2 P@8 Q@8 R@3 S@5 T@4 U V W X Y Z@8 AA@5 AB@8 AC@4 AD@6 AE AF ~
>`.pickRestart({
  A: "[a3,c#4,e4]@4 ~@2 [c#4,e4]@6 ~@12 [g3,b3,d4,g4]@3 ~@3 [g3,b3,d4,g4]@5 ~@13, ~@5 a3@5 ~@38", // A C#m G
  B: "[f#3,a3,d4]@4 ~@2 [f#3,a3,d4]@4 ~@8 [f#3,a3,d4]@27 ~@3", // D
  C: "[a3,c#4,e4]@4 ~@2 [a3,c#4,e4]@6 ~@12 [g3,b3,d4,g4]@4 ~@2 [g3,b3,d4,g4]@5 ~@13", // A G
  D: "[f#3,a3,d4]@3 ~@3 [f#3,a3,d4]@4 ~@8 [a3,c#4,e4]@29 ~", // D A
  E: "[a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@18 [g3,b3,d4,g4]@3 ~@3 [g3,b3,d4]@17 ~, ~@15 g4@5 ~@4", // A G
  F: "[f#3,a3,d4]@3 ~@3 [f#3,a3,d4]@5 ~@7 [f#3,a3,d4]@29 ~", // D
  G: "[a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@18 [g3,b3,d4,g4]@3 ~@3 [g3,b3,d4]@17 ~, ~@30 g4@7 ~@11", // A G
  H: "[f#3,a3,d4]@4 ~@2 [f#3,a3,d4]@6 ~@6 [a3,c#4,e4]@27 ~@3", // D A
  I: "[a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@18 [g3,b3,d4,g4]@3 ~@3 [g3,b3,d4]@17 ~, ~@10 g4@3 ~@3", // A G
  J: "[a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@18 [g3,b3,d4,g4]@3 ~@3 [g3,b3,d4]@17 ~, ~@5 g4 ~@2", // A G
  K: "[a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@18 [g3,b3,d4,g4]@3 ~@3 [g3,b3,d4]@17 ~, ~@30 g4@5 ~@13", // A G
  L: "[[d3,f#3,a3]@8 ~@4 [b2,d3,f#3]@9 ~@3 e3@4 ~@2 e3@6 [a3,c#4,e4]@22 ~@2 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@4 ~@8 [b3,d4,g4]@9 ~@3 [b3,d4,g4]@6, ~@24 [a2,c#3]@13 ~@59]/2", // D Bm A G A
  M: "~@2 [d4,f#4,a4]@3 ~ [d4,f#4,a4]@2 ~@2 [b3,d4,g4]@3 ~ [b3,d4,g4]@2", // D G
  N: "~@6 [a3,c#4,e4]@10 ~@2 [a3,c#4,e4]@6 ~@6 [b3,d4,g4]@9 ~@3 [b3,d4,g4]@6", // A G
  O: "[~@5 [d4,f#4,a4]@9 ~@3 [d4,f#4,a4]@5 ~@7 [b3,d4,g4]@9 ~@3 [b3,d4,g4]@5 ~ [a3,c#4,e4]@8 ~@4 [a3,c#4,e4]@9 ~@3 [a3,c#4,e4]@9 ~@3 [a3,c#4,e4]@9 ~@3 [a3,c#4,e4]]/2", // D G A
  P: "[~@11 [a3,c#4,e4]@8 ~@4 [a3,c#4,e4]@8 ~@4 [a3,c#4,e4]@6 ~@6 [d3,f#3,a3]@19 ~@5 [g3,b3,d4]@14 ~@4 [a3,c#4,e4]@36 [a3,c#4,e4]@3 [a3,c#4,e4]@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@4 ~@2 [d3,f#3,a3]@21 ~@3 [g3,b3,d4]@14 ~@4 [a3,c#4,e4]@36 [a3,c#4,e4]@3 [a3,c#4,e4]@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@5 ~ [d3,f#3,a3]@18 ~@6 [g3,b3,d4]@15 ~@3 [a3,c#4,e4]@24 [a3,c#4,e4]@6 [a3,c#4,e4]@3 ~@21 [a3,c#4,e4]@4 ~@2 [a3,c#4,e4]@6 ~@12 [g3,b3,d4,g4]@3 ~@3 [g3,b3,d4,g4]@5 ~@13 [f#3,a3,d4]]/8", // A D G A D G A D …
  Q: "[~@5 [f#3,a3,d4]@4 ~@8 [f#3,a3,d4]@27 ~@3 [a3,c#4,e4]@4 ~@2 [a3,c#4,e4]@6 ~@12 [g3,b3,d4,g4]@4 ~@2 [g3,b3,d4,g4]@5 ~@13 [f#3,a3,d4]@3 ~@3 [f#3,a3,d4]@4 ~@8 [a3,c#4,e4]@29 ~ [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@18 [g3,b3,d4,g4]@3 ~@3 [g3,b3,d4]@17 ~ [f#3,a3,d4]@3 ~@3 [f#3,a3,d4]@5 ~@7 [f#3,a3,d4]@29 ~ [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@18 [g3,b3,d4,g4]@3 ~@3 [g3,b3,d4,g4]@17 ~ [f#3,a3,d4]@4 ~@2 [f#3,a3,d4]@6 ~@6 [a3,c#4,e4]@27 ~@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@18 [g3,b3,d4,g4]@3 ~@3 [g3,b3,d4,g4]@17 ~ [f#3,a3,d4], ~@173 g4@12 ~@199]/8", // D A G D A G D A …
  R: "[~@5 [f#3,a3,d4]@5 ~@7 [f#3,a3,d4]@29 ~ [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@18 [g3,b3,d4,g4]@3 ~@3 [g3,b3,d4]@17 ~ [d4,f#4,a4]@7 ~@5 [b3,d4,f#4]@7 ~@5 [a3,c#4,e4]@9 ~@3 [a3,c#4,e4]@7 ~@2 [a3,c#4,e4] ~@2 [a3,c#4,e4], ~@77 g4@11 ~@56]/3", // D A G D Bm A
  S: "[~@23 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@18 [g3,b3,d4,g4]@3 ~@3 [g3,b3,d4]@17 ~ [f#3,a3,d4]@3 ~@3 [f#3,a3,d4]@5 ~@7 [f#3,a3,d4]@29 ~ [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@18 [g3,b3,d4,g4]@3 ~@3 [g3,b3,d4]@17 ~ [f#3,a3,d4]@4 ~@2 [f#3,a3,d4]@6 ~@6 [a3,c#4,e4]@27 ~@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@18 [g3,b3,d4,g4], ~@53 g4@6 ~@90 g4@5 ~@86]/5", // A G D A G D A G
  T: "[~@5 [g3,b3,d4]@17 ~ [f#3,a3,d4]@3 ~@3 [f#3,a3,d4]@5 ~@7 [f#3,a3,d4]@29 ~ [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@18 [g3,b3,d4,g4]@3 ~@3 [g3,b3,d4]@17 ~ [d3,f#3,a3]@8 ~@4 [b2,d3,f#3]@9 ~@3 e3@4 ~@2 e3@6 [a3,c#4,e4]@22 ~@2 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@4 ~@3, ~@5 g4@7 ~@89 g4@6 ~@36 [a2,c#3]@13 ~@36]/4", // G D A G D Bm A
  U: "~@5 [b3,d4,g4]@9 ~@3 [b3,d4,g4]@6 ~@6 [d4,f#4,a4]@9 ~@3 [d4,f#4,a4]@6 ~", // G D
  V: "~@5 [b3,d4,g4]@9 ~@3 [b3,d4,g4]@8 ~@4 [a3,c#4,e4]@10 ~@2 [a3,c#4,e4]@6 ~", // G A
  W: "~@5 [b3,d4,g4]@9 ~@3 [b3,d4,g4]@7 ~@5 [d4,f#4,a4]@9 ~@3 [d4,f#4,a4]@6 ~", // G D
  X: "~@5 [b3,d4,g4]@9 ~@3 [b3,d4,g4]@7 ~@5 [a3,c#4,e4]@10 ~@2 [a3,c#4,e4]@6 ~", // G A
  Y: "~@5 [b3,d4,g4]@9 ~@3 [b3,d4,g4]@7 ~@5 [d4,f#4,a4]@9 ~@3 [d4,f#4,a4]@5 ~@2", // G D
  Z: "[~@5 [b3,d4,g4]@9 ~@3 [b3,d4,g4]@5 ~ [a3,c#4,e4]@8 ~@4 [a3,c#4,e4]@9 ~@3 [a3,c#4,e4]@9 ~@3 [a3,c#4,e4]@9 ~@3 [a3,c#4,e4]@8 ~@4 [a3,c#4,e4]@8 ~@4 [a3,c#4,e4]@8 ~@4 [a3,c#4,e4]@6 ~@6 [d3,f#3,a3]@19 ~@5 [g3,b3,d4]@14 ~@4 [a3,c#4,e4]@36 [a3,c#4,e4]@3 [a3,c#4,e4]@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@4 ~@2 [d3,f#3,a3]@21 ~@3 [g3,b3,d4]@14 ~@4 [a3,c#4,e4]@36 [a3,c#4,e4]@3 [a3,c#4,e4]@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@5 ~ [d3,f#3,a3]@18 ~@6 [g3,b3,d4]@15 ~@3 [a3,c#4,e4]@24 [a3,c#4,e4]@6 [a3,c#4,e4]]/8", // G A D G A D G A …
  AA: "[~@23 [a3,c#4,e4]@4 ~@2 [a3,c#4,e4]@6 ~@12 [g3,b3,d4,g4]@3 ~@3 [g3,b3,d4,g4]@5 ~@13 [f#3,a3,d4]@4 ~@2 [f#3,a3,d4]@4 ~@8 [f#3,a3,d4]@27 ~@3 [a3,c#4,e4]@4 ~@2 [a3,c#4,e4]@6 ~@12 [g3,b3,d4,g4]@4 ~@2 [g3,b3,d4,g4]@5 ~@13 [f#3,a3,d4]@3 ~@3 [f#3,a3,d4]@4 ~@8 [a3,c#4,e4]@29 ~ [a3,c#4,e4]@4 ~@2 [a3,c#4,e4]@6 ~@12 [g3,b3,d4,g4]]/5", // A G D A G D A G
  AB: "[~@5 [g3,b3,d4,g4]@5 ~@13 [f#3,a3,d4]@4 ~@2 [f#3,a3,d4]@4 ~@8 [f#3,a3,d4]@27 ~@3 [a3,c#4,e4]@4 ~@2 [a3,c#4,e4]@6 ~@12 [g3,b3,d4,g4]@4 ~@2 [g3,b3,d4,g4]@5 ~@13 [f#3,a3,d4]@3 ~@3 [f#3,a3,d4]@4 ~@8 [a3,c#4,e4]@29 ~ [a3,c#4,e4]@4 ~@2 [a3,c#4,e4]@6 ~@12 [g3,b3,d4,g4]@3 ~@3 [g3,b3,d4,g4]@5 ~@12 [f#3,a3,d4]@4 ~@2 [f#3,a3,d4]@4 ~@8 [f#3,a3,d4]@27 ~@3 [a3,c#4,e4]@4 ~@2 [a3,c#4,e4]@6 ~@12 [g3,b3,d4,g4]@4 ~@2 [g3,b3,d4,g4]@5 ~@13 [f#3,a3,d4]@3 ~@3 [f#3,a3,d4]@4 ~@8 [a3,c#4,e4]@29 ~ [a3,c#4,e4]@4 ~@2 [a3,c#4,e4]@6 ~@12 [g3,b3,d4,g4]@2]/8", // G D A G D A G D …
  AC: "[~@4 [g3,b3,d4,g4]@5 ~@13 [f#3,a3,d4]@4 ~@2 [f#3,a3,d4]@4 ~@8 [f#3,a3,d4]@27 ~@3 [a3,c#4,e4]@4 ~@2 [a3,c#4,e4]@6 ~@12 [g3,b3,d4,g4]@4 ~@2 [g3,b3,d4,g4]@5 ~@13 [d4,f#4,a4]@9 ~@3 [d4,f#4,a4]@6 [a3,c#4,e4]@23 ~@7 [a3,c#4,e4]@4 ~@2 [a3,c#4,e4]@6 ~@12 [g3,b3,d4,g4]@2]/4", // G D A G D A G
  AD: "[~@4 [g3,b3,d4,g4]@5 ~@13 [f#3,a3,d4]@4 ~@2 [f#3,a3,d4]@4 ~@8 [f#3,a3,d4]@27 ~@3 [a3,c#4,e4]@4 ~@2 [a3,c#4,e4]@6 ~@12 [g3,b3,d4,g4]@4 ~@2 [g3,b3,d4,g4]@5 ~@13 [d4,f#4,a4]@8 ~@4 [b3,d4,f#4]@7 ~@5 [a2,c#3,e3]@47 ~ [a3,c#4,e4]@4 ~@2 [a3,c#4,e4]@6 ~@12 [g3,b3,d4,g4]@3 ~@3 [g3,b3,d4,g4]@5 ~@13 [f#3,a3,d4]@4 ~@2 [f#3,a3,d4]@4 ~@8 [f#3,a3,d4]@27 ~@3 [a3,c#4,e4]@2]/6", // G D A G D Bm A G …
  AE: "~@4 [a3,c#4,e4]@6 ~@12 [g3,b3,d4]@3 ~@3 [g3,b3,d4]@6 ~@12 [d4,f#4,a4]@2", // A G D
  AF: "~@4 [d4,f#4,a4]@5 ~@7 [d4,f#4,a4]@32", // D
})).s("gm_acoustic_guitar_steel").gain(0.3)

// chords · string ensemble 1
const string_ensemble_1 = note("<~@27 A@7 ~@5 B@3 ~ C@3 ~@16 D@6 ~@26>".pickRestart({
  A: "[~@47 d6@22 ~@2 g5@18 [a5,c#6,e6]@52 ~@2 d6@22 ~@2 g5@18 [a5,c#6,e6]@52 ~@2 d6@24 g5@16 ~@2 [a5,c#6,e6]@32 ~@23]/7", // A
  B: "[~@47 e5@24 g5@24 a4@47 ~@2]/3", C: "[~@47 e5@24 g5@24 d6@12 b5@12 a5@25]/3",
  D: "[~@23 d6@22 ~@2 g5@18 [a5,c#6,e6]@52 ~@2 d6@22 ~@2 g5@18 [a5,c#6,e6]@52 ~@2 d6@24 g5@16 ~@2 [a5,c#6,e6]@31]/6", // A
})).s("gm_string_ensemble_1").gain(0.1)

// chords · string ensemble 1 · soft notes
const string_ensemble_1_soft = note("<~@37 A@3 ~ A@3 ~@40 B@4 ~@6>".pickRestart({
  A: "[~@47 e6@24 c#6@11 ~ g5@11 ~@25 d5@22 ~@3, ~@95 a5@46 ~@3, ~@107 f#5@34 ~@3]/3",
  B: "[~@22 [a5,c#6,e6]@23 ~ [g5,b5,d6]@24 [d5,f#5,a5]@47 ~ [a5,c#6,e6]@23 ~ [g5,b5,d6]@23 ~ [d5,f#5,a5]@24 ~@2]/4", // A G D A G D
})).s("gm_string_ensemble_1").gain(0.05)

// chords · acoustic guitar steel
const acoustic_guitar_steel_2 = note(`<
  ~@4 A B@2 C@2 B@2 D A B@2 C@2 B@2 E F G H I J K@2 L@6 M ~@3 N@6 O@3 P@8 Q R S T U V W@4 X@2 Y@3 ~@11 Z AA@4 AB@4 ~@5
>`.pickRestart({
  A: "~@9 a4@11 ~@13 g4@12 ~@3, a3@20 ~@4 g3@19 ~@5, ~@3 c#4@17 ~@7 b3@15 ~@6, ~@2 e4@5 ~@3 d4@5 ~",
  B: "[~@30 a4@11 ~@16 a4@11 ~@13 g4@9 ~@6, d3@15 d3@31 ~@50, ~@3 f#3@15 [f#3,a3]@30 a3@20 ~@4 g3@17 ~@7, ~@6 a3@12 ~@24 e4@11 ~ e4@15 ~@9 d4@14 ~@4, ~@9 d4@12 d4@27 ~@3 c#4@18 ~@6 b3@16 ~@5]/2", // F#m
  C: "[~@9 d4@6 ~@3 c#4@15 ~@24 a4@11 ~@13 g4@12 ~@3, d3@17 ~@16 c#4@12 c#4@5 ~ c#4@17 ~@7 b3@15 ~@6, ~@3 f#3@13 ~@2 [e4,a4]@18 e4@6 e4@5 ~@7 e4@15 ~@9 d4@15 ~@3, ~@6 a3@9 a3@30 ~@3 a3@20 ~@4 g3@19 ~@5, ~@13 a4@2 ~@17]/2", // A5
  D: "~@3 d4@2 ~ c#4@5 ~@4 c#4, d3@17 ~@16 c#4@12 ~@3, ~@3 f#3@13 ~@2 [e4,a4]@18 e4@6 e4@5 ~, ~@2 a3@3 a3@10 ~, ~@13 a4@2 ~", // A5
  E: "[d4,f#4,a4]@7 ~@5 [b3,d4,f#4]@8 ~@4 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@4 ~@2 [a3,c#4,e4]@3 ~@3", // D Bm A
  F: "[a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@4 ~@8 [b2,d3,g3]@9 ~@3 [b2,d3,g3]@5 ~", // A G
  G: "~@6 [d3,f#3,a3]@8 ~@4 [d3,f#3,a3]@5 ~@7 [b2,d3,g3]@8 ~@4 [b2,d3,g3]@6", // D G
  H: "~@6 [a2,c#3,e3]@9 ~@3 [a2,c#3,e3]@5 ~@7 [b2,d3,g3]@8 ~@4 [b2,d3,g3]@5 ~", // A G
  I: "~@6 [d3,f#3,a3]@9 ~@3 [d3,f#3,a3]@5 ~@7 [b2,d3,g3]@9 ~@3 [b2,d3,g3]@5 ~", // D G
  J: "~@3 a2 ~@2 [a2,c#3,e3]@9 ~@3 [a2,c#3,e3]@6 ~@6 [b2,d3,g3]@9 ~@3 [b2,d3,g3]@6", // A G
  K: "[~@5 [d3,f#3,a3]@9 ~@3 [d3,f#3,a3]@5 ~@7 [b2,d3,g3]@9 ~@3 [b2,d3,g3]@5 ~ [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@2 ~@4 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]]/2", // D G A
  L: "[~@5 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@2 ~@4 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@4 ~@2 [d3,f#3,a3]@19 ~@5 [g3,b3,d4]@14 ~@4 [a3,c#4,e4]@33 ~@3 [a3,c#4,e4] ~@2 [a3,c#4,e4] ~@2 [a3,c#4,e4]@4 ~@2 [a3,c#4,e4]@4 ~@2 [d3,f#3,a3]@21 ~@3 [g3,b3,d4]@14 ~@4 [a3,c#4,e4]@33 ~@3 [a3,c#4,e4] ~@2 [a3,c#4,e4] ~@2 [a3,c#4,e4]@4 ~@2 [a3,c#4,e4]@3 ~@3 [d3,f#3,a3]@19 ~@5 [g3,b3,d4]@15 ~@3 [a3,c#4,e4]@7]/6", // A D G A D G A D …
  M: "~@5 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@4 ~@21", // A
  N: "[~@56 a4@11 ~@13 g4@12 ~@33 a4@11 ~@16 a4@11 ~@13 g4@9 ~@15 d4@6 ~@3 c#4@15 ~@24 a4@11 ~@13 g4@12 ~@3 d3, ~@47 a3@20 ~@4 g3@19 ~@5 d3@15 d3@31 ~@50 d3@17 ~@19 e4@6 e4@5 ~@7 e4@15 ~@9 d4@15 ~@4, ~@50 c#4@17 ~@7 b3@15 ~@9 f#3@15 [f#3,a3]@30 a3@20 ~@4 g3@17 ~@10 f#3@13 ~@17 c#4@12 c#4@5 ~ c#4@17 ~@7 b3@15 ~@7, ~@53 e4@15 ~@9 d4@15 ~@9 a3@12 ~@24 e4@11 ~ e4@15 ~@9 d4@14 ~@22 [e4,a4]@21 a4@6 ~@52, ~@104 d4@12 d4@27 ~@3 c#4@18 ~@6 b3@16 ~@11 a3@9 a3@30 ~@3 a3@20 ~@4 g3@19 ~@6]/6", // F#m A5
  O: "[~@29 a4@11 ~@16 a4@11 ~@13 g4@9 ~@6 [d4,f#4,a4]@7 ~@5 [b3,d4,f#4]@7 ~@5 [a3,c#4,e4]@9 ~@3 [a3,c#4,e4]@7 ~@2 [a3,c#4,e4] ~@2 [a3,c#4,e4], ~@2 f#3@12 d3@31 ~@99, ~@5 a3@12 [f#3,a3]@30 a3@20 ~@4 g3@17 ~@56, ~@8 d4@12 d4@27 ~@3 c#4@18 ~@6 b3@16 ~@54, ~@41 e4@11 ~ e4@15 ~@9 d4@14 ~@53]/3", // D Bm A F#m
  P: "[~@32 a4@11 ~@13 g4@12 ~@33 a4@11 ~@16 a4@11 ~@13 g4@9 ~@15 d4@6 ~@3 [c#4,e4,a4]@29 ~@10 a4@11 ~@13 g4@12 ~@33 a4@11 ~@16 a4@11 ~@13 g4@9 ~@6 [d4,f#4,a4]@7 ~@5 [b3,d4,f#4]@8 ~@4 [a3,c#4,e4], ~@23 a3@20 ~@4 g3@19 ~@5 d3@15 d3@31 ~@50 d3@17 ~@79 d3@15 d3@31 ~@75, ~@26 c#4@17 ~@7 b3@15 ~@9 f#3@15 [f#3,a3]@30 a3@20 ~@4 g3@17 ~@10 f#3@13 ~@38 e4@15 ~@9 d4@15 ~@12 d4@12 d4@27 ~@3 c#4@18 ~@6 b3@16 ~@30, ~@29 e4@15 ~@9 d4@15 ~@9 a3@12 ~@24 e4@11 ~ e4@15 ~@9 d4@14 ~@55 c#4@17 ~@7 b3@15 ~@12 a3@12 ~@24 e4@11 ~ e4@15 ~@9 d4@14 ~@29, ~@80 d4@12 d4@27 ~@3 c#4@18 ~@6 b3@16 ~@11 a3@9 a3@30 ~@3 a3@20 ~@4 g3@19 ~@8 f#3@15 [f#3,a3]@30 a3@20 ~@4 g3@17 ~@32]/8", // A D Bm A F#m
  Q: "~@5 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@4 ~@2 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@4 ~@3", // A
  R: "~@5 [b2,d3,g3]@9 ~@3 [b2,d3,g3]@5 ~@7 [d3,f#3,a3]@8 ~@4 [d3,f#3,a3]@5 ~@2", // G D
  S: "~@5 [b2,d3,g3]@8 ~@4 [b2,d3,g3]@6 ~@6 [a2,c#3,e3]@9 ~@3 [a2,c#3,e3]@5 ~@2", // G A
  T: "~@5 [b2,d3,g3]@8 ~@4 [b2,d3,g3]@5 ~@7 [d3,f#3,a3]@9 ~@3 [d3,f#3,a3]@5 ~@2", // G D
  U: "~@5 [b2,d3,g3]@9 ~@3 [b2,d3,g3]@5 ~@4 a2 ~@2 [a2,c#3,e3]@9 ~@3 [a2,c#3,e3]@6 ~", // G A
  V: "~@5 [b2,d3,g3]@9 ~@3 [b2,d3,g3]@6 ~@6 [d3,f#3,a3]@9 ~@3 [d3,f#3,a3]@5 ~@2", // G D
  W: "[~@5 [b2,d3,g3]@9 ~@3 [b2,d3,g3]@5 ~ [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@2 ~@4 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@2 ~@4 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@4 ~@2 [d3,f#3,a3]@19 ~@5 [g3,b3,d4]@14 ~@4 [a3,c#4,e4]@31]/4", // G A D G A
  X: "[~@5 [a3,c#4,e4] ~@2 [a3,c#4,e4] ~@2 [a3,c#4,e4]@4 ~@2 [a3,c#4,e4]@4 ~@2 [d3,f#3,a3]@21 ~@3 [g3,b3,d4]@14 ~@4 [a3,c#4,e4]@31]/2", // A D G A
  Y: "[~@5 [a3,c#4,e4] ~@2 [a3,c#4,e4] ~@2 [a3,c#4,e4]@4 ~@2 [a3,c#4,e4]@3 ~@3 [d3,f#3,a3]@19 ~@5 [g3,b3,d4]@15 ~@3 [a3,c#4,e4]@10 ~@2 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@4 ~@45]/3", // A D G A
  Z: "~@11 [a3,c#4,e4]@2 ~ [a3,c#4,e4]@3 ~@6 [g3,b3,d4,g4]", // A G
  AA: "[~@4 [g3,b3,d4,g4]@5 ~@13 [f#3,a3,d4]@4 ~@2 [f#3,a3,d4]@4 ~@8 [f#3,a3,d4]@27 ~@3 [a3,c#4,e4]@4 ~@2 [a3,c#4,e4]@6 ~@12 [g3,b3,d4,g4]@4 ~@2 [g3,b3,d4,g4]@5 ~@13 [d4,f#4,a4]@9 ~@3 [d4,f#4,a4]@6 [a3,c#4,e4]@23 ~@7 [a3,c#4,e4]@4 ~@2 [a3,c#4,e4]@6 ~@12 [g3,b3,d4,g4]@2]/4", // G D A G D A G
  AB: "[~@4 [g3,b3,d4,g4]@5 ~@13 [f#3,a3,d4]@4 ~@2 [f#3,a3,d4]@4 ~@8 [f#3,a3,d4]@27 ~@3 [a3,c#4,e4]@4 ~@2 [a3,c#4,e4]@6 ~@12 [g3,b3,d4,g4]@4 ~@2 [g3,b3,d4,g4]@5 ~@13 [d4,f#4,a4]@8 ~@4 [b3,d4,f#4]@8 ~@4 [a2,c#4,e4]@44 ~@6]/4", // G D A G D Bm A
})).s("gm_acoustic_guitar_steel").gain(0.42)

// chords · epiano2
const epiano2 = note(`<
  ~@4 A B C D A E F D A B C G A E H I@2 J@3 K L@8 M ~@3 N@5 O@4 P@5 Q@4 R@5 S@8 ~@14 T@2 U V@2 W@2 ~@5
>`.pickRestart({
  A: "[a3,c#4,e4] ~ [a3,c#4,e4]@5 ~ [g3,b3,d4] ~ [g3,b3,d4]@5 ~", // A G
  B: "[f#3,a3,d4]@3 ~@3 [f#3,a3,d4]@6 ~@6 [f#3,a3,d4]@25 ~@5", // D
  C: "[a3,c#4,e4]@4 ~@2 [a3,c#4,e4]@15 ~@3 [g3,b3,d4]@6 ~@6 g4@9 [c#4,e4]@3, ~@5 [g3,b3,d4]@2 ~", // A G C#m G
  D: "[d4,f#4]@6 [c#4,e4]@6 [b3,d4]@3 ~@3 [a3,c#4]@28 ~@2", E: "[f#3,a3,d4]@4 ~@2 [f#3,a3,d4]@5 ~@7 [f#3,a3,d4]@23 ~@7",
  F: "[a3,c#4,e4] ~ [a3,c#4,e4]@5 ~ [g3,b3,d4]@2 ~@2 g4@3 [c#4,e4], ~@5 [g3,b3,d4]@2 ~", // A G C#m G
  G: "[d4,f#4]@3 [c#4,e4]@3 b3@3 [a3,c#4]@14 ~, ~@4 d4 ~@11", // D C#m A
  H: "[a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@15 ~@3 [g3,b3,d4]@6 ~@6 g4@10 ~@2, ~@5 [g3,b3,d4]@2 ~", // A G
  I: "[[d4,f#4,a4]@8 ~@4 [b3,d4,f#4]@8 ~@4 e4@27 ~@3 a4@6 [a4,c#5]@10 ~@8 f#4 ~@2 f#4 ~@2 f#4@6 a4@2 ~@4, ~@12 [a3,c#4]@23 ~@13, ~@27 e4@8 ~@13]/2", // D Bm A
  J: "[a4@2 ~@4 a4@6 f#4@12 d4@3 ~@3 b4@12 a4@18 f#4@6 e4@5 ~ [f#4,a4]@3 [g4,b4]@3 [f#4,a4]@3 f#4@3 f#4@3 f#4@3 a4@3 ~@3 a4@2 ~@4 a4@6 f#4@11 ~ d4@3 ~@3 d4@2 ~ b4@6 ~@3 b4@6, ~@27 d4@7 ~@14]/3", // F#m G F#m
  K: "a4@11 ~ g4@6 f#4@4 ~@2 [f#4,a4]@3 [g4,b4]@3 [f#4,a4]@3 f#4@3 f#4@3 ~@3 a4@2 ~@4, ~@11 d4@5, ~@13 f#4@3", // F#m G F#m
  L: "[a4@2 ~@3 a4@6 f#4@9 ~@3 d4@3 b4@6 ~@3 b4 ~@5 b4@3 ~@3 [e4,f#4]@3 ~@3 f#4@3 e4@3 [e4,f#4]@3 ~@3 f#4@3 e4@3 e4@3 e4@3 [e4,f#4]@3 e4@3 [e4,f#4]@3 ~@3 f#4@3 e4@3 [e4,f#4]@3 ~@3 f#4@3 e4@3 [e4,f#4]@3 ~@3 f#4@3 e4@3 [e4,f#4]@3 e4@3 [e4,f#4]@3 e4@3 ~@3 e4@3 f#4@3 e4@3 [d4,f#4,a4]@17 ~@7 [g3,b3,d4]@15 ~@3 e4@20 ~@4 e4@6 a4@6 e4@13 ~@5 [d4,f#4,a4]@16 ~@8 [g3,b3,d4]@14 ~@4 e4@21 ~@3 e4@6 a4@6 e4@15 ~@3 [d4,f#4,a4]@17 ~@7 [g3,b3,d4]@14 ~@4 [a3,c#4,e4]@7, ~@44 a4@23 ~@58 g4@6 a4@10 ~@243, ~@47 [a3,c#4]@8 ~@4 [a3,c#4]@9 ~@3 [a3,c#4,f#4]@8 ~@4 [a3,c#4]@8 ~@4 [a3,c#4]@8 ~@4 [a3,c#4]@9 ~@3 [a3,c#4]@6 ~@60 [a3,c#4]@49 ~@47 [a3,c#4]@50 ~@53, ~@50 e4@5 ~@7 e4@6 ~@18 e4@6 ~@6 e4@6 ~@6 e4@6 ~@15 f#4@6 ~@247]/8", // Esus2 D G D G D G A …
  M: "~@5 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@3 ~@9 a4@3 ~@22, ~@17 [a3,c#4,e4]@10 ~@21", // A
  N: "[~@47 [b4,d5]@3 [a4,c#5]@19 ~@2 [a4,c#5]@3 [g4,b4]@21 ~@24 f#4@20 ~@4 [a4,c#5,e5]@19 ~@5 [g4,b4,d5]@19 ~@5 [d4,f#4,a4]@11 ~@7 [a3,c#4,e4]@27 ~@3 [b4,d5], ~@95 d5@43 ~@102, ~@107 a4@32 ~@101]/5", // Bm A G A G D A Bm
  O: "[~@2 [a4,c#5]@19 ~@2 [a4,c#5]@3 [g4,b4]@21 ~@24 f#4@20 ~@4 [a4,c#5,e5]@19 ~@5 [g4,b4,d5]@19 ~@5 [d5,f#5,a5]@7 ~@5 [b4,d5,f#5]@8 ~@4 [a4,c#5,e5]@25, ~@47 d5@43 ~@102, ~@59 a4@32 ~@101]/4", // A G A G D Bm A
  P: "[~@23 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@15 ~@3 [g3,b3,d4]@3 ~@3 [g3,b3,d4]@15 ~@3 [f#3,a3,d4]@3 ~@3 [f#3,a3,d4]@6 ~@6 [f#3,a3,d4]@25 ~@5 [a3,c#4,e4]@4 ~@2 [a3,c#4,e4]@15 ~@3 [g3,b3,d4]@6 ~@6 g4@9 [c#4,e4]@3 [d4,f#4]@6 [c#4,e4]@6 b3@6 [a3,c#4]@12 ~@18 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@15 ~@3 [g3,b3,d4], ~@149 [g3,b3,d4]@12 ~@18 d4@3 ~@58]/5", // A G D A G C#m D C#m …
  Q: "[~@5 [g3,b3,d4]@15 ~@3 [f#3,a3,d4]@4 ~@2 [f#3,a3,d4]@5 ~@7 [f#3,a3,d4]@23 ~@7 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@15 ~@3 [g3,b3,d4]@6 ~@6 g4@10 ~@2 [d4,f#4,a4]@8 ~@4 [b3,d4,f#4]@8 ~@4 e4@27 ~@3 a4@6 [a4,c#5]@10 ~@3, ~@101 [g3,b3,d4]@12 ~@30 [a3,c#4]@46 ~@3, ~@173 e4@16 ~@3]/4", // G D A G D Bm A G …
  R: "[~@5 f#4 ~@2 f#4 ~@2 f#4@6 a4@2 ~@4 a4@2 ~@4 a4@6 f#4@12 d4@3 ~@3 b4@12 a4@18 f#4@6 e4@5 ~ [f#4,a4]@3 [g4,b4]@3 [f#4,a4]@3 f#4@3 f#4@3 f#4@3 a4@3 ~@3 a4@2 ~@4 a4@6 f#4@11 ~ d4@3 ~@3 d4@2 ~ b4@6 ~@3 b4@6 a4@11 ~ g4@6 f#4@4 ~@2 [f#4,a4]@3 [g4,b4]@3 [f#4,a4]@3 f#4@3 f#4@3 ~@3 a4@2 ~@4 a4@2 ~@4 a4@6 f#4@9 ~@3 d4, ~@104 d4@21 ~@75 d4@26 ~@14, ~@103 f#4@6 ~@11]/5", // F#m G F#m G F#m
  S: "[~@2 b4@6 ~@3 b4 ~@5 b4@3 ~@3 [e4,f#4]@3 ~@3 f#4@3 e4@3 [e4,f#4]@3 ~@3 f#4@3 e4@3 e4@3 e4@3 [e4,f#4]@3 e4@3 [e4,f#4]@3 ~@3 f#4@3 e4@3 [e4,f#4]@3 ~@3 f#4@3 e4@3 [e4,f#4]@3 ~@3 f#4@3 e4@3 [e4,f#4]@3 e4@3 [e4,f#4]@3 e4@3 ~@3 e4@3 f#4@3 e4@3 [d4,f#4,a4]@17 ~@7 [g3,b3,d4]@15 ~@3 e4@20 ~@4 e4@6 a4@6 e4@13 ~@5 [d4,f#4,a4]@16 ~@8 [g3,b3,d4]@14 ~@4 e4@21 ~@3 e4@6 a4@6 e4@15 ~@3 [d4,f#4,a4]@17 ~@7 [g3,b3,d4]@14 ~@4 [a3,c#4,e4]@10 ~@2 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@3 ~@3 [a3,c#4,e4]@6 a4, ~@20 a4@23 ~@58 g4@6 a4@10 ~@267, ~@23 [a3,c#4]@8 ~@4 [a3,c#4]@9 ~@3 [a3,c#4,f#4]@8 ~@4 [a3,c#4]@8 ~@4 [a3,c#4]@8 ~@4 [a3,c#4]@9 ~@3 [a3,c#4]@6 ~@60 [a3,c#4]@49 ~@47 [a3,c#4]@50 ~@77, ~@26 e4@5 ~@7 e4@6 ~@18 e4@6 ~@6 e4@6 ~@6 e4@6 ~@15 f#4@6 ~@271]/8", // Esus2 D G D G D G A …
  T: "[~@4 [d5,f#5]@5 ~ [e5,g5]@3 [d5,f#5]@9 [c#5,e5]@22 ~@2 a4@3 b4@12 ~@35]/2", // D Em D C#m
  U: "~@22 [f#4,b4]@2 ~ [a4,c#5]@16 ~@5 [e4,a4]@2", // B5 A A5
  V: "[~ [g4,b4]@14 ~@7 [d4,g4]@3 [f#4,a4]@12 ~@3 [d4,f#4,a4]@23 ~@7 b4@3 c#5@12 ~@9 [e4,a4]@2]/2", // G G5 F#m D A5
  W: "[~ [g4,b4]@13 ~@8 a4@10 ~@2 a4@9 ~@3 a4@43 ~@7]/2", // G
})).s("gm_epiano2").gain(0.3)

// other · overdriven guitar
const overdriven_guitar = note("<~@74 A B@2 C@2 D E ~@13>".pickRestart({
  A: "~@5 c#5@3 a5@2 ~ c#5@6 b4@3 a4@9 f#4@6 ~@13", B: "[~@47 f#5@3 e5 ~@2 e5@3 d5 ~@2 d5@3 b4@2 ~ f#5@6 ~@25]/2",
  C: "[~@46 f#5@3 e5@5 ~@4 d5@4 ~@2 b4@3 a4@7 ~@2 f#4@7 ~@13]/2", D: "~@23 f#5",
  E: "~ e5 ~@2 e5@3 d5 ~@2 d5@3 f#5@6 ~@3 a5@19 ~@7",
})).s("gm_overdriven_guitar").gain(0.28)

// chords · pad poly
const pad_poly = note(`<
  ~@3 A@2 B C D E F G H@2 I J K L M N O@2 P@2 Q R S@5 T@5 U ~ V@8 W X Y Z@4 AA@3 AB@2 AC@2 AD AE@8 AF@2 AG@2 ~@8 AH@2
  AI@4 AJ AK@3 ~@4
>`.pickRestart({
  A: "[~@30 a4@3 ~@3 a4@4 ~@2 a4@3 c#5@12 ~@3 c#5@6 d5 ~@2 d5@8 ~ d5@3 b4 ~@2 b4 ~@2 b4 ~@2 b4@3 a4 ~@2]/2",
  B: "a4@18 ~@18 a4@4 ~@2 a4@3 c#5 ~@2", C: "c#5@12 ~@9 d5 ~@2 d5@7 ~@2 d5@3 b4@3 a4@3 g4@6",
  D: "a4@26 ~@13 a4 ~@2 a4@6", E: "c#5@4 ~@2 c#5@3 ~@3 c#5@5 ~ d5 ~@2 d5@12 ~@3 b4@8 ~ c#5@3",
  F: "b4@5 ~ a4@10 ~@26 a4 ~@2 a4@3", G: "c#5@4 ~@2 c#5@3 d5 ~@2 d5@13 ~@5 d5@5 ~ b4@3 a4@3 g4@6",
  H: "[a4@20 ~@16 a4@3 ~@3 a4@3 c#5@12 ~@3 c#5@6 d5@2 ~@4 d5 ~@2 d5 ~@2 d5@9 b4 ~@2 b4@3 c#5@3]/2",
  I: "b4@6 a4@11 ~@22 a4 ~@2 a4@6", J: "c#5@3 ~@3 c#5 ~@2 c#5@7 ~@2 c#5 ~@2 c#5@2 ~ d5 ~@2 d5@3 b4@16 ~@2",
  K: "[d4,f#4,a4]@4 ~@2 [d4,f#4,a4]@3 [f#4,b4,d5]@7 ~@2 [f#4,b4,d5]@6 [e4,a4]@13 ~@5 a4 ~@2 a4@3, ~@8 c#5@3 ~@5", // D Bm A5
  L: "c#5@3 ~@3 c#5 ~@2 c#5@6 d5@7 ~@2 d5 ~@2 d5 ~@2 d5@6 b4 ~@2 b4@6 c#5@3", M: "b4@6 a4@9 ~@24 a4 ~@2 a4 ~@2 a4@3",
  N: "c#5@4 ~@2 c#5@3 ~@3 c#5@6 ~@3 c#5@3 d5@2 ~ d5 ~@2 d5@9 ~@3 [f#4,d5]@4 ~@2", // D
  O: "[f#4@4 ~@2 [f#4,d5]@3 ~@3 [f#4,d5]@6 [a4,e5] ~@2 [a4,e5]@34 ~@2 c#5@6 b4@2 ~ a4@6 ~@6 [f#4,b4] ~@2 [f#4,b4] ~@2 [f#4,b4]@6 [a4,d5]@3 ~@3, d5 ~@47]/2", // D A5 B5 D5
  P: "[[a4,d5]@2 ~@4 [a4,d5]@6 [f#4,b4]@12 [d4,g4]@2 ~@4 [b4,d5]@12 [a4,c#5]@18 [f#4,b4]@6 [e4,a4]@7 ~@11 [f#4,b4] ~@2 [f#4,b4]@3 [a4,d5]@3 ~@3]/2", // D5 B5 G5 Bm A B5 A5 B5 …
  Q: "[a4,d5]@3 ~@3 [a4,d5]@6 [f#4,b4]@12 [d4,g4]@4 ~@2 g4@3 [b4,d5]@6 ~@3 [b4,d5]@6, ~@15 d4 ~@8", // D5 B5 G5 Bm
  R: "[a4,c#5]@12 [f#4,b4]@5 ~ [e4,a4]@6 ~@6 b4@3 f#4 ~@2 [f#4,b4] ~@2 [f#4,b4]@3 [a4,d5]@3 ~@3, ~@30 f#4 ~@17", // A B5 A5 B5 D5
  S: "[[a4,d5]@3 ~@2 [a4,d5]@6 [f#4,b4]@12 [d4,g4]@3 [b4,d5]@7 ~@2 [b4,d5]@4 ~@2 [b4,d5]@3 [a4,c#5]@27 [f#4,b4]@6 [e4,a4]@39 ~@3 [f#4,b4,d5]@3 ~@3 [f#4,b4,d5]@3 ~@3 [f#4,b4,d5]@6 [a4,f#5]@6 [b4,d5,g5]@12 [a4,d5,f#5]@6 [g4,b4,e5]@18 [f#4,b4,d5]@3 [c#5,e5] ~@2 [a4,c#5,e5]@34 ~@20 [b4,d5,g5], ~@137 d5@4 ~@41 a4@2 ~@56]/5", // D5 B5 G5 Bm A B5 A5 Bm …
  T: "[~@5 [b4,g5]@6 [a4,d5,f#5]@3 ~@3 [a4,d5,f#5]@6 [g4,b4,e5]@6 [f#4,d5]@3 [a4,e5]@6 ~@3 [a4,c#5,e5]@35 ~@13 [f#4,b4,d5]@6 [b4,g5]@12 [a4,d5,f#5]@12 [g4,e5]@6 [f#4,d5]@3 [a4,e5]@7 ~@2 [a4,c#5,e5]@33 ~@3 a4 ~@2 a4 ~@2 a4 ~@2 a4 ~@2 c#5@12 d5@17 ~@26, ~@5 d5@3 ~@21 b4@12 ~@54 d5@9 ~@15 b4@3 ~@3 b4@13 ~@102]/5", // Em D Em D A5 A Bm Em …
  U: "~@35 a4@13",
  V: "[~@35 [c#4,a4]@7 ~@2 [c#4,a4]@3 [e4,c#5]@7 ~@2 [e4,c#5] ~@2 [e4,c#5]@3 [g4,d5]@8 ~ [g4,d5]@11 ~ [d4,b4]@9 c#5@3 [e4,b4]@6 [d4,a4]@12 ~@27 [c#4,a4]@3 [e4,c#5]@3 ~@3 [e4,c#5] ~@2 [e4,c#5]@9 [g4,d5]@4 ~@2 [g4,d5]@6 ~@3 [g4,d5]@3 [e4,b4]@3 a4@3 [c#4,g4]@6 a4@22 ~@20 [c#4,a4] ~@2 [c#4,a4]@3 [e4,c#5]@4 ~@2 [e4,c#5] ~@2 [e4,c#5]@6 [g4,d5]@7 ~@2 g4@2 ~ [g4,d5]@9 [d4,b4]@9 c#5@3 [e4,b4]@6 [d4,a4]@11 ~@19 [c#4,a4] ~@2 [c#4,a4] ~@2 [c#4,a4]@6 [e4,c#5]@9 ~@3 [e4,c#5]@9 c#5@3 d5@2 ~ [g4,d5]@15 ~@3 g4@3 [f#4,a4,d5], ~@92 e4 ~@89 d4@2 ~@7 d4@16 ~@56 d5 ~@20 e4 ~@71 g4 ~@2 g4 ~@20 d5 ~@3]/8", // F#m C#m G5 G E5 D5 F#m C#m …
  W: "~@2 [f#4,a4,d5] ~@2 [f#4,a4,d5] ~@2 [f#4,a4,d5] ~@2 [f#4,a4,d5]@3 [a4,c#5,e5]@8 ~ [a4,c#5,e5]@25", // D A
  X: "~@5 a4@7 ~@2 a4@8 ~ c#5@4 ~@2 c#5@3 ~@3 c#5@9 d5 ~@2 d5", Y: "~@2 d5@5 ~ d5@3 b4@4 ~@2 b4@3 c#5@3 b4@6 a4@11 ~@8",
  Z: "[~@11 a4@3 ~@3 a4@6 c#5@9 ~@3 c#5@7 ~@2 c#5@3 d5@4 ~@2 d5@3 b4@6 a4@3 g4@4 ~@2 [d4,f#4,a4]@5 ~ [d4,f#4,a4] ~@2 [d4,f#4,a4]@3 [f#4,b4,d5]@5 ~ [f#4,b4,d5]@3 [e4,a4,c#5]@8 ~ a4@3 ~@3 a4@3 ~@3 a4@6 c#5@7 ~@11 d5@4 ~@2 d5@3 ~@3 d5@3 b4@5 ~ b4@6 c#5@3 b4@6 a4@11 ~@8]/4", // D Bm A
  AA: "[~@14 a4 ~@2 a4@6 c#5@4 ~@2 c#5@3 ~@3 c#5@3 d5@7 ~@2 d5@14 ~@4 [f#4,b4,d5]@4 ~@2 [f#4,b4,d5]@4 ~@2 [f#4,b4,d5]@4 ~@2 [f#4,b4,d5]@3 [a4,c#5,e5]@8 ~ [a4,c#5,e5]@32 ~ c#5@6 b4@2 ~ a4@6 ~]/3", // Bm A
  AB: "[~@5 [f#4,b4] ~@2 [f#4,b4] ~@2 [f#4,b4]@6 [a4,d5]@2 ~@4 [a4,d5]@3 ~@3 [a4,d5]@6 [f#4,b4]@12 [d4,g4]@2 ~@4 [b4,d5]@12 [a4,c#5]@18 [f#4,b4]@6 [e4,a4]@6 ~]/2", // B5 D5 B5 G5 Bm A B5 A5
  AC: "[~@11 [f#4,b4] ~@2 [f#4,b4]@3 [a4,d5]@3 ~@3 [a4,d5]@3 ~@3 [a4,d5]@6 [f#4,b4]@11 ~ g4@6 d4@3 [b4,d5]@7 ~@2 [b4,d5]@6 [a4,c#5]@12 [f#4,b4]@5 ~ [e4,a4]@6 ~, ~@47 d4@3 ~@3 d5 ~@42]/2", // B5 D5 B5 Bm A B5 A5
  AD: "~@5 [f#4,b4] ~@2 [f#4,b4] ~@2 [f#4,b4] ~@2 [f#4,b4]@3 [a4,d5]@3 ~@3 [a4,d5]@3 ~@3 [a4,d5]@6 [f#4,b4]@11 ~ [d4,g4]", // B5 D5 B5 G5
  AE: "[~@2 [b4,d5]@6 ~@3 [b4,d5]@4 ~@2 [b4,d5]@3 [a4,c#5]@27 [f#4,b4]@5 ~ [e4,a4]@37 ~@5 [f#4,b4,d5]@3 ~@3 [f#4,b4,d5]@4 ~@2 [f#4,b4,d5]@6 [a4,f#5]@6 [b4,d5,g5]@12 [a4,d5,f#5]@6 [g4,b4,e5]@18 [f#4,b4,d5]@3 [a4,c#5,e5] ~@2 [a4,c#5,e5]@35 ~@19 [b4,d5,g5]@3 ~@3 [b4,g5]@6 [a4,d5,f#5]@4 ~@2 [a4,d5,f#5]@6 [g4,e5]@6 [f#4,d5]@3 [a4,e5]@7 ~@2 [a4,c#5,e5]@35 ~@13 [f#4,b4,d5]@6 [b4,d5,g5]@12 [a4,d5,f#5]@12 [g4,b4,e5]@6 [f#4,d5]@3 [a4,e5]@7 ~@2 [a4,c#5,e5]@31, ~@113 d5@4 ~@104 d5@3 ~@15 b4@3 ~@3 b4@12 ~@84 b4@11 ~@32]/8", // Bm A B5 A5 Bm D G D …
  AF: "[~@5 a4 ~@2 a4 ~@2 a4 ~@2 a4@2 ~ c#5@12 d5@24 ~@43]/2",
  AG: "[~@5 f#4@3 a4@3 b4@15 c#5@3 b4@3 a4@2 ~ a4@20 ~@41]/2",
  AH: "[~@10 a4@8 ~ a4@3 c#5@4 ~@2 c#5@3 ~@3 c#5@9 d5 ~@2 d5@12 b4@9 c#5@3 b4@5 ~ a4@10 ~@10]/2",
  AI: "[~@16 a4 ~@2 a4@3 c#5 ~@2 c#5@8 ~ d5@6 ~@3 d5@3 b4@7 ~@8 d5 ~@2 d5 ~@2 d5 ~@2 d5 ~@2 d5 ~@2 d5@5 ~ d5@6 e5 ~@2 e5@13 ~@20 c#5@3 ~@3 c#5@6 d5 ~@2 d5@13 ~@2 b4@9 c#5@3 b4@6 a4@8 ~@12, ~@82 e5@3 ~@107]/4",
// … 167 more lines

More by Crosby, Stills & Nash