Strudelify
Your Song cover art

1970 · Elton John

Your Song

Elton John

KeyE♭ majorTempo62 bpm
0:00/0:00
// Your Song — John Elton
// 62 bpm, 4/4, key D# 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 64 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: The whole transcription plays 34 ms behind the beat; the grid follows it, so its parts stay together.
setcpm(62/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once · [...]/2 spreads a riff over 2 bars.
// A part's distinct bars are riffs (A, B, C...) played in order, A@4 for four bars: edit a riff to change every repeat.

// chords · piano
const piano = note("<A@6 B@3 C D@5 E@8 F@3 G H@5 I J K L@8 M@7 N@5 O@4 P@2 Q@3>".pickRestart({
  A: "[~@51 eb3@4 ~@4 bb4@2 ~@8 eb2@2 ~@6 c4@4 ~@4 eb3@2 ~@2 eb3@4 ~@8 eb2@2 c4@4 c4@2 ~@4 c4@2 ab2@2 [ab2,g4]@2 bb3@4 ~@10 d2@2 [g3,d4]@4 ~@2 d4@4 ~@4 g3@2 ~@14 g4@2 ~@14 eb4@2 c4@4 ~@2 c4@2 a2, ~@23 eb2@10 g5@2 eb5@10 ab4@10 ~@12 eb3@10 ab4@6 eb2@4 [eb2,eb4]@12 bb3@4 ab3@8 ab3@8 d3@10 [f3,d4]@6 ~@4 g3@6 g3@4 ~@2 [g3,eb4]@10 [g3,c4]@6 ~@4 g3@6 g3@6 ~@4 g3@5, ~@23 g4@4 g4@12 eb2@14 ~@2 [eb2,c5]@12 [d4,bb4]@4 eb2@10 c4@6 g3@8 eb3@6 eb4@8 eb4@6 [c4,eb4]@4 ~@4 f3@4 d2@6 ~@2 g2@12 [g2,d4]@4 ~@4 c4@4 c3@8 ~@2 bb2@10 [bb2,c4]@4 [a2,g4]@9, ~@25 eb3@16 eb3@8 eb5@6 ~@2 d5@8 d5@6 ~@2 eb4@14 bb3@4 ~@2 bb3@4 g3@6 [ab2,g4]@14 ~@8 bb3@6 [d3,bb3]@4 ~@16 c3@6 c2@6 [c2,eb4]@4 [bb1,g4]@16 ~@9, ~@29 bb4@10 ab4@4 [eb4,c5]@12 f4@6 [f4,f5]@10 [c4,ab4]@4 c5@12 ~@6 g4@10 ~@16 f4@16 ~@6 g4@10 d4@16 c4@6 [c4,eb4]@8 ~@11]/6", // Abmaj7 G5 Eb Dm Cm C5 Cm Gm …
  B: "[~@5 eb4@2 ab3@4 ab3@2 ~@8 eb4@2 [g3,bb3]@6 bb3@2 ~@6 eb4@2 d4@2 bb3@4 bb3@4 ~@4 bb2@2 ~@20 c4@2 ~@8 eb4@2 bb3@2 ~@4 bb3@2 eb4, ~ [g3,eb4]@6 [ab2,c4]@6 c4@4 ab3@6 ~@8 bb3@4 bb3@4 ~@12 bb3@4 b2@4 g4@2 b1@6 g4@4 eb4@6 g4@6 [c3,c4]@4 ~@4 eb3@5, ~@3 c4@4 eb4@12 c4@4 ~@8 g4@8 ~@6 f4@10 ~@4 b3@10 b2@18 [eb2,eb4]@9, ~@15 ab2@8 [bb2,eb4]@16 bb2@14 d4@10 b2@2 [d4,d5]@6 c5@16 ~@9, ~@33 g3@6 f3@10 f3@6 g3@16 c3@6 c4@2 eb4@2 g3@6 g3 ~@8]/3", // Gm Cm Ab C Eb Eb5 D
  C: "~@3 eb3@2 eb3@2 [c4,eb4]@4 ~@10 ab4@2 [ab3,c4]@4 ~@2 c4@2 [ab3,eb4], ~ [bb3,eb4,bb4]@6 [f2,ab4]@12 [f2,eb4]@4 [ab2,eb4]@9, ~@11 c4@4 f3@8 ~@4 ab3@4 ~, ~@13 c5@10 ~@9, ~@13 eb4@4 c4@6 ~@9", // Cm Ab Ab5 Eb5 Fm F7 Ab5
  D: "[~@5 c4@2 f3@4 ~@10 f3@2 [bb3,eb4]@6 ~@8 d4@2 ~@6 eb4@2 ~@6 bb4@2 eb4@2 ~@12 ab2@2 ~@30 bb4@2 [eb4,c5]@2 ~@44 g4@2 eb4@4 c4@2 eb4@2 f3, ~ c4@4 ~@2 d4@12 d4@4 ~@6 eb4@10 g4@10 bb3@6 [ab3,c5]@8 ab2@4 [ab3,eb5]@4 [d3,bb4]@8 f4@4 d5@8 d4@2 g4@4 [d4,bb4]@6 ~@4 [eb4,g4]@6 eb4@4 c5@12 [c5,g5]@2 g3@6 g3@10 eb4@4 ~@9, ~@3 [ab2,ab3]@4 [bb2,bb3]@6 bb3@4 [bb3,f4]@6 ~@8 d4@4 bb3@4 [bb3,eb4]@6 ~@2 [eb4,bb4]@8 ~@4 eb4@12 f4@6 d4@6 [d3,f4]@4 [g3,bb4]@8 g3@8 ~@6 g3@8 eb4@4 eb4@12 [g4,c5]@6 eb4@2 g4@4 c4@6 ~@9, ~@11 f3@10 ~@2 f3@2 ~@4 [f3,bb3]@4 f3@6 ~@2 eb3@10 g4@4 ~@6 g4@10 ~@4 d5@6 bb4@4 g4@8 d5@10 ~@8 c4@8 ~@2 g4@2 g3@2 [g4,eb5]@10 ~@4 c5@12 ~@9, ~@15 bb2@8 bb2@16 eb2@16 ~@6 eb5@4 [c5,g5]@6 f5@16 d4@2 g2@10 [g2,g4]@4 c3@12 [c3,g4]@4 bb2@16 [a2,eb5]@16 ab2@9]/5", // Eb5 Cm Ab Ab5 Gm Eb C5 Ab …
  E: "[~ c4@2 ~@2 ab2@2 [bb3,eb4]@4 ~@10 eb4@2 d4@2 ~@12 [d4,bb4]@2 ~@30 c5@2 eb4@4 ~@16 c4@2 ~@10 [ab2,c4]@6 ~@6 c4@2 eb4@2 ~@12 [eb2,g3]@4 [ab3,eb4]@4 ab3@2 ~@8 eb4@2 f4@4 ~@16 g4@2 ~@8 c5@2 [eb4,ab4]@4 ~@26 c5@2 f4@4 ~@6 bb4@2 ~@8 g4@2 ~@16 ab4@3, ~@3 [c4,eb4,ab4]@4 [g2,g4]@16 [bb2,f4]@10 d4@4 ~@8 d4@8 [d5,g5]@12 eb4@2 g4@4 ~@6 eb4@4 ~@4 [c4,eb4]@8 ab4@4 c4@2 eb4@10 [c4,eb4]@2 ab2@7 ~@5 eb3@12 eb2@16 ~@6 bb4@6 bb4@4 ~@2 eb4@4 g4@2 c4@8 ~@8 f2@8 ab2@10 eb4@6 ~@4 d4@6 d4@4 eb4@4 eb4@10 c3@4 f3@9, ~@11 bb3@8 bb3@4 ~@4 bb3@2 d4@2 bb3@8 ~@4 b3@10 g4@4 c5@2 g3@2 [g4,c5]@2 c4@8 ~@4 bb3@6 [bb3,eb4,g4]@6 ~@6 [c4,eb4]@2 f3@18 ab3@4 ~@2 bb3@6 g3@2 bb3@6 ~@10 eb3@8 [d3,bb4]@8 d3@4 ~@2 c5@14 [c3,g4]@4 [f3,c5]@12 f3@4 ~@6 ab4@6 [ab2,ab4]@4 [d3,bb4]@10 ~@2 d3@4 c3@10 [c5,g5]@4 c5@11, ~@13 eb4@4 [eb4,bb4]@6 ~@6 bb4@6 [bb2,f4]@4 [b2,d4,g4]@6 g4@2 b2@8 c3@16 [eb3,g4]@10 ~@2 eb3@4 f2@30 ~@2 eb2@10 eb4@6 ~@6 eb4@6 bb3@4 d4@14 [eb4,g4]@6 ~@2 eb5@10 ~@6 ab4@8 ab4@8 eb5@10 ~@8 d3@4 ~@2 c5@10 c4@6 ab4@8 ~@3, ~@15 g3@8 ~@2 f3@14 ~@2 g3@8 [g4,d5]@2 g3@4 ~@2 eb5@14 ~@8 eb3@4 ~@2 ab3@4 ab3@14 ab4@14 ~@2 g4@16 ~@10 g3@6 ~@4 f4@6 f4@6 c3@10 eb4@6 ~@4 eb4@6 [eb4,c5]@6 ~@2 eb4@6 ab3@8 ~@6 f4@10 ~@6 [g4,eb5]@10 ~@4 eb4@5]/8", // Eb5 Gm Ab Eb Ab5 Ab G Bb5 …
  F: "[~@5 c4@2 ~@4 eb4@2 ~@6 [ab2,eb4]@2 ~@2 eb4@4 eb4@2 ~@8 c4@2 ~@30 g4@2 f3@13 f3@12, ~ [eb4,c5]@4 eb4@4 c4@4 [c4,eb4]@4 c4@4 ~@6 c5@8 c3@14 [c5,g5]@2 bb2@4 a2@8 g3@8 ~@25, ~@3 ab4@4 ab2@12 ~@4 c3@10 [c4,eb4]@4 eb4@16 c5@18 ~@25, ~@15 ab3@6 ~@10 g3@6 g4@4 g4@2 c5@2 [g4,eb5]@10 ~@4 eb4@6 c4@6 ~@25, ~@39 bb2@8 g3@8 ~@6 g4@6 [a2,eb4]@4 [ab2,eb4]@25]/3", // Ab5 Cm C5 Cm Adim Ab5
  G: "eb4 ~@2 [g2,g4] eb4 ~@2 [ab2,eb4], bb4@8 ~@3 eb4@3 ~@2, g2@3 ~ ab2@3 ~, bb3 ~ eb4@3 eb4@3 c4 ~ c4@3 c4@3, ~@3 g3@5 ~@4 ab3@4", // G Ab5
  H: "[[ab3,c4]@2 ~@5 f3 ~@2 bb3 ~@3 bb3 ~ [bb2,bb3]@3 ~@2 f3@2 d4 g4@2 ~@12 eb3@2 ~@2 bb4 ~@4 eb2 ~@3 c4@2 ~@2 eb3 ~ eb3@2 ~@4 eb2 c4@2 c4 ~@2 c4 ab2 [ab2,g4] bb3@2 ~@5 d2, ab2@6 ab2@2 bb2@4 bb2@3 ~@5 bb2@4 [eb2,eb3,g3,eb4]@9 eb3@4 eb5@3 ~ d5@4 d5 [d4,bb4]@2 [c4,ab4]@2 c5@4 eb2@2 [eb2,eb4]@6 bb3@2 ~@6 [c4,eb4]@2 ~@3 bb3@2 [f3,d4]@3, ~@2 ab3@2 ab3@4 ~ f3@2 [f3,bb3]@3 ~ d4@8 ~@3 g4@4 eb5@5 ab4@5 ~@6 eb3@5 ab4@5 ~@3 g4@4 eb4@4 eb4@3 ~@2 f4@8, ~@3 c4@2 c4@3 ~@5 f3@2 ~ [f3,eb4]@2 ~ [f3,bb3]@3 ~@5 bb4@5 eb2@7 ~ [eb2,c5]@8 eb2@5 c4@3 g3@4 eb3@4 [ab2,g4]@7 ~ d3@6 [d3,bb3]@2, ~@29 g5@3 ab4@2 [eb4,c5]@6 f4@3 [f4,f5]@5 ~ eb4@7 bb3@2 ~ bb3@2 g3@3 ab3@4 ab3@4 ~@2 f3@2 d2@3 ~]/5", // Ab Bb Abmaj7 Eb Gm Fm Eb Cm …
  I: "[g3,d4]@2 ~ d4@2 ~@2 g3 ~@7 g4, g2@3 g2@4 [c2,eb4], ~@2 g3@3 g3@2 ~ [c3,g3,eb4]@2 c4 c2 c3@4, ~@3 g4@10 [g3,c4]@3, ~@3 d4 d4@4", // G5 Cm C5
  J: "~@7 eb4 ~@7 eb4, [bb1,g4]@8 ~@3 c4@3 c4@2, c4@2 g3@3 g3@3 ~@2 g3@3 [g3,eb4]@3, ~ bb2@5 [bb2,c4]@2 [a2,c4]@4 a2@4, ~@3 [c4,eb4]@4 ~ g4@8", // Eb Cm Bbsus2 Am Cm
  K: "ab3@2 ab3 ~@4 eb4 [g3,bb3]@3 bb3 ~@3 eb4, eb4@3 c4 ~@2 g4@2, [ab2,c4]@3 c4@2 ab3@3 ~@4 bb3@2 bb3@2, ~ ab2 [bb2,eb4]@2, ~@13 g3@3", // Gm Ab Eb5
  L: "[d4@2 bb3@4 bb3@4 ~@4 bb2@2 ~@20 c4@2 ~@8 eb4@2 bb3@2 ~@11 eb4@2 ~@2 eb3@2 eb3@2 [c4,eb4]@4 ~@10 ab4@2 ab3@4 ~@10 c4@2 f3@4 ~@10 f3@2 [bb3,eb4]@6 ~@8 d4@2 ~@6 eb4@2 ~@6 bb4@2 eb4@2 ~@12 ab2@2 ~@30 bb4@2 [eb4,c5]@2 ~@44 g4@2 eb4@4 c4@2 ~@2 f3@2 c4, bb2@12 bb3@4 g3@12 g4@4 eb4@6 g4@6 [c3,c4]@4 g3 ~@8 eb3@8 ~@10 eb4@4 c4@6 [c4,eb4]@8 eb4@8 d4@12 d4@4 ~@6 eb4@10 g4@10 bb3@6 [ab3,c5]@8 ab2@4 [ab3,eb5]@4 [d3,bb4]@8 f4@4 d5@8 d4@2 g4@4 [d4,bb4]@6 ~@4 [eb4,g4]@6 eb4@4 c5@12 [c5,g5]@2 g3@6 g3@10 eb4@4 ~@6 eb4@5, f3@10 f3@4 d4@8 b1@8 b2@18 eb2@21 [f2,ab4]@12 [f2,eb4]@4 ab2@12 [ab2,ab3]@4 [bb2,bb3]@8 bb2@8 bb2@16 eb2@16 ~@6 eb5@4 [c5,g5]@6 f5@12 [d3,f4]@4 [g3,bb4]@8 g3@8 ~@6 g3@8 eb4@4 eb4@12 [g4,c5]@6 eb4@2 g4@4 c4@6 ~@11, ~@6 f4@10 b2@4 g4@4 b2@2 [d4,d5]@6 c5@16 ~@11 bb3@4 [bb3,eb4,bb4]@6 ~@4 c4@4 f3@8 ~@4 ab3@4 ab3@4 ~@8 f3@10 ~@2 f3@2 ~@4 [f3,bb3]@4 f3@6 ~@2 eb3@10 g4@4 ~@6 g4@10 f4@6 d4@8 g4@8 d5@10 ~@8 c4@8 ~@2 g4@2 g3@2 [g4,eb5]@10 ~@4 c5@12 ~@11, ~@20 b3@12 c3@6 c4@2 eb4@2 g3@6 eb4@13 ~@14 c5@10 ~@6 c4@4 c4@4 ~@8 bb3@4 [bb3,f4]@6 ~@8 d4@4 bb3@4 [bb3,eb4]@6 ~@2 [eb4,bb4]@8 ~@4 eb4@12 ~@4 d5@6 bb4@6 d4@2 g2@10 [g2,g4]@4 c3@12 [c3,g4]@4 bb2@16 [a2,eb5]@16 ab2@11]/8", // Cm Eb5 Cm C Cm Ab Ab5 Gm …
  M: "[~@3 ab2@2 [bb3,eb4]@4 ~@10 eb4@2 d4@2 ~@12 [d4,bb4]@2 ~@30 c5@2 eb4@4 ~@16 c4@2 ~@10 [ab2,c4]@6 ~@6 c4@2 eb4@2 ~@12 [eb2,g3]@4 [ab3,eb4]@4 ab3@2 ~@8 eb4@2 f4@4 ~@16 g4@2 ~@8 c5@2 [eb4,ab4]@4 ~@26 c5@2 f4@4 ~@4 d3@2 [d4,bb4], ~ [c4,eb4,ab4]@4 [g2,g4]@16 [bb2,f4]@10 d4@4 ~@8 d4@8 [d5,g5]@12 eb4@2 g4@4 ~@6 eb4@4 ~@4 [c4,eb4]@8 ab4@4 c4@2 eb4@10 [c4,eb4]@2 ab2@7 ~@5 eb3@12 eb2@16 ~@6 bb4@6 bb4@4 ~@2 eb4@4 g4@2 c4@8 ~@8 f2@8 ab2@10 eb4@6 ~@4 d4@6 ~, ~@9 bb3@8 bb3@4 ~@4 bb3@2 d4@2 bb3@8 ~@4 b3@10 g4@4 c5@2 g3@2 [g4,c5]@2 c4@8 ~@4 bb3@6 [bb3,eb4,g4]@6 ~@6 [c4,eb4]@2 f3@18 ab3@4 ~@2 bb3@6 g3@2 bb3@6 ~@10 eb3@8 [d3,bb4]@8 d3@4 ~@2 c5@14 [c3,g4]@4 [f3,c5]@12 f3@4 ~@6 ab4@6 [ab2,ab4]@4 [d3,bb4]@10 ~, ~@11 eb4@4 [eb4,bb4]@6 ~@6 bb4@6 [bb2,f4]@4 [b2,d4,g4]@6 g4@2 b2@8 c3@16 [eb3,g4]@10 ~@2 eb3@4 f2@30 ~@2 eb2@10 eb4@6 ~@6 eb4@6 bb3@4 d4@14 [eb4,g4]@6 ~@2 eb5@10 ~@6 ab4@8 ab4@8 eb5@10 ~@11, ~@13 g3@8 ~@2 f3@14 ~@2 g3@8 [g4,d5]@2 g3@4 ~@2 eb5@14 ~@8 eb3@4 ~@2 ab3@4 ab3@14 ab4@14 ~@2 g4@16 ~@10 g3@6 ~@4 f4@6 f4@6 c3@10 eb4@6 ~@4 eb4@6 [eb4,c5]@6 ~@2 eb4@6 ab3@8 ~@6 f4@5]/7", // Eb5 Gm Ab Eb Ab5 Gm Ab G …
  N: "[~@9 g4@2 ~@16 ab4@4 ~@4 c4@2 ~@4 eb4@2 ~@6 [ab2,eb4]@2 ~@2 eb4@4 eb4@2 ~@8 c4@2 ~@30 g4@2 f3@13 f3@9 eb4@4 ~@8 [g2,g4]@4 eb4@4 ~@8 [ab2,eb4]@4 [ab2,ab3,c4]@4 ab3, ~ d3@4 c3@10 [c5,g5]@2 c3@4 f3@16 ab2@12 ~@4 c3@12 c3@14 [c5,g5]@2 bb2@4 a2@8 g3@8 ~@28 g3@10 ~@8 ab3@8 ~@5, ~@3 c5@10 c4@6 c5@12 ~@4 eb4@6 ~@4 ab3@6 ~@10 g3@6 ~@2 bb2@8 g3@6 c5@18 ~@22 bb4@16 ~@6 eb4@6 ~@9, ~@3 eb4@4 eb4@12 ab4@8 ~@6 ab4@4 ~@10 c4@4 ~@6 c5@10 g4@4 g4@2 c5@2 [g4,eb5]@10 ~@6 g4@6 [a2,eb4]@4 [ab2,eb4]@22 g2@12 ~@4 ab2@12 ~@9, ~@11 [g4,eb5]@10 ~@4 eb4@6 [eb4,c5]@6 ~@2 c4@4 [c4,eb4]@6 ~@14 [c4,eb4]@4 eb4@18 ~@4 eb4@6 c4@6 ~@22 bb3@2 ~@2 eb4@6 eb4@6 c4@2 ~@2 c4@6 c4@6 ~@5]/5", // Ab5 G Ab5 Ab C5 Cm Adim Ab5 …
  O: "[~@9 f3@2 ~@4 bb3@2 ~@6 bb3@2 ~@2 [bb2,bb3]@6 ~@4 f3@4 d4@2 eb4@4 eb4@2 ~@8 c4@2 ~@30 g4@2 f3@13 f3@9 eb4@4 ~@8 [g2,g4]@3, ~ c4@4 c4@6 ~@10 f3@4 d4@16 ~@6 c5@8 c3@14 [c5,g5]@2 bb2@4 a2@8 g3@8 ~@28 g3@9, ~@3 ab3@8 ~@2 f3@4 [f3,bb3]@6 ~@4 [f3,eb4]@4 ~@2 [f3,bb3]@6 ~@12 g3@6 g4@4 g4@2 c5@2 [g4,eb5]@8 c5@18 ~@22 bb4@15, ~@7 ab2@4 bb2@8 bb2@6 ~@10 bb2@8 c3@10 [c4,eb4]@4 eb4@18 ~@4 eb4@6 c4@6 ~@22 bb3@2 ~@2 eb4@6 eb4@5, ~@59 bb2@8 g3@8 ~@6 g4@6 [a2,eb4]@4 [ab2,eb4]@22 g2@12 ~@3]/4", // Bb G C5 Bb5 F7 Bb5 Cm Adim …
  P: "[~ eb4@4 ~@8 [ab2,eb4]@4 [ab3,c4]@4 ~@40 eb3@3, ~ ab2@10 c4@6 ~@4 ab3@4 ab3@6 f3@6 g4@2 bb4@4 g5@2 eb5@10 ab4@9, ~ c4@2 ~@2 c4@4 ab3@8 ab2@12 ab2@20 ab4@4 [eb4,c5]@11, ~@7 eb4@6 ~@10 c4@4 c4@6 eb2@16 eb2@14 ~, ~@33 g4@2 eb3@16 eb3@8 eb5@5]/2", // Ab5 Ab Cm
  Q: "[~@5 bb4@2 ~@8 eb2@2 ~@7 c4@4 ~@4 eb3@2 ~@2 eb2@52 ~@8, ~ [eb2,c5]@12 [d4,bb4]@4 eb2@11 c4@7 [eb3,g3,bb3,eb4]@52 ~@9, ~ f4@6 [f4,f5]@10 [c4,ab4]@4 c5@9 eb2@4 ~@62, ~@3 d5@8 d5@6 ~@2 eb4@15 ~@62, ~@13 eb3@11 ab4@11 ~@61]/3", // Cm Gm Eb F Fm
})).s("gm_piano").gain(0.18).pan(0.6)

// chords · piano · soft notes
const piano_soft = note(`<
  ~ A@2 B ~ C D ~ E ~ F G ~ H@2 I ~ J K L M N O P Q R S T U V W X Y ~ Z AA ~@2 AB AC ~ AD AE AF ~ AG AH AI AJ AK AL AM
  AN AO@2 AP@2 AQ AR AS@3 ~@2
>`.pickRestart({
  A: "[~@7 eb4@4 ~@10 eb2@2 ~@6 [eb3,bb4]@6 ~@12 eb3@6 ~@6 bb3@2 ~@3]/2", B: "~@13 c4@4 ~@15", C: "~@5 c4@2 ~@25",
  D: "~@13 ab3@4 ~@10 g3@5", E: "~ g4@2 ~@29", F: "~@27 f3@2 ~@3", G: "~@11 bb3@6 ~@4 eb3@2 ~@9",
  H: "[~@31 g3@4 ~@26 c4@3]/2", I: "~@23 bb4@6 ~@3", J: "~@3 g3@4 ~@25", K: "~@11 ab3@6 ~@15",
  L: "~@5 bb3@2 ~@6 bb3@6 ~@13", M: "~@3 d3@4 ~@25", N: "~@5 c4@18 ~@9", O: "~@3 bb4@4 ~@25",
  P: "~@29 eb4@3, ~@23 c4@9", Q: "~@25 c4@7", R: "~@17 [ab3,c4]@15", S: "~ bb3@3 ~@4", T: "~@7 bb3 ~@8",
  U: "~@2 f3 ~@3 bb3@2 ~@8, ~ eb4@3 ~@4", V: "eb4@2 ~@5 eb2 ~@3 [eb3,bb4]@3 ~@2", W: "~@4 eb3@3 ~@3 bb3 ~@5",
  X: "~@3 c4@2 ~@11", Y: "~@15 c4", Z: "~@3 ab3@2 ~@5 g3@3 ~@3", AA: "~@13 g4 ~@2", AB: "~@25 f3@2 ~@5",
  AC: "~@9 bb3@6 ~@4 eb3@2 ~@11", AD: "~@29 g3@3", AE: "~@27 c4@4 ~", AF: "~@21 bb4@6 ~@5", AG: "~ g3@4 ~@27",
  AH: "~@9 ab3@6 ~@17", AI: "~@3 bb3@2 ~@6 bb3@6 ~@15", AJ: "~ d3@4 ~@27", AK: "~@3 c4@18 ~@11", AL: "~ bb4@4 ~@27",
  AM: "~@27 eb4@4 ~, ~@21 c4@10 ~", AN: "~@23 c4@8 ~", AO: "[~@15 [ab3,c4]@12 ~@4 bb3@12 ~@21]/2",
  AP: "[~@9 bb3@2 ~@20 f3@2 ~@6 bb3@4 ~@6 eb4@4 ~@11, ~@31 eb4@12 c4@10 ~@11]/2", AQ: "~@13 c4@8 ~@11",
  AR: "~@5 [ab3,c4]@12 ~@4 bb3@11", AS: "[~@31 bb3@2 ~@16 eb4@4 ~@10 eb2@2 ~@6 [eb3,bb4]@6 ~@13 eb3@6]/3",
})).s("gm_piano").gain(0.09).pan(0.6)

// bass · acoustic bass
const bass = note(`<
  ~@2 A@2 B C D E F G@2 H@3 I J K@2 L M N@3 O P Q R S T ~ U V W X Y Z AA@4 AB AC AD@4 AE AF@4 AG AH AI@3 AJ@3 AK AL AM@3
>`.pickRestart({
  A: "[~@23 eb2@15 ~ ab2@14 ~@2 d2@8 ~]/2", B: "~ d2@2 f2@2 gb2@2 g2@16 c2@9", C: "~ g2@2 c3@4 bb1@13 ~@3 a1@8 ~",
  D: "~@3 a1@4 ab1@14 ~@2 bb1@9", E: "~@3 bb1 ~@3 bb1@8 ~@2 f2@2 bb2@4 b1@8 ~", F: "~ b1@2 g2@4 c2@13 ~@3 eb2@9",
  G: "[~@3 eb2@4 f2@11 ~ f1@4 ab1@16 bb1@14 ~@2 bb1@9]/2",
  H: "[~@3 bb1@4 eb2@9 ~@3 eb2@4 ab2@14 ~@2 d2@10 ~@2 d2@4 g2@6 ~@2 g2@2 d2@2 g2@4 c2@8 ~@2 c2@6 bb1@8 ~]/3",
  I: "~ bb1@6 a1@8 ~@2 a1@6 ab1@8 ~", J: "~ ab1@5 ~ bb1@13 ~@3 bb1@9",
  K: "[~ f2@2 bb2@3 ~ b1@8 ~@2 b1@2 g2@3 ~ c2@13 ~@3 eb2@9 ~@3 eb2@4 f2@9]/2", L: "~@3 f1@4 ab1@14 ~@2 eb2@8 ~",
  M: "~ eb2 ~@3 bb1@2 eb2@4 ~@2 eb2@2 g2@4 eb2@4 d2@9",
  N: "[~@3 d2@3 ~ c2@14 ~@2 f2@12 g2@4 ab2@8 ~@4 ab2@4 d2@14 ~@2 c2@10 ~@2 c2@3 ~ f1@9]/3",
  O: "~@3 g1@4 ab1@13 ~@3 c2@9", P: "~@3 c2@3 ~ bb1@11 ~ bb2@4 a1@8 ~", Q: "~@3 a1@3 ~ ab1@22 ~@3", R: "g1@7 ~ ab1@7 ~",
  S: "ab1@15 ~ bb1@14 ~@2", T: "bb1@15 ~@17", U: "~@8 eb2@7 ~", V: "ab2@7 ~ d2@7 ~",
  W: "g1@5 ~ g1 ~ g1@4 ~@2 g1@2 c2@14 ~@2", X: "bb1@7 ~ a1@7 ~", Y: "ab1@13 ~@3 bb1@6 ~@2 bb1@4 ~@2 bb1 ~",
  Z: "bb1@8 f2@2 bb1@2 ~@2 bb1@2 b1@6 ~@2 b1@5 ~ g1@2",
  AA: "[c2@6 ~@2 c2@2 ~@2 c2@2 ~@2 eb2@10 ~ eb2 ~ eb2@6 ~@2 f2@6 c2 ~ f1@8 ab1@6 ~@2 ab1@6 ~@2 bb1@6 ~@2 bb1@6 ~@2 bb1@2 bb1 ~@3 bb1 ~ bb1@8 eb2@6 ~@2 eb2@4 ~@2 eb2 ~ ab1@7 ~ ab2@3]/4",
  AB: "~@3 ab2 ~ d2@8 d3@2 d2@2 ~@2 d2@2 g1@4 ~@2 d2 ~ g2@2 d2",
  AC: "~ g2@3 ~ c2@5 ~ c2 ~@3 c2 ~@3 c2 ~ bb1@5 ~ bb1 ~@3 bb1",
  AD: "[~@3 bb1 ~ a1@5 ~ a1 ~@3 a1 ~@3 a1 ~ ab1@5 ~ ab1@2 ~@2 ab2@2 ~@2 ab1 ~ bb1@6 ~@2 bb1@4 ~@2 bb1 ~ bb1@4 ~@2 bb1 ~ f2@2 bb1@2 ~@2 bb1 ~ b1@7 ~ g1@2 d2 ~ g2@4 c2@6 ~@2 c2 ~ c2@4 ~@2 eb2@5 ~ bb1 ~ eb2@2 bb1 ~ eb2@4 f2@4 ~@2 c2@2 f2@2 c2]/4",
  AE: "~ f2@3 ~ ab1@6 ~@2 ab1@5 ~@3 eb2@4 ~@2 eb2@2 ~@3",
  AF: "[~ eb2 ~@3 eb2@3 ~@3 eb2 ~ g2@4 eb2@2 ~@2 d2@7 ~ d2@5 ~@3 c2@7 ~ c2@8 f1@7 ~ f2@6 ~@2 ab1@4 ~@2 ab1 ~ ab1@5 ~@3 d2@6 ~@2 d2@5 ~@3 c2@4 ~@2 c2 ~ c2 ~ c2 ~@3 c2 ~ f1@10 ~]/4",
  AG: "~ g1@4 ab1@15 ~ c2@9 ~@2", AH: "~ c2@2 ~@2 bb1@9 ~@3 bb1@2 ~@2 a1@9 ~@2",
  AI: "[~ a1@2 ~@2 ab1@19 ~@3 g1@14 ~@2 ab1@14 ~@2 ab1@13 ~@3 bb1@13 ~@3 bb1@4 ~]/3",
  AJ: "[~ f2@2 bb1 ~ bb1@6 c2@9 ~@3 c2 ~@3 bb1@10 ~@2 bb1@2 ~@2 a1@9 ~@3 a1@2 ~@2 ab1@19 ~@3 g1@15]/3",
  AK: "~ ab1@14 ~@2 ab1@15", AL: "~ eb3@4 ~@2 eb3@4 eb2@2 eb3@2 ~@2 eb3@4 ~@2 eb3@3 ~ eb2 ~ eb3@2 ~",
  AM: "[~ eb3@4 ~@2 eb3@3 ~ eb2 ~ eb3@2 ~@2 eb3@5 ~@2 eb3@2 ~@2 eb2@2 eb3@4 ~ eb2@52 ~@9]/3",
})).s("gm_acoustic_bass").gain(0.22)

// chords · string ensemble 1
const string_ensemble_1 = note("<~@11 A@5 B@6 C@4 D@3 E F@2 G@3 H I@3 J@7 K@4 L@3 M@7 N@4>".pickRestart({
  A: "[~@7 [eb2,bb2]@16 [ab2,c3]@16 [d2,bb2,f3]@16 g3@8 f3@8 g3@16 ~@8 bb2@8 [a2,g3]@15 ~ [ab2,f3,ab3,eb4]@16 [g3,bb3,eb4]@16 [f3,bb3,d4]@9, ~@7 g3@32 ~@16 [g2,d3]@16 eb3@63 ~@26, ~@71 c3@24 ~@65, ~@87 c4@32 ~@41]/5", // Eb5 Ab Bb A7 Fm7 Eb Bb G5
  B: "[~@15 b2@8 [c3,eb3,g3,c4]@15 ~ [eb2,bb2,eb3,g3]@16 [f2,c3,eb3,ab3]@16 [ab2,eb3,ab3,c4]@16 [eb2,eb3,g3,bb3]@32 [d4,f4,bb4]@16 [eb4,g4,c5]@16 [eb4,ab4,c5]@32 [d4,f4,bb4]@9, ~@7 d4@16 ~@169, ~@7 g3@13 ~@172]/6", // Cm Eb Fm7 Ab Eb Bb Cm Ab …
  C: "[~@7 g4@12 c5@4 [ab4,f5]@12 eb5@4 [ab4,c5]@16 ~@16 bb3@16 [a3,eb5]@16 [ab3,eb4,ab4,f5]@25, ~@7 c4@48 c4@50 ~@23, ~@7 eb4@16 f4@18 ~@14 c5@30 ~@2 c5@36 ~@5, ~@55 eb4@27 ~@46, ~@71 g4@13 ~@3 g4@12 ~@29]/4", // Db Ab Adim Fm7
  D: "[[g3,bb4] c5 ~ [bb3,d4]@2 [eb2,bb2,g3], eb5@31 ~@65, eb4@7 ~ f4@12 ~@4, ~ ab3@2 ~@3]/3", // Gm Bb Eb
  E: "[ab2,eb3,c4] [d3,f3,bb3,f4]", // Ab Bb
  F: "[[c3,ab3,c4,eb4]@16 bb3@16 ab3@15 ~ f5@4 bb4@8 bb4@4, ~@16 [eb3,g4]@31 ~ [d3,f4]@16, ~@8 c4@3 ~@5]/2", // Ab Eb Dm
  G: "[g4@4 bb4@8 d5@4 eb4@5 ~@19 eb5@8 g5@8 ~@8 eb5@7 ~ g5@2 f5@2 eb5@4 [bb4,eb5]@8 bb4@8, [g3,d4] c4@2 ~@3, ~@16 eb5@17 ~@15 c5@5 ~@3 c5@24 ~@16, ~@24 eb4@7 ~ eb4@33 ~@15 eb4@12 ~@4, ~@28 bb3@20 a3@16 [ab3,c4]@16 g3@15 ~]/3", // Eb5 G5 Ab
  H: "bb3@5 ~@23 d5@4, [d4,f4]@6 d5@7 ~@3, ~@8 bb4@7 ~ [d4,g4]@16", // Dm G5
  I: "[[g4,eb5]@10 d5@2 c5@4 ~@17 bb4@4 c5@10 bb4@2 c5@3 ~ [ab3,ab4,c5]@16 bb4@23 ~ f4@3, ~@16 [g3,bb3]@21 ab3@14 ~@18 [bb3,d4]@27, ~@16 eb4@16 ~@21 eb4@13 ~@3 f4@20 ~@7, ~@29 g4@8 ~@59]/3", // Cm Ab Gm Bb
  J: "[~@5 g4@8 bb4@8 eb4@16 ~@8 bb4@4 f5@4 [bb4,g5]@8 g4@7 ~ c4@16 ~@12 c5@4 [a3,eb5]@16 f5@8 eb5@8 bb4@8 g4@8 f4@7 ~ f4@8 [b3,d4]@16 [c4,eb4]@12 d4@4 ~@8 bb4@8 c5@6 bb4@2 ab4@2 g4, ~@5 [eb3,bb3]@16 ~@16 [bb3,d4]@33 ~@15 bb3@16 ~@16 [ab3,c4,ab4]@17 ~@63 bb3@16 c4@11, ~@5 eb4@13 ~@3 c5@22 ~@26 g4@28 ~@4 g4@12 ~@52 g4@40 ~@19, ~@37 f4@14 ~@18 eb4@48 ~@16 [bb3,eb4]@13 ~@3 [bb3,d4]@14 ~@34 eb4@26 ~]/7", // Eb Adim Bm Cm Eb5 Bb Ab Eb5 …
  K: "[~ f4@2 eb4@2 c5@16 ~@8 g4@4 ab4@4 bb4@4 g4@4 bb4@4 eb5@4 bb4@6 ~@2 bb4@8 ~@4 c5@2 d5@2 eb5@7 ~ ab4@12 c5@2 bb4@2 [ab3,ab4,c5]@16 [d4,f4,bb4]@11, ~@5 eb4@13 ~@3 [g3,bb3]@32 ~@16 eb4@30 ~@2 eb4@13 ~@14, ~@21 eb5@15 ~ eb4@16 [d4,f4]@16 c4@47 ~@12, ~@69 g4@16 eb5@11 ~@32]/4", // Ab Bb Gm Dm
  L: "[~@5 g4@4 c5@8 eb5@4 f5@12 eb5@4 [eb4,c5]@14 ~@2 c4@32 [a3,eb4,c5,eb5]@11, ~@5 [c4,eb4]@15 ~ ab4@30 ~@2 g4@43, ~@7 ab3@9 ~@16, ~@21 c4@16 ~@16 eb4@29 ~@14]/3", // Cm Adim Cm
  M: "[~@5 [ab4,f5]@20 ~@2 [g3,eb4,bb4]@16 [ab3,c4,ab4]@16 [ab3,c4,eb4,c5]@16 [bb3,d4,f4,bb4]@30 ~@2 [c4,eb4,g4]@31 ~ [a3,c5,eb5]@16 [c4,f5]@22 [g3,bb4]@16 [ab4,c5]@16 [ab3,c4,eb4]@15, ~@27 eb5@32 ~@80 g4@13 ~@25 [eb4,eb5]@32 ~@15]/7", // Db Eb Ab Bb Cm Adim F5 Gm …
  N: "[~ g4@16 ~@16 d4@16 ~@18 [eb3,bb3,g4,eb5]@49 ~@12, ~ eb5@66 ~@61]/4", // Eb
})).s("gm_string_ensemble_1").gain(0.12).pan(0.3)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note("<~@2 A@4 B C@6 D@6 E@7 F@3 ~ G@6 H@2 I J@8 K@6 L@2 M@7 N@2>".pickRestart({
  A: "[~@23 g4@16 [c4,eb4]@10 ~@2 eb4@4 [f3,d4]@14 ~@2 g4@10 ~@6 eb4@14 ~@12 c5@2 g4@4 [c4,eb4]@9, ~@23 eb4@14 ~@2 ab3@16 ~@28 g4@18 ~@2 eb4@14 ~@11, ~@49 c4@5 ~@27 d4@6 ~@14 c4@15 ~@12]/4", // Cm Dm Cm
  B: "~@3 eb4@3 ~ [ab3,eb4]@15 ~ [bb3,eb4]@9", // Ab5 Eb5
  C: "[~@3 eb4@4 d4@10 bb4@6 ~@12 d4@4 ~@12 g4@4 [bb3,eb4]@12 eb4@4 [c4,eb4]@12 eb4@4 [c4,eb4]@12 eb4@4 ~@6 d4@6 ~@2 d4@2 [f3,bb3,eb4]@6 ~@6 bb3@4 [eb4,g4]@6 bb3@4 ~@4 eb4@2 [c4,g4]@6 g4@10 f4@6 f4@10 [g3,d4]@6 d4@3, ~ bb3@6 ~@16 g4@16 ~@10 c4@6 ~@60 bb3@4 ~@6 d4@8 ~@8 g4@10 ~@41, ~@33 b3@6 [g3,eb4]@16 g3@16 ~@16 ab3@16 [f3,bb3]@12 ~@14 f3@6 ~@10 g3@6 ~@22 bb3@4 ~@15, ~@147 bb3@4 ~@6 c4@6 ~@4 d4@12 ~@13]/6", // Eb5 Cm Ebsus2 Eb C5 G5 Cm Bb5
  D: "[~ g4@4 d4@2 ~@6 g4@8 eb4@2 [c4,g4]@6 c4@4 g3@4 eb4@2 [c4,g4]@6 c4@4 ~@2 eb4@4 eb4@6 eb4@4 ~@2 eb4@4 [bb3,g4]@6 bb3@6 ~@2 eb4@2 [bb3,eb4]@6 ~@8 d4@2 ~@6 g3@4 ~@4 d4@2 ~@6 g3@4 ~@4 eb4@2 [bb3,g4]@6 bb3@4 ~@2 eb4@4 eb4@4 ~@8 c4@4 ab3@4 ~@2 c4@4 ~@4 ab3@2 [g3,eb4]@6 [g3,eb4]@3, ~@7 eb4@14 ~@8 g4@10 ~@6 g4@10 ~@22 g4@10 ~@12 bb3@4 g4@16 g4@16 ~@6 g4@10 ~@6 eb4@10 eb4@10 ~@15, ~@7 g3@10 ~@44 ab3@10 ~@12 bb3@4 ~@6 [bb3,d4]@8 ~@2 b3@10 g3@6 ~@6 eb4@6 c4@4 ~@10 bb3@6 ~@4 c4@8 ~@16 c4@4 bb3 ~@8, ~@13 c4@6 ~@30 c4@6 c4@10 c4@4 ~@28 f3@6 ~@6 d4@6 b3@4 c4@10 g3@6 ~@16 ab3@10 ab3@6 ~@4 ab3@6 [ab3,eb4]@6 ~@9]/6", // C5 Eb Eb5 Eb Cm Bb Ab5
  E: "[~@3 [g3,eb4]@2 bb3 ~ [c4,ab4]@4 eb4@2 bb3@4 ~@4 eb4@2 bb3@6 ~@8 f3@2 g3@4 ~@8 eb4@4 ~@30 eb4@2 ~@6 bb3@4 ~@2 bb3@4 ~@14 g3@2 ab3@4 ~@2 ab3@4 ~@12 c4@4 ~@4 eb4@2 c4@4 ~@26 bb4@2 ~@14 eb4@2 ~@16 ab3@6 c4@3, ~ bb3@4 ~@8 g4@10 f4@16 ~@8 g4@8 ~@20 eb4@8 c4@4 d4@16 c4@12 c4@4 ~@10 c4@4 c4@8 ~@6 c4@4 ~@6 c4@8 c4@6 c4@2 g4@6 eb4@4 g4@16 f4@25, ~@17 eb4@4 ~@10 bb3@4 bb3@4 ~@6 c4@4 c4@6 c4@12 c4@14 ab4@6 ~@26 eb4@6 ~@4 eb4@12 eb4@14 ~@6 g4@12 ~@2 g3@14 ~@10 g3@6 ~@25, ~@19 bb3@4 ~@6 f3@8 ~@6 g3@12 ~@4 ab3@6 ab3@4 ab3@4 ab3@4 ab3@10 ~@22 g3@8 ~@14 ab3@4 ~@4 ab3@6 ab3@6 ~@10 eb4@6 eb4@10 c4@6 ~@4 c4@8 c4@4 ~@7 c4@15 ~@3, ~@33 d4@6 eb4@12 ~@10 eb4@10 eb3@16 ~@4 f3@6 f3@6 ~@4 eb3@12 ~@44 g3@4 bb3@16 ~@6 eb4@8 ~@12 eb4@15]/7", // Cm Fm
  F: "[bb3@2 ~ bb3@2 ~@18 c4 bb3@2 ~ bb3@2 ~@3 [f3,bb3,eb4]@2 ~ bb3 ~@3 d4 ~@8, eb4@6 bb3@9 ab3@3 ab3@4 ab3@2 ~@6 bb3@2 ~@6 bb3@2 ~@8, ~@2 g3@3 g3@2 eb4@9 eb4@8 ~@7 d4@5 d4@3 ~@9, ~@8 c4@3 ab3@3 eb3@2 ~ eb3@4 eb3@3 ~@2 f3@3 f3@3 ~@2 f3@2 ~ f3@3 ~@8, ~@10 eb3@3 c4@6 c4@4 ~@12 eb4@5 ~@8]/3", // Ebsus2
  G: "[~@23 g3 ~@11 g3@2 ~@2 g3 ~@15 c4 c4@2 ~@9 ab3@2 ~@2 eb4 ~@3 bb3@2 ~@8 f3@2 ~@4 g3@2 ~@2 d4, ~@8 g4@8 ~@3 g4@5 ~@3 f4@4 g3@2 g3@2 ~@2 g3@2 ~@2 g3@2 g4@4 eb4@3 eb4@4 eb4@4 eb4@4 eb4@3 eb4@6 ~@3 eb4@5 eb4@9 ~@2 g4@6, ~@9 bb3@4 bb3@3 c4@2 c4@3 c4@3 ~@2 bb3@3 bb3@3 g4@8 eb4@6 c4@2 c4@3 c4@4 ~@4 c4@4 c4@9 bb3@3 ~@3 bb3@4 bb3@6 ~@8, ~@10 eb4@4 eb4@8 eb4@2 d4@6 d4@4 d4@4 d4@10 ~@21 f4@3 ~@5 g4@3 d4@3 d4@4 d4@2 d4@4 d4@2 ~, ~@11 g3@4 g3@2 g3@6 ~@2 f3@7 ~@10 c4@3 g3@3 ~ g3@4 g3@3 ~@5 g3@3 ab3@3 ~@3 ab3@2 ~ g3@7 ~ f3@4 ~@3 g3@3 ~@3 g3@2]/6",
  H: "[[g3,eb4]@4 ~@2 g3@4 ~@2 g3@4 [bb3,eb4]@9 ~@2 bb3@4 ~@4 g3@2 ab3@4 ~@2 ab3@4 ~@4 c4@2 [ab3,eb4]@4 ~@2 [ab3,eb4]@5, ~@4 c4@6 c4@4 ~@11 g3@6 g3@4 ~@14 ab3@4 ~@11, ~@6 eb4@10 ~@11 eb4@10 eb4@16 ~@11, ~@33 bb3@4 ~@4 c4@6 c4@4 ~@6 c4@6 ~]/2", // Cm Eb5 Ab5
  I: "~@3 c4@2 [bb3,d4]@4 ~@12 [f3,bb3,eb4]@4 ~@2 [bb3,eb4]@2 d4@2 f3, ~ [ab3,eb4]@4 ~@4 f3@6 f3@4 d4@10 ~@3, ~@11 [bb3,d4]@6 bb3@4 ~@4 f3@4 ~@3", // Bb Ebsus2 Eb5 Ab5 Bb
  J: "[~@3 d4@2 ~@6 bb4@4 ~@4 eb4@2 ~@14 c4@2 ~@10 d5@4 bb4@2 g4@2 ~@4 g3@4 d4@4 d4@2 ~@54 eb4@4 ~@4 ab3@2 ~@20 bb3@2 ~@8 bb3@2 ~@6 g4@4 ~@4 g3@2 ~@14 c4@2 ~@14 g3@2 ~@14 c4@2 ~@14 eb4@2 ~@6 bb3@4 g3, ~ bb3@4 g4@10 bb4@6 ~@2 c4@12 ~@4 bb3@14 ~@18 c4@8 g3@4 eb4@14 c4@4 c4@4 c4@6 c4@4 c4@18 bb3@6 bb3@10 bb3@4 ~@2 d4@10 ~@2 d4@8 d4@6 ~@2 d4@14 ~@4 bb3@6 bb3@6 c4@6 c4@8 ~@6 c4@8 c4@4 ~@2 bb3@4 ~@5, ~@9 eb4@8 g4@4 g4@10 g4@6 f4@12 ~@8 g4@12 g4@16 ~@6 d4@8 eb4@14 eb4@4 ~@4 f4@12 ~@4 g4@12 ~@12 f4@6 ~@10 g4@4 g4@10 c4@2 g4@4 ~@6 g4@10 ~@22 eb3@10 ~@11, ~@25 eb4@8 eb4@4 ~@4 d4@12 ~@2 d4@8 ~@10 eb4@8 c4@4 c4@4 c4@6 g4@6 ~@6 g4@10 ~@12 eb4@14 eb4@4 eb4@10 ~@2 bb3@4 ~@6 b3@12 ~@4 eb4@12 eb4@12 eb4@8 eb4@6 eb4@6 eb4@14 ~@2 eb4@11, ~@27 c5@10 ~@6 bb4@8 ~@24 d4@10 ~@2 g3@14 ~@2 g3@14 ab3@10 ab3@4 ~@4 g3@10 g3@4 ~@2 f3@6 f3@8 g3@14 ~@8 g3@10 ~@2 g3@12 ~@4 ab3@10 ab3@4 ~@2 ab3@8 ab3@6 ~@4 g3@6 ~]/8",
  K: "[~@3 eb4@2 ~@14 bb3@2 ~@14 bb3@2 ~@6 c4@4 ~@36 eb4@2 ~@30 g3@2 c4@4 ~@26 ab3@2 eb4@10 [g3,c4,eb4]@6 [g3,eb4]@8 ~@2 [g3,bb3,eb4] ~@3 g3@2 [g3,c4,eb4]@10 [g3,c4,eb4], ~ bb3@4 ~@2 eb4@4 g4@10 f4@16 ~@4 eb4@8 c4@4 c4@4 c4@8 c4@4 ~@2 c4@4 c4@4 ab3@6 ~@2 f3@12 g3@4 ~@2 g3@10 ~@12 ab3@6 ~@6 ab3@6 eb3@4 g3@6 ~@37, ~@9 bb3@4 bb3@4 g3@4 ~@2 bb3@4 f3@4 d4@6 d4@14 eb4@8 eb4@8 eb4@10 eb4@4 c4@4 d4@4 bb3@6 bb3@6 ~@2 c4@8 c4@6 ~@4 c4@8 c4@4 ~@10 c4@6 ~@43, ~@15 eb4@6 ~@4 d4@4 bb3@4 f3@4 ~@2 g3@8 g3@6 ~@2 ab3@8 ab3@6 ~@4 ab4@12 ~@6 f4@10 eb4@12 eb4@6 ~@4 eb4@10 ~@4 eb4@12 ~@43, ~@97 d4@5 ~@5 g4@10 ~@14 ab4@18 ~@43]/6", // Cm Eb Cm
  L: "[~@5 ab3@13 ~@5 f4@4 ~@6 bb3@4 ~@20 ab3@2 c4@5, ~@5 [c4,eb4]@22 eb4@12 bb3@4 c4@10 c4@6 ~@5, ~@18 ab3@9 ~@4 g3@10 eb4@6 eb4@12 ~@5, ~@37 g4@6 ~@6 ab3@6 eb3@4 ~@5]/2", // Cm
  M: "[~@9 c4@2 bb3@4 ~@12 [bb3,eb4]@4 ~@2 [bb3,eb4]@2 ~@6 d4@2 eb4@7 ~@3 [g3,c4,eb4] ~@5 [g3,eb4]@8 ~@2 [g3,bb3,eb4] ~@3 g3@2 [g3,c4,eb4]@10 [g3,c4,eb4] ~@5 ab3@13 ~@5 f4@4 ~@6 bb3@4 ~@20 ab3@2 ~@14 c4@2 ~@2 g3@2 eb4@2 bb3@4 g4 ~ bb3 ~ eb4@2 ~@6 c4@4 ~@4 ab3@2 ~@12 bb3@4 ~@13 c4@2, ~ c4@6 ab3@4 eb4@14 d4@10 d4@6 ~@50 [c4,eb4]@22 eb4@12 bb3@4 c4@10 c4@6 c4@6 c4@8 ~@18 c4@6 ~@6 c4@4 ~@4 bb3@8 ~@4 c4@13 ~@2, ~@5 eb3@6 ~@4 f3@4 d4@4 bb3@4 ~@12 bb3@4 ~@80 g4@4 eb4@6 eb4@12 ~@4 ab3@8 ab3@4 ~@18 ab3@8 ab3@4 ~@4 f3@4 f3@8 ~@4 eb3@13, ~@17 bb3@4 f3@6 ~@4 f3@4 ~@2 f3@6 g3@3 ~@58 ab3@9 ~@4 g3@12 ~@6 ab3@6 eb3@4 ~@2 eb3@8 eb3@6 ~@20 eb4@12 d4@10 d4@6 ~@4 ab3@6 ~ ab3@4, ~@27 eb4]/7", // Eb5 Cm Eb Cm
  N: "[ab3@2 ~@3 eb4@42 ~@17]/2",
})).s("gm_acoustic_guitar_steel").gain(0.15)

// chords · acoustic guitar steel · soft notes
const acoustic_guitar_steel_2 = note(`<
  ~@2 A@7 B C@2 D@2 E F ~@2 G H ~@3 I@2 ~ J ~@6 K ~@2 L M@2 N O P ~ Q ~@5 R ~ S ~@2 T@2 U ~@2 V W X Y@2
>`.pickRestart({
  A: "[~@23 bb3@15 ~@17 bb3@15 ~ bb3@16 c4@14 ~@2 bb3@16 ~@10 c4@2 ~@20 g3@16 ~@12 d4@4 [b3,d4]@12 ~@29, ~@71 d4@8 ~@40 a3@15 ~@33 bb3@16 ~@41]/7", // Bm
  B: "~ bb3@6 ~@10 c4@6 ~@9", C: "[~ c4@6 ~@10 f3@6 ~@6 [f3,bb3]@6 ~@2 d4@2 bb3@6 ~@19]/2",
  D: "[~@5 eb4@2 ~@14 bb3@2 ~@6 g3@6 g3@4 ~@12 c4@4 ~@9, ~ ab3@6 ~@10 bb3@4 ~@28 g3@6 ~@9, ~@3 c4@4 ~@12 d4@4 ~@41]/2",
  E: "~@3 c4@4 ~@25", F: "~@5 c4@2 ~@10 g3@6 ~@9", G: "~@27 bb3@5", H: "~@27 d4@5", I: "[~@25 g3@10 ~@29]/2",
  J: "~@8 ab3@3 ~@5", K: "~@9 g3@4 ~@3", L: "~@7 c4 ~@8", M: "[~@31 c4@4 ~@29]/2", N: "~@7 bb3@14 ~@11",
  O: "~@17 f4@4 ~@11", P: "~ g3@4 ~@27", Q: "~@27 bb3@2 ~@3", R: "~@25 d4@7", S: "~@7 c4@8 ~@12 g3@4 ~",
  T: "[~@13 ab3@4 ~@14 eb3@6 ~@27]/2", U: "~@3 bb3 ~@13 g3 ~@14", V: "~@3 ab3@4 ~@25", W: "~ [bb3,eb4]@2 ~@29",
  X: "~@15 f3@2 ~@15", Y: "[~@3 [g3,bb3]@43 ~@18]/2",
})).s("gm_acoustic_guitar_steel").gain(0.09)

// chords · orchestral harp
const orchestral_harp = note("<~@30 A B C D E F G@3 H@2 I@2 J@8 K@3 L@2 M@4 N@4>".pickRestart({
  A: "~@20 g4@2 f4@2 eb4@2 ~@2 eb4 ~ g4 ~, ~@16 eb3@11 ~@5, ~@9 bb3@3 ~ bb3@2 ~",
  B: "~@7 ab4 ~@7 f4, ab3@8 ~@3 d5@5, ~ eb4@4 ab4 eb4@2 d4@5 f4 d4@2, ~@2 ab4@2 c5@4 ~ f4@3 bb4@4, ~@3 eb5@5 ~@2 f5@6",
  C: "~@7 d4 ~@7 c4, g3!2 c3@2, ~ d4@2 d4@2 d4@2 ~ eb4@2 g4@3 eb4@3, ~@2 g4@4 g4@2 ~ c4@5 [g3,g4]@2, ~@11 eb4 c5@4", // G
  D: "eb4 ~@6 eb4 ~@7 eb4, bb2@8 ~@3 c5@5, ~ c4@3 g3@4 g3@8, ~@2 g4@3 c4@3 ~ c4@4 eb4 c4@2, ~@3 eb4@3 g4@2 ~@2 eb4@2 g4@4",
  E: "~@7 eb4 ~@7 eb4, ab3 g3, ~ c4@2 c4@2 eb4@2 ~@3 eb4@2 g4@4, ~@2 eb4@2 f4@4 ~@3 bb4@5, ~@6 c4@2 ~ bb3@4 eb4 bb3@2",
  F: "~@7 bb3 ~@7 d4, bb2@8 ~@3 d4@4 ~, ~ f3@4 bb3 f3@2 g3@5 g3@3, ~@2 bb3@2 d4@4 ~ b3@3 b3@2 b3@2, ~@3 f4@5 ~@2 g4@6",
  G: "[~@14 g4@2 ~@19 eb4@2 ~@14 eb4@2 ~@14 c4@2 ~@14 bb3@2 bb2@2 ~@6 bb3@2 f3, c3@12 c4@4 ~@7 bb3@6 g4@2 eb4@2 bb3@4 ~@2 ab3@14 ab3@8 ab3@8 ~@2 f3@8 bb3@2 f3@4 ~@2 f3@8 ~, ~@2 g3@14 eb3@21 f3@16 ~@16 bb2@16 ~@11, ~@4 d4@12 ~@11 bb4@10 ~@6 eb4@2 ab4@8 ~@4 eb4@8 eb4@4 ~@6 eb4@10 ~@6 d4@5, ~@6 eb4@2 g4@2 eb4@6 ~@9 f4@12 ~@4 c4@6 eb4@2 c4@4 ~@2 c4@4 c4@4 c4@4 ~@6 bb3@4 d4@8 ~@4 bb3@4 ~@3]/3",
  H: "[~ bb2@2 ~@16 g4@2 ~@14 ab4@2 ~@14 f4@2 ~@8 g3@2 d4, ~@3 f3@14 eb4@4 ~@2 eb4@8 ab4@2 eb4@4 d4@10 f4@2 d4@4 g3@8 ~@3, ~@5 eb3@16 ~@6 eb5@10 ~@4 f5@12 ~@11, ~@7 bb3@4 f4@10 ~@4 ab4@4 c5@8 ~@2 f4@6 bb4@8 ~@2 d4@4 d4@4 ~, ~@9 g4@4 eb4@2 bb3@6 ab3@16 ~@6 d5@10 ~@4 g4@7]/2",
  I: "[~@3 d4@2 ~@14 c4@2 ~@14 c4@2 g4@2 ~@12 eb4@2 ~@8 eb4@2 c4, ~ g4@4 c3@10 g4@2 eb4@4 ~@4 eb4@4 c5@2 g4@2 eb4@4 ~@4 c4@8 c4@4 ~@2 c4@8 ~, ~@7 g3@14 bb2@16 a2 ~@7 g4@8 ~@6 f4@5, ~@9 d4@12 ~@2 g3@14 ~@2 g3@14 ab3@11, ~@11 eb4@2 c5@8 ~@6 eb5@10 ~@6 eb4@4 eb4@4 ~@6 eb4@4 ~@3]/2",
  J: "[~@3 eb4@2 ~@14 eb4@2 ~@14 bb3@2 ~@4 g4@4 ~@6 g4@2 c5@2 ~@12 eb4@2 ~@14 eb4@2 ~@14 c4@2 ~@14 ab3@2 ~@14 bb3@2 ~@6 eb4@2 ~@6 g3@2 ~@14 d4@2 ~@14 eb4@2 ~@14 ab4@2 ~@14 c4@2 ~@14 d4@2 ~@14 eb4@2 ~@8 ab4@2 eb4, ~ ab4@4 eb3@16 bb2@12 d4@4 ~@2 d4@8 d4@6 c4@10 eb4@2 c4@4 bb3@12 bb3@4 f3@12 eb4@4 ~@2 c4@4 c4@6 c4@4 ~@2 bb3@6 eb4@2 bb3@2 g3@4 ~@2 g3@6 ~@14 bb4@10 ~@4 g4@4 g4@8 ~@4 ab4@4 c5@2 ab4@2 eb4@4 ~@4 eb4@4 eb4@8 ~@4 d4@6 bb4@2 f4@4 g4@8 g4@8 ~@4 eb4@6 ~, ~@7 g3@14 ~@2 f3@14 g3@16 ~@8 d4@8 ~@4 eb4@6 eb4@4 ~@4 ab3@14 ab3@14 ~@2 eb3@16 eb3@8 [eb3,g4]@8 d3@16 ~@6 c5@10 ~@6 eb5@10 ~@6 ab4@10 ~@6 f4@2 d5@8 ~@4 c5@12 ~@6 c5@5, ~@9 bb3@6 eb4@2 bb3@4 ~@4 bb3@6 f4@6 ~@8 g4@6 ~@4 g4@4 g4@10 ~@2 g4@6 g4@8 ~@4 c4@6 ab4@6 ~@4 eb4@6 eb4@6 ~@4 f4@12 ~@4 bb3@4 ~@4 bb3@4 ~@2 bb3@14 c4@12 c4@4 f3@16 ab3@12 ab3@4 d3@16 ~@6 d4@10 ~@2 c4@9, ~@11 eb4@2 bb4@8 ~@6 d4@2 bb4@8 ~@12 b4@4 ~@4 c5@12 ~@6 bb4@10 ~@6 eb4@2 c5@8 ~@8 ab4@8 ~@6 g4@10 ~@10 eb4@6 ~@4 f4@4 f4@2 d4@2 f4@4 ~@2 eb4@8 eb4@4 ~@4 c4@14 ~@2 c4@8 c4@4 ~@4 bb3@14 ~@2 eb4@8 eb4@2 c4@4 ab3@11]/8", // Eb
  K: "[~@3 eb4@2 ~@14 c4@2 ~@14 c4@2 ~@14 c4@2 ~@12 a3@4 [ab3,c4,eb4]@17 ~@10, ~ c4@4 ab3@16 g3@16 bb3@16 a3@10 eb4@6 ~@27, ~@7 c4@8 c4@4 ~@4 c4@10 g4@4 ~@4 eb4@4 c5@8 ~@6 c5@10 ~@27, ~@9 eb4@4 eb4@4 eb4@4 ~@6 eb4@2 c5@8 ~@6 g4@4 eb4@6 ~@2 c4@14 ~@27, ~@11 ab4@10 ~@4 g4@6 eb4@6 ~@2 c4@10 g4@4 ~@4 eb4@4 g4@8 ~@27]/3", // Ab
  L: "[~@11 [ab3,c4,eb4]@12 ~@4 [ab3,c4,eb4]@12 ~@4 [f3,bb3,d4]@16 ~@5]/2", // Ab Bb
  M: "[~@25 c4@2 ~@14 eb5@2 ~@14 g4@2 ~@10 ab4@12 ~@14 g4@2 ~@14 eb4@2 ~@6 eb4@4 ~@2 ab4@2 c5, ~@11 c3@12 eb4@4 ~@2 c4@6 eb5@2 c5@2 g5@4 ~@6 c5@2 g5@4 c5@5 ~@6 f4@15 ~@4 g4@6 eb5@2 bb4@4 ~@4 ab4@6 c5@8 ~@2 ab4@8 ~@3, ~@13 g3@14 g3@16 a3@16 ab3@22 g3@16 ab3@16 ab3@15, ~@15 c4@6 g4@6 ~@4 eb4@12 ~@2 eb4@15 ~@3 eb4@18 ~@2 eb4@14 ~@2 eb4@10 ab4@6 eb4@4 ~@4 eb4@4 ~, ~@17 eb4@2 c5@14 g4@10 ~@4 g4@6 eb5@6 ~@28 bb4@2 g5@8 ~@6 eb5@10 ~@6 c5@8 ~]/4",
  N: "[~@15 bb4@2 ~@14 c5@2 ~@14 f4@2 ~@15 c4@3 ~@11 eb5@30 ~@20, ~ eb3@8 bb4@2 g5@2 eb5@4 ~@4 eb5@12 ~@4 d5@12 ~@2 c5@16 ~@6 f4@2 g4 bb4@32 ~@20, ~@3 bb3@14 ~@8 c5@6 ~@8 bb4@4 d4@6 c4@9 c4@4 eb4@6 ~@2 bb3@38 ~@20, ~@5 eb4@12 [eb4,c5]@10 eb4@6 bb3@16 eb4@6 ~ eb4@4 ab3@8 eb3@40 ~@20, ~@7 g4@10 ~@2 ab4@4 ab4@6 ab4@4 ~@2 f4@6 f4@4 bb4@4 ~@4 ab4@14 ~@5 eb4@36 ~@20]/4", // Cm
})).s("gm_orchestral_harp").gain(0.12).pan(0.8)

// other · flute
const flute = note("<~@24 A@2 B C ~@24 D@4 ~ E@5 ~@2>".pickRestart({
  A: "[~@25 c5@14 f4@12 ~ f5@11 ~]/2", B: "eb5@5 ~ bb4@2 c5@5 ~ c5@2", C: "f4@11 ~ eb4@4 f4@16",
  D: "[~@23 c5@14 f4@15 ~@3 f5@4 eb5@11 ~ bb4@4 c5@10 ~@2 c5@4 f4@11 ~ eb4@4 f4@16 ~@5]/4",
  E: "[~@13 c5@14 f4@15 ~@3 f5@4 eb5@11 ~ bb4@4 c5@10 ~@2 c5@4 f4@11 ~ eb4@36 ~@31]/5",
})).s("gm_flute").gain(0.15).pan(0.9)

// drums · kick
const kick = s("bd").struct(`<
  ~@30 A B C D E F G H I J K L M N O P Q R S@2 T U V W X Y Z X AA AB AC AD AE ~
>`.pickRestart({
  A: "~@8 x ~@2 x ~ x ~ x", B: "~ x ~ x ~@3 x!2 ~@2 x ~@4", C: "~@2 x ~@4 x!2 ~@4 x ~@2", D: "~ x ~@3 x ~@2 x ~@6 x",
  E: "x ~@5 x ~ x ~@2 x ~@4", F: "~ x ~ x ~@3 x ~@8", G: "x ~@5 x ~@5 x ~ x ~ x ~@10 x ~@4",
  H: "~@3 x ~ x ~@5 x ~@9 x ~@10", I: "~@5 x ~@5 x ~@9 x ~ x ~@3 x ~@4", J: "~@5 x ~@5 x ~@3 x ~ x ~@5 x ~@3 x ~@4",
  K: "~@5 x ~@5 x ~@7 x ~ x ~ x ~@7 x", L: "~@5 x ~@5 x ~@5 x ~ x ~@7 x ~@4",
  M: "~@3 x ~ x ~@5 x ~@5 x ~@5 x ~@3 x ~@4", N: "~@3 x ~@11 x ~ x ~@5 x ~@3 x ~@4",
  O: "~@3 x ~ x ~@5 x ~@3 x ~@7 x ~@5 x ~ x", P: "~@5 x ~@5 x ~@5 x ~@5 x ~@8", Q: "~@5 x ~@7 x ~@5 x ~@7 x ~@3 x",
  R: "~@5 x ~@15 x ~@5 x ~@4", S: "~ x ~ x ~ x ~@5 x ~@9 x ~@5 x ~@4", T: "~@3 x ~ x ~@5 x ~@3 x ~@3 x ~ x ~@5 x ~@4",
  U: "~@3 x ~ x ~@5 x ~@7 x ~ x ~@10", V: "~@3 x ~ x ~@13 x ~ x ~@10", W: "~@5 x ~@21 x ~@4", X: "~@11 x ~@15 x ~@4",
  Y: "~@11 x ~@5 x ~@5 x ~ x ~@5 x", Z: "~@5 x ~@3 x ~ x ~@13 x ~ x ~@4", AA: "~@17 x ~@14", AB: "~ x ~@15 x ~@14",
  AC: "~ x ~@5 x ~@3 x ~@7 x ~ x ~@5 x ~@3 x", AD: "~ x ~@5 x ~@3 x ~@7 x ~ x ~@6 x ~@3", AE: "x ~@2 x ~@28",
})).gain(0.18)

// drums · kick · soft notes
const kick_soft = s("bd").struct("<~@31 A B C D E ~@2 F G H ~ I ~@2 J K F L@2 ~@5 M ~ N ~@6>".pickRestart({
  A: "~@13 x ~@2", B: "~ x ~@14", C: "~@3 x!2 ~@11", D: "~@5 x ~@10", E: "~@11 x ~@4", F: "~@3 x ~@28", G: "~@25 x ~@6",
  H: "~@3 x ~@13 x ~@14", I: "~@15 x ~@16", J: "~@3 x ~@23 x ~@4", K: "~@3 x ~@7 x ~@20", L: "~@15 x ~@3 x ~@12",
  M: "~@29 x ~@2", N: "~ x ~@7 x ~@22",
})).gain(0.09)

// drums · snare
const snare = s("sd").struct("<~@30 A B C D E F G H I H J K H L M H N O P@2 Q R M S ~ T U V W X Y Z ~@2>".pickRestart({
  A: "~@3 x", B: "~ x ~ x", C: "~@4 x ~@2 x ~@4 x ~@3", D: "~@5 x ~@6 x ~@2 x", E: "~@2 x!2 ~@2 x ~",
  F: "~@4 x ~@7 x ~@2 x", G: "~@8 x ~@20 x ~@2", H: "~@13 x ~@5 x ~@9 x ~@2", I: "~@3 x ~@9 x ~@18",
  J: "~@3 x ~@9 x ~@5 x ~@12", K: "~@3 x ~@9 x ~@9 x ~@5 x ~@2", L: "~ x ~ x ~ x ~@7 x ~@5 x ~@7 x ~@4",
  M: "~@3 x ~@9 x ~@5 x ~@9 x ~@2", N: "~@3 x ~@9 x ~@5 x ~@7 x ~ x ~@2", O: "~ x ~ x ~ x ~@9 x ~ x ~ x ~@9 x ~@2",
  P: "~@7 x ~@5 x ~@15 x ~@2", Q: "~@3 x ~@9 x ~@15 x ~@2", R: "~@9 x ~@3 x ~ x ~@3 x ~@9 x ~@2", S: "~@3 x ~@23 x ~@4",
  T: "~@29 x ~@2", U: "~@3 x ~ x ~@3 x ~@9 x ~@5 x ~@6", V: "~@3 x ~@5 x ~@9 x ~@5 x ~@6", W: "~@17 x ~@14",
  X: "~@27 x!2 ~@3", Y: "~@9 x ~@15 x ~@6", Z: "~@9 x ~@16 x ~@5",
})).gain(0.18)

// drums · snare · soft notes
const snare_soft = s("sd").struct("<~@31 A ~ B C ~ D E F G H I ~@2 J ~@14 K L ~@3>".pickRestart({
  A: "~@7 x ~@8", B: "~ x ~@2", C: "~@7 x!2 ~@7", D: "~ x ~@14", E: "~@3 x ~@28", F: "~@29 x ~ x",
  G: "~ x ~ x ~@19 x ~@8", H: "~@27 x ~@4", I: "~@19 x ~ x ~@10", J: "~@23 x ~@8", K: "~@29 x!3", L: "x!2 ~@30",
})).gain(0.09)

// drums · low tom
const low_tom = s("lt").struct("<~@51 [~@21 x ~@10] ~@4 [~ x ~@30] ~@7>").gain(0.18)

// drums · hihat
// … 57 more lines

More by Elton John