Strudelify

Just the Two of Us

Bill Withers

KeyE minorTempo94 bpm
0:00/0:00
// Just the Two of Us — Bill Withers
// 94 bpm, 4/4, key E minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (2/4 at bar 1, 4/4 at bar 2, 2/4 at bar 58, 4/4 at bar 59, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: Full arrangement: all 143 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(94/4)

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

// chords · epiano2
const epiano2 = note(`<
  ~ A B@3 C@3 D@3 E@5 F G@5 H@8 I@3 J K L M N O P Q R S T U V W X Y Z@3 AA AB@3 AC@2 AD@7 AE@2 AF@5 AG AH AI AJ@2 AK AL
  AM@2 AN@2 AO@2 AP@2 AQ AR AS AT@4 AU AV AW@3 AX@7 AY@4 AZ BA BB@8 BC@2 BD@2 BE@2 BF BG BH@2 BI@2 BJ BK@5 BL@4 ~
>`.pickRestart({
  A: "~@6 b5@4 g5@2 e5@4 c5@3 ~ d#5@6 f#5@3 ~ a5@2",
  B: "[~@2 b5@3 ~ g5@11 ~ g5@4 a5@7 ~ g5@4 f5@4 b5@4 g5@2 e5@4 c5@3 ~ d#5@6 f#5@4 a5@4 b5@3 ~ g5@15 ~@11]/3",
  C: "[~@6 b5@4 c6@2 b5@4 c6@4 b5@6 c6@4 b5@4 c6@4 b5@3 ~ c6@2 b5@4 c6@3 ~ d6@10 g5@4 a5@4 b5@4 c6@2 b5@4 c6@4 b5@6 f#5@3 ~ a5@2]/3",
  D: "[~@2 b5@4 a5@8 g5@22 ~@2 b5@4 g5@2 e5@4 c5@3 ~ d#5@6 f#5@4 a5@4 b5@3 ~ g5@2 ~@2 g5@3 ~ a5 ~ g5@3 ~ c6@10 b5@2]/3",
  E: "[~@2 a5@3 ~ b5@4 g5@2 e5@3 ~ c5@4 d#5@5 ~ b5@4 a#5@4 a5@4 g5@30 ~@2 b5@4 c6@2 b5@4 c6@4 b5@6 c6@4 b5@4 c6@4 b5@4 c6@2 b5@4 c6@3 ~ d6@10 g5@4 a5@4 b5@4 c6@2 b5@4 c6@4 b5@6 c6@4 b5@2]/5",
  F: "~ a5@2 g5@2 b5@2 g5@2 e6@7",
  G: "[~@3 [b3,d4,e4,g4]@8 [b3,e4,f#4]@4 [b3,d#4,f#4]@4 [b3,d4,e4,g4]@8 f4@4 f4@4 [b3,d4,e4,g4]@8 [b3,f#4]@4 [b3,d#4,f#4]@4 g4@6 [g4,b4,d5,e5]@10 [b3,d4,e4,g4]@8 [b3,e4,f#4]@4 [b3,d#4,f#4], ~@27 [c4,d4,a4]@8 ~@8 e4@8 [b3,d4,e4]@8 ~@21]/5", // Em7 Bsus4 B Em7 B5 B Em7 Bsus4 …
  H: "[~@6 [b3,d4,e4,g4]@16 f4@8 f4@8 [b3,d4,e4,g4]@16 [b3,f#4]@8 [b3,d#4,f#4]@8 g4@12 [g4,b4,d5,e5]@20 [b3,d4,e4,g4]@6 [b3,d4,e4,g4]@10 [b3,e4,f#4]@6 [a3,c4,d#4,f#4]@2 [b3,d#4,f#4]@8 ~@8 [a#3,c#4,d#4,f#4]@5 ~@2 [c4,d4,f4] f4@7 f4@8 [b3,e4] [b3,e4]@6 [b3,d4,e4,g4]@9 f#4 f#4@5 [a3,c4,d#4,f#4]@2 [b3,d#4,f#4]@8 g4@12 [g4,b4,d5,e5]@19 [b3,d4,e4,g4] [b3,d4,e4,g4]@6 [b3,d4,e4,g4]@9 f#4 [a3,c4,d#4,f#4]@5 ~ [c#4,d#4] [b3,d#4,f#4]@4, ~@22 [c4,d4,a4]@16 ~@16 e4@16 [b3,d4,e4]@16 ~@32 [a3,c4,d#4]@4 ~@12 [b3,d4,e4,g4]@15 a4@16 ~@91, ~@150 [c4,d4]@15 [d4,g4]@6 ~@10 e4@16 ~@53 f#4@2 ~@4, ~@150 a3@12 ~@19 [a3,c4,d#4]@5 ~@65 [a3,c4]@2 ~@3, ~@150 b3 ~@30 b3@8 ~@8 [b3,d4,e4]@30 ~@17 [b3,e4]@8 ~@4]/8", // Em7 B5 B Em7 Bsus4 Adim B D#m7 …
  I: "[~@4 [b3,e4] c4 ~@6 f#4 f#4@4 ~@3 f4@7 ~ f4@8 [b3,d4,e4,g4]@6 [b3,d4,e4,g4]@10 [b3,c4,d#4,f#4]@6 [c#4,d#4,f#4] [b3,d#4,f#4]@8 [b3,d4,e4,g4] g4@11 [g4,b4,d5,e5]@17, ~@4 [d4,g4]@16 b3 ~@31 c#4 ~@15 [b3,d4,e4]@28, ~@5 [b3,e4]@15 [c4,d4,a4]@16 ~@16 e4@15 ~@29, ~@12 [a#3,c#4,d#4]@5 ~@3 a3@12 ~@20 a3@4 ~@2 [a3,c4]@2 ~@36]/3", // E5 Em7 B D#m7 B Em7 G5 E7 …
  J: "~@3 [b3,d4,e4,g4]@5 ~@2 b3@2 ~@8 a3@4 ~@2 c4@2 ~@4, ~@9 [d4,e4,g4]@2 ~@8 [c4,d#4,f#4]@5 ~ [a3,d#4,f#4]@2 ~@5, ~@26 c#4 ~@5", // Em7 Cdim D#dim
  K: "~@4 c4 ~@7 f#4@4 ~@4 f4@12, ~@3 [b3,d4,e4,g4]@6 ~@2 [a#3,c#4,d#4]@5 ~@3 [a3,c4,d4]@13", // Em7 D#7 D7
  L: "~@4 b3@5 ~ b3@2 ~@7 c#4 a3@4 ~@2 c4@2 ~@4, ~@3 [d4,e4,g4]@5 ~ [d4,e4,g4]@3 ~@7 [c4,d#4,f#4]@5 ~ [a3,d#4,f#4]@2 ~@5, ~@26 c#4 ~@5", // Em7 Cdim D#dim
  M: "~ b3@7, ~@3 [d4,e4,g4]@29", // Em7
  N: "~@3 [b3,d4,e4,g4]@5 ~ [b3,d4,e4,g4]@2 ~@8 [a3,c4,d#4,f#4]@5 ~@2 c#4 ~@5, ~@25 [a3,c4,d#4,f#4]@2 ~@5", // Em7 Adim
  O: "~@3 [b3,d4,e4,g4]@6 ~@2 [a#3,c#4,d#4,f#4]@5 ~@3 [a3,c4,d4,f4]@13, ~@3 c4 ~@28", // Em7 D#m7 Dm7
  P: "~@3 [b3,d4,e4,g4]@5 ~ [b3,d4,e4,g4]@3 ~@7 [a3,c4,d#4,f#4]@5 ~@2 c#4 ~@5, ~@19 c#4 ~@5 [a3,c4,d#4,f#4]@2 ~@5", // Em7 Adim
  Q: "~@3 [b3,d4,e4,g4]@29", // Em7
  R: "~@3 [b3,d4,e4,g4]@4 ~@2 [b3,d4,e4,g4]@2 ~@8 [a3,c4,d#4,f#4]@4 ~@2 [a3,c4,d#4,f#4]@2 ~@5", // Em7 Adim
  S: "~@3 [b3,d4,e4,g4]@5 ~@3 [a#3,c#4,d#4,f#4]@4 ~@4 [a3,c4,d4,f4]@13", // Em7 D#m7 Dm7
  T: "~@3 [b3,e4,g4]@4 ~@2 [b3,d4,e4,g4]@3 ~@6 [a3,c4,d#4,f#4]@4 ~@2 [a3,c4,d#4,f#4]@2 ~@6, ~ d4@2 ~@13", // Em Em7 Adim
  U: "~@2 [b3,d4,e4,g4]@29 ~", // Em7
  V: "~@2 [b3,d4,e4,g4]@4 ~@2 [b3,d4,e4,g4]@2 ~@8 [a3,c4,d#4,f#4]@4 ~ c4 [a3,c4,d#4,f#4]@2 ~@6", // Em7 Adim
  W: "~ [b3,e4] [b3,e4]@5 ~@3 f#4@4 ~@3 [a3,c4,d4,f4]@14 ~, ~ [d4,g4]@5 ~@3 [a#3,c#4,d#4]@4 ~@19", // E5 Dm7 G5 D#7
  X: "~ [b3,d4,e4,g4]@4 ~@2 [b3,d4,e4,g4]@3 ~@7 [a3,c4,d#4,f#4]@4 ~@2 [a3,c4,d#4,f#4]@2 ~@7", Y: "~ [b3,d4,e4,g4]@30 ~",
  Z: "[[b3,d4,g4,e6]@14 ~@2 e6@4 f#6@2 d#6@4 b5@4 ~@2 f4 f4@12 ~@3 d6@4 e6@2 c#6@4 a5@4 ~@2 g3 g3@13 ~@2 c6@4 d6@2 b5@4 a5@6, ~@8 [b3,d#4,f#4]@6 ~ d6@8 ~@8 c6@8 ~@9, ~@32 [a3,c4,d4]@12 ~@4 [a3,c#4,e4]@16 [c4,d#4]@13 ~@3 [g3,b3,d4]@16]/3", // Em7 B D7 A Cm G
  AA: "[d4,e5]@3 g5@3 [a3,c4,e4,a5]@10, [e4,g4]@10 ~@2 d#4 ~@19, b3@4 ~@2 b3@3 ~@23", // Dsus2 Am Em
  AB: "[[b3,d4,g4,e5]@14 ~@2 e5@4 f#5@2 d#5@3 ~ b4@4 ~@2 [a3,c4,d4,f4]@12 ~@4 d5@4 e5@2 c#5@4 a4@4 ~@2 [g3,c4,d#4]@13 ~@3 c5@4 d5@2 b4@4 a4@6, ~@8 [b3,d#4,f#4]@6 ~ d5@8 ~ [a3,c#4,e4]@7 c5@8 ~ [g3,b3,d4]@8]/3", // Em7 Dm7 Cm B A G
  AC: "[[d4,g4]@6 g4@6 [a3,c4,e4]@20 ~@16 [b3,d4,e4,g4]@4 ~@2 [b3,d4,e4] ~@9, e4@5 ~ a4@15 ~@11, b3@4 ~@2 b3@3 ~@3 d#4 ~@35 c3@6 ~@10]/2", // G5 Am Em7 E7
  AD: "[[b2,b3,e4,f#4]@8 ~@2 b4@2 d#5@2 ~@2 e5@3 d5@2 [b3,d4,e4] ~@25 [b3,d4,e4,g4]@4 a5@2 [b3,d4,e4,g4] ~ b4 ~ g5@2 e5@3 ~ e5@3 ~ e5 ~ a5@2 f#5@2 d5@2 b4@2 ~@2 [e3,d4,e4]@6 [d4,e4,g4] ~ d4 c#4 c4@2 b3@7 [d4,e4,g4] ~@5 [d4,e4,g4] ~@5 [b3,d4,g4]@4 ~@2 [d4,e4,g4] ~ c4 ~ e4@2 g4@2 b4@2 d5@3 ~ c5@2 b4@2 [d#4,f#4,a4]@2 a4@3 ~ g4@2 [b3,d4,g4,a4]@4 b4@2 [b3,d4,e4] ~@13 e3@4 d4 ~ d4@2 [c#4,d4]@2 c4@2 [e4,g4]@2 e4@4 [b3,d4,g4] ~ d5 ~@4 b4@2 ~ d#5@2 ~ d#5@2 b4@2 [b3,f#4,f#5]@6 b4@2 [b3,g4]@4 g5 f#5 [b3,e4,g4,e5] ~ d#5@2 f#5@2 ~@2 d#5@2 e5@3, ~@8 [b3,d#4,f#4]@6 f#5@2 ~@37 f#5@2 ~@22 e5@27 ~@76 b4@2 ~@4 d5@2 ~@36, ~@15 e3@9 ~@23 c3@8 ~@8 [b2,b3,e4,f#4]@7 ~@40 [c3,e4]@6 ~@10 [b2,b3,e4,f#4]@7 ~@9 [e3,e4]@7 ~@25 [c3,b3,d4]@6 ~@9 [b2,b3,e4,f#4]@7 ~@9 [e3,d4,e4]@7 ~@12, ~@15 [b3,d4,e4]@5 ~@51 b3@7 ~ [b3,g4]@4 ~@2 b3@2 ~@11 b3@6 b3@5 ~@7 b3@2 ~@16 b3@6 ~@26 [b3,g4]@5 ~@53, ~@15 g4@2 ~@4 b4@26 ~@24 [d#4,f#4]@4 ~@73 g4@4 e4@14 e4@8 ~@6 e4@4 ~@13 d#4@3 ~@11 d4@2 ~@11]/7", // Bsus4 E7 Em7 E7 Em7 G Em7 D#dim …
  AE: "[~ [b3,d4,e4,g4]@2 b4@2 d5 ~ c#5 c5 ~ g4 ~ e4 [b3,d4,g4]@4 [a4,a5]@2 [b3,d4,e4,g4] ~ g4@2 [e4,e5]@3 ~@7 a4@2 b4 ~ [b3,f#4,g5]@4 a4@2 ~ [b3,d4,e4,g4]@3 f#5@2 ~ [b3,d4,e4,g4] ~@2 b4 ~@2 b4@2 d5@2 e5 ~ e5@2, ~@7 b3@4 ~@2 [c3,e4]@7 ~@9 [b2,b3,e4,f#4]@7 ~ d#4@3 ~@4 e3@7 ~@13, ~@9 b4@4 ~@8 g5 ~@21 g5@4 ~@2 e5@8 ~@7]/2", // Em7 G A Em7 E Gmaj7 Em7 C …
  AF: "[[b3,d4,e4]@2 d5@2 b4@2 [b3,d4,e4,g4] ~@3 a4@2 [b3,d4,e4,g4]@4 ~@2 [b3,d4,e4,g4] ~ g4@5 ~ a5@2 [b3,e4,f#4,f#5]@4 f#5@2 e5@2 [d#4,f#4]@2 e5 ~ d#5@2 ~@2 [g4,d#5]@2 f#5@4 [d4,e4,d#5]@2 e5@6 b4@2 d5 c#5 c5 [b3,d4,e4,g4]@2 ~@5 c5 e5 ~ g5@2 ~@2 b5@2 c6@2 [d4,e4,g4] ~@3 b5@2 ~@2 c5@2 ~@2 a#4@2 b4@2 d#5@2 [b3,f#5]@6 b4 ~ g5 ~ f#5@2 e5@2 [b3,d4,e4,g4,d#5] ~ f#5@2 e5@2 d5@2 c5@2 b4@3 ~ g4 ~@5 b3@5 ~ [c3,d4,e4]@6 [d4,e4,g4] ~ b4@2 e5 ~ d5@2 ~@2 b4@3 a4@2, g4 ~@5 b4@2 ~@4 c3@6 b4@2 ~@8 b2@11 ~@5 e3@8 ~@11 [e3,b4]@4 ~@2 b3@4 ~@2 [c3,d4,e4]@7 ~@9 [b2,b3,e4,f#4]@7 ~@9 [e3,b3,d4,e4,g4]@6 ~@14 b3@4 a4@8 ~@14 c5@2 ~@5, ~@12 d5 ~@3 d5@4 ~@16 b3@6 ~@2 [b3,d4,e4]@5 ~ [b3,g4] ~@17 b4@2 ~@5 [b3,g4]@4 ~@2 b3@3 ~@8 b4@2 ~@5 [d#4,f#4]@3 ~@25 [d4,e4]@7 ~@5 [b3,g4]@4 ~@2 [b3,a4]@2 ~@7 [b2,b3,e4,f#4]@6, ~@76 a5@2 ~@6 c6@2 ~@23 f5 ~@16 b4@2 g4@7 ~@25]/5", // E7 Em7 Bsus4 D#m Cm Em7 B5 Em7 …
  AG: "b4@2 ~ f#5@3 b4 ~@5 f#5@2 e5@2 [b3,d4,e4,g4] ~ f#5@4 e5@2 b4@4 e3@2 [e3,g3]@2, ~ [b3,f#4]@3 ~ e3@4 ~@7, ~@2 d#4@3 ~@3 g5@5 ~@3 d#5@2 ~@14, ~@10 [b3,d4,e4,g4]@5 ~@7 [b3,d4,e4,g4]@10", // Em7 Em B5 Em7
  AH: "~@4 e4@2 g4@2 b4@2 d5 ~ d5@4 [b3,d4,e4,g4] ~@9 [b3,e4,f#4]@6, b3@5 ~@5 [b3,d4,e4,g4]@4 ~@18, ~@2 d4@4 e4 ~@25", // Em7 Bsus4 Em7
  AI: "~@2 [d#4,f#4]@2 b4@2 d#5@2 f#5@2 e5@2 f#5@2 ~ [b3,d4,e4,g4] d#5 ~ f#5@2 ~ d5@2 ~ c5@2 ~@3 [b3,d4,e4,g4] ~@2, ~@2 b3@6 ~@2 [b3,d4,e4,g4]@5 ~@5 e5@2 ~@10, ~@10 g5 ~ f5 ~ [d5,e5]@2 b4@9 ~ b4@5 ~", // D#m Em7 Dsus2
  AJ: "[~@3 [d4,e4,g4] ~@5 [b3,d4,e4,g4]@4 ~@2 [b3,d4,e4,g4] ~ b4@2 e5 ~ d5@2 c5@2 [b3,e4,f#4]@4 a4@2 b4@2 [b3,d#4,f#5]@4 b4 ~@3 [b3,d4,e4,g4]@5 ~ [b3,e4,g4] ~@13 [b3,d4,e4,g4]@3, ~@3 b3@3 ~@3 f4 ~@5 a4@2 ~@8 b4@3 ~@5 f#4@3 ~@3 g5@5 ~@3 d4@2 ~@15]/2", // Em7 Bsus4 B Em7 Em Em7
  AK: "~@2 b3@3 ~@3 [b3,d4,e4,g4]@4 ~@2 [b3,d4,e4,g4] ~@9 [b3,e4,f#4]@6 ~@2, ~@2 e4 ~@29", // Em7 Bsus4
  AL: "f#4 b4 d#5 f#5 [b3,d4,e4,g4]@2 d5 [b3,d4,e4] ~@6 [b3,d4,e4,g4]@2, [b3,d#4]@6 ~@2 e5@3 ~@3 b4@11 ~@7, ~@14 g4 ~@17", // Em7 E7 Em7 B
  AM: "[~@2 [d4,e4]@3 ~@3 [b3,d4,e4,g4]@4 ~@2 [b3,d4,e4,g4] ~@8 [b3,e4,f#4]@6 ~@2 [d#4,f#4]@3 ~@5 [b3,d4,e4,g4]@4 ~@2 [b3,d4,e4]@2 ~@12 [b3,d4,e4,g4]@3 ~@2, ~@2 [b3,g4] ~@28 b3@6 ~@8 g4 ~@18]/2", // Dsus2 Em7 Bsus4 D#m Em7 E7 Em7 Em
  AN: "[~ [b3,d4,e4,g4] ~@5 [b3,d4,e4,g4]@4 ~@2 [b3,d4,e4,g4] ~@9 [b3,e4,f#4]@6 ~@4 b4@2 d#5@2 f#5@2 [b3,d4,e4,g4]@4 ~ [b3,d4,e4,g4] b4@11 ~@2 [b3,d4,e4,g4]@4 ~@2, ~@31 [b3,d#4,f#4]@6 ~@2 e5@3 ~ d5@2 ~@19]/2", // Em7 Bsus4 Em7 B
  AO: "[[d4,e4]@2 ~@4 [b3,d4,e4,g4]@4 ~@2 [a#3,b3,d4,e4,g4] ~@9 [b3,e4,f#4]@7 ~ [d#4,f#4]@3 ~@5 [b3,d4,e4,g4]@5 ~ [b3,d4,e4,g4] ~@5 [b3,d4,e4,g4]@3 ~@5 [b3,d4,e4,g4]@3 ~@3, [b3,g4] ~@29 b3@6 ~@28]/2", // Dsus2 Em7 Bsus4 D#m Em7 Em
  AP: "[[b3,d4,e4,g4] ~@4 [b3,d4,e4,g4]@5 ~ [b3,d4,e4,g4] ~@9 [b3,e4,f#4]@6 ~@2 [d#4,f#4]@2 b4@2 d#5@2 ~@2 e5@2 e5 ~ d5@2 [b3,d4]@2 ~@4 [b3,d4,e4,g4]@4 ~@2 [b3,d4,e4,g4] ~@5 [d4,e4,g4]@3, ~@29 b3@6 f#5@4 ~@4 b4@6 ~@15, ~@37 [b3,d4,e4,g4]@5 ~ e4 ~@17 b3 ~@2]/2", // Em7 Bsus4 D#m Bm Em7
  AQ: "~ b3 ~@3 [b3,d4,e4,g4]@4 ~@2 [b3,d4,e4,g4] ~@9 [b3,e4,f#4]@6 ~ [b3,d#4,f#4]@4", // Em7 Bsus4 B
  AR: "~@4 [b3,d4,e4,g4]@5 ~ [d4,e4]@2 ~@4 [b3,d4,e4,g4]@14 ~@2, ~@10 [b3,g4] ~@21", // Em7 Dsus2 Em7 Em
  AS: "~@4 [b3,d4,g4,e6]@14 ~@2 e6@3 f#6@3 d#6@3 b5@3, ~@5 [b3,d#4,f#4]@3", // Em7 B
  AT: "[~@4 [a3,c4,d4,f4]@12 ~@7 e6@2 c#6@4 a5@4 ~@2 [g3,c4] [g3,c4,d#4]@13 ~@2 c6@3 d6@2 ~ b5@4 a5@6 [d4,e5]@6 g5@6 [a3,c4,e4,a5]@20 [b3,d4,g4,e5]@14 ~@2 e5@3 f#5@2 d#5@3 ~ b4@4, ~@2 d6@16 ~ d6@4 ~@10 c6@16 ~@18 b3@4 ~@2 b3@3 ~@39 [b3,d#4,f#4]@12 ~, ~@20 [a3,c#4,e4]@16 ~@15 [g3,b3,d4]@16 [e4,g4]@10 ~@2 d#4 ~@48]/4", // Dm7 C5 Cm Dsus2 Am Em7 B A …
  AU: "~@2 f4 [a3,f4]@12 ~@3 d5@4 e5@2 c#5@4 a4@4, d5 ~, ~ [c4,d4]@6 ~@2 [a3,c#4,e4]@7", // Dm Csus2 A
  AV: "~@2 [g3,c4,d#4]@13 ~@3 c5@3 d5@2 ~ b4@3 a4@5, c5@8 ~ [g3,b3,d4]@7", // Cm G
  AW: "[~ e4 [d4,g4]@5 ~ b3@3 ~@3 [a3,c4,e4]@20 ~@15 b5@4 g5@2 e5@4 c5@4 d#5@6 f#5@4 a5@4 b5@3 ~ g5@11 ~ g5@3, ~@2 e4@10 ~ a4@30 ~@53, ~@2 b3@4 ~ g4@7 d#4 ~@81]/3", // G5 Am
  AX: "[~ a5@7 ~ g5@4 f5@4 b5@4 g5@2 e5@4 c5@4 d#5@6 f#5@4 a5@4 b5@4 g5@11 ~ [b5,d6,e6]@20 b5@4 g5@2 e5@4 c5@3 ~@3 [b3,e4,f#4]@4 f#5@4 [b3,d#4,f#4,a5]@4 b5@3 ~ g5@3 ~ g5@3 ~ a5@2 g5@4 f4 ~ f4@7 ~ [f4,b5]@4 a5@2 ~@2 b5@4 g5@2 e5@3 ~ c5@3 ~@7 b5@4 [d#4,f#4,a#5]@4 a5@4 g5@11 ~ [b5,d6,e6]@20 b5@4 c6@2 b5@4 c6@4 b5, ~@81 [b3,g4]@14 ~@18 [b3,d4,e4,g4]@12 ~@4 [c4,d4,a4]@13 ~@3 b3@14 ~@2 [b3,e4,f#4]@7 ~ b3@7 ~ [b3,d4,e4]@29 ~@3 [b3,d4,e4,g4]@14 ~, ~@81 [d4,e4]@11 ~@3 d#5@7 ~@25 c6@10 ~@8 [d4,e4,g4]@11 ~@3 d#5@6 ~@12 g4@26 ~@21]/7", // E7 Bsus4 B7 Fdim D#m E7 Em Em7 …
  AY: "[~ [b3,e4,f#4]@4 c6@4 [d#4,f#4,b5]@4 c6@4 b5@4 c6@2 b5@4 c6@4 ~@2 a3@6 ~@2 [a3,g5]@4 a5@4 b5@4 c6@2 b5@4 c6@4 ~@6 f#5@4 [d#4,f#4,a5]@4 b5@4 a5@8 g5@7 ~@9 d4@4 e4 ~@3 [b3,d4,e4,g4]@5 ~ [b3,d4,e4,g4] ~@8, ~@9 b3@7 ~ [b3,d4,e4,g4]@13 ~ d6@9 ~@23 b5@6 ~@12 [b3,d4]@20 b3@9 ~@18, ~@33 [c4,d4,f4]@13 ~@3 [b3,d4,e4,g4]@13 ~@3 [b3,e4,f#4]@7 ~ b3@7 ~ [e4,g4]@24 ~@23, ~@97 [b5,d6,e6]@17 ~@14]/4", // Bsus4 B A7 D#dim Em7 Bm Dm7 Em7 …
  AZ: "~ [b3,e4,f#4]@6 ~@2 [b3,d#4,f#4]@4 ~@4 [b3,d4,e4,g4]@13 ~@2", // Bsus4 B Em7
  BA: "a3@6 ~@2 a3@4 ~@4 [b3,d4,e4,g4]@5 ~ [b3,d4,e4,g4] ~@9, [c4,d4,f4]@11 ~@21", // Em7 Dm7
  BB: "[[b3,e4,f#4]@6 ~@2 [d#4,f#4]@3 ~@5 [b3,d4,e4,g4]@19 ~ [d4,e4,g4]@5 ~ b3@3 ~@2 [b3,d4,e4,g4]@5 ~ [b3,d4,e4,g4] ~@9 [b3,e4,f#4]@6 ~@2 [d#4,f#4]@3 ~@5 b3@7 ~ b3@5 ~@3 [c4,d4,f4]@8 a3@3 ~@5 [b3,d4,e4,g4]@5 ~ [b3,d4,e4,g4] ~@9 [b3,e4,f#4]@6 ~ [d#4,f#4]@3 ~@5 [b3,d4,e4,g4]@26 ~@6 [b3,d4,e4,g4]@4 ~@2 [b3,d4,e4,g4] ~@9 [b3,e4,f#4]@6 ~@2 [d#4,f#4]@3 ~@5 [b3,d4,e4,g4]@12 ~@3 [a3,c4,d4,f4]@7 ~ [c4,d4,f4] ~@7 [b3,d4,e4,g4]@4 ~@2 [b3,d4,e4,g4] ~@5 [b3,d4,e4,g4] ~@3 [b3,e4]@3, ~@8 b3@6 ~@22 b3 ~@34 b3@6 ~@2 [d4,e4,g4]@11 ~@5 a3@6 ~@33 b3@6 ~@58 b3@5 ~@26 a3@3 ~@24]/8", // Bsus4 D#m Em7 Bsus4 D#m Dm7 Em7 Bsus4 …
  BC: "[~@5 [d#4,f#4]@3 ~@5 [d4,e4,g4]@12 ~@4 e4@7 ~ [d4,e4] ~@3 d4 ~@2 [b3,d4,e4,g4]@4 ~@2 [b3,d4,e4,g4] ~@9 [b3,e4,f#4]@4, ~@5 b3@6 ~@2 b3@10 ~@2 b3@4 ~@8 b3@4 ~@23, ~@27 d4@9 ~ g4@3 ~@24]/2", // D#m Em7 Dsus2 Em7 Bsus4
  BD: "[~@4 [d#4,f#4]@2 ~@6 [b3,d4,e4,g4]@5 ~ [b3,g4]@3 ~@3 [b3,d4,e4,g4] ~@3 [c4,d4,f4]@8 [d4,f4] ~@7 [b3,d4,e4,g4]@5 ~ [b3,d4,e4,g4] ~@9 [b3,e4,f#4]@4, ~@4 b3@5 ~@9 d4@5 ~@5 a3@6 ~@2 a3@3 ~@25, ~@18 e4 ~@45]/2", // D#m Em7 Em Em7 Dm7 Dm Em7 Bsus4
  BE: "[~@3 [d#4,f#4]@3 ~@5 [d4,e4,g4]@12 b3@2 ~@2 e4@4 ~@4 e4@4 d4@2 ~@2 [b3,d4,e4,g4]@4 ~@2 [b3,d4,e4,g4] ~@9 [b3,e4,f#4]@5, ~@3 b3@5 ~@3 b3@10 ~@4 d4@6 g4@7 ~@26]/2", // D#m Em7 Bsus4
  BF: "~@3 [d#4,f#4]@3 ~@5 [b3,d4,e4,g4]@11 b3 ~@3 [a3,c4,d4,f4]@6, ~@3 b3@6 ~@23", // D#m Em7 Dm7
  BG: "~@2 [a3,c4,d4,f4]@3 ~@5 [b3,d4,e4,g4]@5 ~ [b3,d4,e4,g4] ~@9 [b3,e4,f#4]@6", // Dm7 Em7 Bsus4
  BH: "[~@2 [d#4,f#4]@3 ~@5 [b3,d4,e4,g4]@10 ~@2 [b3,d4,e4,g4]@4 ~@4 [d4,e4,g4]@5 ~ [b3,d4,e4,g4] ~@5 [b3,d4,e4,g4]@4 ~ [b3,d4,e4,g4] ~@9 [b3,e4,f#4]@6 ~, ~@2 b3@6 ~@22 b3@3 ~@31]/2", // D#m Em7 Bsus4
  BI: "[~ [d#4,f#4]@3 ~@5 [b3,d4,e4,g4]@12 ~@4 a3@7 ~ a3@3 ~@5 [b3,d4,e4,g4]@5 ~ [b3,d4,e4,g4] ~@9 [b3,e4,f#4]@6 ~, ~ b3@6 ~@18 [c4,d4,f4]@11 ~@28]/2", // D#m Em7 Bsus4 Dm7
  BJ: "~ [d#4,f#4]@3 ~@4 [b3,d4,e4,g4]@20 b3@2 d4@2, ~ b3@5 ~@26", // D#m Em7
  BK: "[e4@4 g4 ~@3 [b3,d4,g4,e6]@14 ~@2 e6@3 f#6@3 d#6@4 b5@4 ~@2 [a3,c4,d4,f4]@12 ~@7 e6@2 c#6@4 a5@4 ~@2 g3 [g3,c4,d#4]@13 ~@6 d6@2 b5@4 a5@6 [d4,e5]@6 g5@6 [a3,c4,e4,a5]@20 [b3,d4,g4,e5]@14 ~@2 e5@3 f#5@2 ~ d#5@3, ~@24 [b3,d#4,f#4]@12 ~@2 d6@16 ~ d6@4 ~@10 c6@16 ~@2 c6@4 ~@12 b3@4 ~@2 b3@3 ~@39 [b3,d#4,f#4]@9, ~@56 [a3,c#4,e4]@16 ~@15 [b3,d4]@16 [e4,g4]@10 ~@2 d#4 ~@44, ~@11 g3@2 ~@7]/5", // Em7 Dm7 Cm Dsus2 Am Em7 B A …
  BL: "[b4@4 ~@2 f4 [a3,c4,d4,f4]@12 ~@3 d5@4 e5@2 c#5@4 a4@4 ~@2 [g3,c4,d#4]@13 ~@3 c5@4 d5@2 b4@4 a4@6 [b3,g4]@6 g4@7 [a3,c4,e4]@26 ~@19, ~@4 d5@16 ~@2 [a3,c#4,e4]@14 c5@16 ~@2 [g3,b3,d4]@16 [d4,e4]@10 ~@3 a4@39 ~@6, ~@76 b3@4 ~@3 d#4 ~@44]/4", // Dm7 Cm Em Am A G Dsus2
})).s("gm_epiano2").gain(0.4)

// other · synth strings 1
const synth_strings_1 = note("<~@25 A@8 ~@8 B@2 C D ~@64 E F G H@8 I@6 J K L@2 M N O@2 ~@9>".pickRestart({
  A: "[~@6 c5@16 b4@8 d#5@8 e5@16 d5@7 g4@8 c5@16 b4@8 d#5@8 e5@32 c5@16 b4@7 d#5@8 e5@16 d5@8 g4@8 c5@16 b4@8 d#5@8 e5@28]/8",
  B: "[~@3 c5@16 b4@8 d#5@8 e5@16 d5@7 g4@6]/2", C: "~ c5@8 b4@4 d#5@3", D: "~ e5@15", E: "~@17 c5@15",
  F: "~ b4@8 d#5@7 e5@16", G: "~ d5@7 g4@8 c5@16",
  H: "[b4@8 d#5@8 e5@32 c5@15 b4@8 ~ d#5@7 e5@16 d5@8 g4@8 c5@16 b4@7 d#5@8 e5@32 c5@15 ~ b4@8 d#5@8 e5@16 d5@7 g4@8 c5@16 b4@3]/8",
  I: "[~@5 d#5@8 e5@32 c5@15 b4@8 ~ d#5@7 e5@15 d5@8 ~ g4@8 c5@15 b4@8 d#5@8 e5@32 c5@15 b4@6]/6",
  J: "~@3 d#5@8 e5@15 d5@6", K: "~ g4@4 c5@8 b4@3", L: "[~@2 d#5@8 e5@32 c5@15 b4@7]/2", M: "~ d#5@8 e5@16 d5@7",
  N: "~ g4@7 c5@16 ~ b4@7", O: "[d#5 e5@4 ~@3]/2",
})).s("gm_synth_strings_1").gain(0.32).pan(0.3)

// other · glockenspiel
const glockenspiel = note(`<
  ~ A B C@2 D@2 E F G H I J K@2 L@2 M@7 N@2 ~@7 O@2 P@7 ~@55 Q@2 R@7 S@3 T ~@33
>`.pickRestart({
  A: "~@6 b5 ~@3 g5 ~ e5 ~@3 c5 ~@3 d#5 ~@5 f#5 ~@3 a5@2", B: "~@2 b5 ~@3 g5 ~@11 g5@2 ~@2 a5 ~@7 g5@2",
  C: "[~@2 f5 ~@3 b5 ~@3 g5 ~ e5 ~@3 c5 ~@3 d#5 ~@5 f#5 ~@3 a5@4 b5 ~@3 g5 ~@25]/2",
  D: "[~@6 b5@4 c6@2 b5@4 c6@3 ~ b5@6 c6@3 ~ b5@4 c6@3 ~ b5@4 c6@2 b5@4 c6@4 d6@4 ~@6 g5@2]/2",
  E: "~@2 a5@3 ~ b5@3 ~ c6 ~ b5@4 c6@3 ~ b5 ~@5 f#5 ~@3 a5@2", F: "~@2 b5@3 ~ a5@7 ~ g5 ~@17",
  G: "~@6 b5@4 g5 ~ e5@3 ~ c5@2 ~@2 d#5 ~@5 f#5 ~@3 a5@2", H: "~@2 b5 ~@3 g5 ~@3 g5@3 ~ a5 ~ g5@2 ~@2 c6 ~@9 b5@2",
  I: "~@2 a5 ~@3 b5 ~@3 g5 ~ e5@2 ~@2 c5@2 ~@2 d#5 ~@5 b5 ~@3 a#5 ~", J: "~@2 a5@2 ~@2 g5 ~@25",
  K: "[~@6 b5@4 c6@2 b5@4 c6@4 b5@6 c6@4 b5@4 c6@3 ~ b5@3 ~ c6@2 b5@4 c6@4 d6 ~@9 g5@2]/2",
  L: "[~@2 a5@3 ~ b5@4 c6@2 b5@3 ~ c6@4 b5@6 c6@3 ~ b5@4 a5@3 ~ g5@3 ~ b5@3 ~ g5@2 ~@2 e6 ~@13]/2",
  M: "[~@6 b5@3 ~ g5@2 e5@3 ~ c5@4 d#5@6 f#5@4 a5@4 b5@3 ~ g5@10 ~@2 g5@4 a5@7 ~ g5@4 f5@4 b5@4 g5@2 e5@4 c5@3 ~ d#5@6 f#5@4 a5@4 b5@3 ~ g5@11 ~ [b5,d6,e6]@20 b5@4 c6@2 b5@4 c6@4 b5@6 c6@4 b5@4 c6@4 b5@4 c6@2 b5@4 c6@4 d6@7 ~@3 g5@4 a5@4 b5@4 c6@2 b5@4 c6@4 b5@6 f#5@3 ~ a5@2]/7", // E7
  N: "[~@2 b5@4 a5@7 ~ g5@6 ~@2 [b5,d6,e6]@15 ~@27]/2", // E7
  O: "[~@3 b5@4 g5@2 e5@4 c5@4 d#5@6 f#5@4 a5@4 b5@3 ~ g5@2 ~@2 g5@3 ~ a5@2 g5@3 ~ c6@10 b5@4 a5]/2",
  P: "[~@3 b5@4 g5@2 e5@3 ~ c5@4 d#5@5 ~ b5@4 a#5@4 a5@4 g5@11 ~ [b5,d6,e6]@20 b5@4 c6@2 b5@4 c6@4 b5@6 c6@4 b5@4 c6@4 b5@4 c6@2 b5@4 c6@4 d6@10 g5@4 a5@4 b5@4 c6@2 b5@4 c6@4 b5@6 c6@4 b5@4 a5@4 g5@4 b5@4 g5@4 e6@20 ~@29]/7", // E7
  Q: "[~@17 b5@4 g5@2 e5@4 c5@4 d#5@6 f#5@4 a5@4 b5@3 ~ g5@11 ~ g5@3]/2",
  R: "[~ a5@7 ~ g5@4 f5@4 b5@4 g5@2 e5@4 c5@4 d#5@6 f#5@4 a5@4 b5@4 g5@11 ~ [b5,d6,e6]@20 b5@4 g5@2 e5@4 c5@3 ~ d#5@6 f#5@4 a5@4 b5@3 ~ g5@3 ~ g5@3 ~ a5@2 g5@4 c6@10 b5@4 a5@2 ~@2 b5@4 g5@2 e5@3 ~ c5@3 ~ d#5@6 b5@4 a#5@4 a5@4 g5@11 ~ [b5,d6,e6]@20 b5@4 c6@2 b5@4 c6@4 b5]/7", // E7
  S: "[~@5 c6@4 b5@4 c6@4 b5@4 c6@2 b5@4 c6@4 d6@9 ~ g5@4 a5@4 b5@4 c6@2 b5@4 c6@4 b5@6 f#5@4 a5@4 b5@4 a5@8 g5@7]/3",
  T: "~ [b5,d6,e6]@17 ~@14", // E7
})).s("gm_glockenspiel").gain(0.22)

// bass · fretless bass
const bass = note("<~@8 A@8 B@2 ~@79 C D E F@2 ~@41>".pickRestart({
  A: "[~@6 e2@30 ~@2 c3@16 b2@7 ~ d#3@7 ~ e3@15 ~ d3@7 ~ g2@7 ~ c3@15 ~ b2@7 ~ d#3@6 b2@2 e3@31 ~ c3@15 ~ b2@7 ~ d#3@7 ~ e3@15 ~ d3@7 ~ g2@7 ~ c3@15 ~ b2@7 ~ d#3@2]/8",
  B: "[~@4 b2@2 e3@31 ~@27]/2", C: "~@17 c3@15", D: "~ b2@7 ~ d#3@7 ~ e3@15", E: "~ d3@7 ~ g2@7 ~ c3@15",
  F: "[~ b2@7 ~ d#3@5 ~ b2@2 e3@31 ~@16]/2",
})).s("gm_fretless_bass").gain(0.4)

// bass · electric bass finger
const bass_2 = note(`<
  ~@17 A@8 B C@2 D E F@2 G H I H J@2 I H K L M N O P Q R S T U V W T U V X Y Z@8 AA@4 AB@2 AC AD AE AF AG@2 AH AI AJ@3
  AK@2 AL AM AN AO@4 AP AQ AR AS AT ~@4 AU AV AW AX@2 AY AW AZ@2 BA BB BC BD BE@6 BF@2 BG BH BI BJ BK@2 BL@2 BM BN BO@5
  BP@6
>`.pickRestart({
  A: "[~@6 c2@15 ~ b1@7 ~ d#2@7 ~ e2@15 ~ d2@7 ~ g1@7 ~ c2@15 ~ b1@7 ~ d#2@6 b1@2 e2@15 ~ e1@6 g1@2 a1@6 b1@2 c2@15 ~ b1@7 ~ d#2@7 ~ e2@15 ~ d2@7 ~ g1@7 ~ c2@15 ~ b1@7 ~ d#2@6 b1 ~ e2@25 ~]/8",
  B: "g1@2 b1@4 c2@5 ~ c2 ~@9 b1@10", C: "[~@4 b1 ~ e2@7 ~ d#2@7 ~ d2@7 g1@7 ~ c2@4 ~@3 c2@2 ~@7 b1@11]/2",
  D: "~@3 b1 ~ e1@4 ~@2 e1@2 ~@4 e1 ~@3 e1@7 ~@4", E: "~ b1@2 ~@2 c2@7 ~@6 c2@2 ~ b1@7 ~@4",
  F: "[~@2 b1 ~ e2@8 d#2@7 ~ d2@8 g1@7 ~ c2@5 ~@9 c2@2 b1@8 ~@4]/2", G: "~ b1 ~@2 e2@28", H: "~@3 c2@15 ~ b1@7 ~ d#2@5",
  I: "~@3 e2@15 ~ d2@7 ~ g1@5", J: "[~@3 e2@17 ~ g1@5 ~ a1@4 b1@4 c2@15 ~ b1@7 ~ d#2@5]/2", K: "~@3 e2@29",
  L: "~@3 c2@15 ~ b1@13", M: "~@3 e2@7 ~ d#2@7 ~ d2@7 ~ g1@5", N: "~@2 c2@15 ~ b1@12 b1@2",
  O: "~@2 e1@4 ~@2 e1@3 ~@3 e1@2 ~@2 e1@8 ~@2 a1 ~ b1@2", P: "~@2 c2@15 ~ b1@10 ~ b1@3",
  Q: "~ e2@7 ~ d#2@7 ~ d2@7 ~ g1@7", R: "~ c2@15 ~ b1@15", S: "~ e1@11 b1@4 e2@12 g1@2 ~@2", T: "c3@15 ~ b2@15 ~",
  U: "a#2@15 ~ a2@15 ~", V: "g#2@15 ~ g2@15 ~", W: "c2@3 ~@3 c2@3 ~@3 f2@20", X: "c2@4 ~@2 c2@5 ~ f2@20",
  Y: "~@8 c2@2 ~ c2 ~@4",
  Z: "[b1@7 ~ d#2@5 ~@3 e2@5 ~@22 g1@3 ~ c2@4 ~@2 c2@2 ~@8 b1@6 ~@2 d#2@6 ~@2 e2@5 ~ e2@18 d2@2 ~ g1@2 ~@2 c2@4 ~@2 c2@2 ~@8 b1@6 ~@2 d#2@5 ~@3 e2@5 ~ e2@20 ~@6 c2@4 ~@2 c2@3 ~@7 b1@7 d#2@5 ~@3 e2@5 ~ e2@20 ~@2 g1@2 ~@2 c2@4 ~@2 c2@2 ~@8 b1@3, ~@21 e2@25 ~@210]/8",
  AA: "[~@5 d#2@5 ~@3 e2@5 e2@18 d2@3 ~ g1@3 ~ c2@4 ~@2 c2@2 ~@8 b1@7 ~ d#2@4 ~@4 e2@5 ~ e2@20 ~@6 c2@4 ~ c2@2 ~@8 b1@5]/4",
  AB: "[~@3 d#2@5 ~@3 e2@5 ~ e2@20 ~@2 g1@3 ~ c2@4 ~@2 c2@2 ~@8 b1@5]/2",
  AC: "~@3 d#2@5 ~@2 e2@4 e3@3 ~ f#2@4 f#3@4 g2@4 g3@2",
  AD: "~@2 a2@3 ~ b2@2 ~@2 c2@5 ~ c3@2 ~@2 c3 ~@3 c3 ~ b1@4 b2@2",
  AE: "~@2 b1@4 d#2@4 e2@4 e3@4 d#2@3 d#3@4 ~ d2@3 d3@3", AF: "~ g1@4 g2@3 ~ c2@5 ~ c3@2 ~@2 c3 ~@3 c3 ~ b1@4 b2@3",
  AG: "[~ b1@4 d#3@3 ~ e2@5 ~ e3@2 ~@2 e3@3 ~ b2@2 e3@2 ~@2 e3@4 d2@4 g2@4 c2@5 c3@2 ~@2 c3 ~@3 c3 ~ b1@4 b2@2 ~@2]/2",
  AH: "b1@4 d#2@3 ~ e1@4 e2@3 ~ f#1@4 f#2@4 g1@4 g2@4", AI: "a1@3 ~ b1@3 ~ c2@5 ~ c3@2 ~@2 c3 ~@3 c3 ~ b1@4 b2@4",
  AJ: "[b1@3 b2@3 ~@2 e2@5 e3 ~@3 e3@3 ~ b2 ~ e2@4 b2@4 a1@4 b1@3 ~ c2@5 ~ c3@2 ~@2 c3 ~@3 c3 ~ b1@3 ~ b2@4 f#3@3 ~ b1@3 ~ e2@7 ~ d#2@7 ~ d2@7 g1@2]/3",
  AK: "[~@2 g2@3 ~ c2@5 ~ c3 ~@3 c3 ~@3 c3 ~ b1@4 d#2@4 f#2@4 b1@3 ~ e2@5 ~ e3@2 ~@2 e3@2 ~@2 b2 ~ e2@4 b1@3 ~ e1@2]/2",
  AL: "~@2 b1@3 ~ c2@5 c3 ~@3 c3@3 ~ c3 ~ b1@4 d#2@3 ~ f#2@3", AM: "~ d#3@4 e2@4 e3@4 f#2@4 f#3@4 g2@4 g3@4 a2@3",
  AN: "~ b1@4 c2@5 ~ c3 ~@3 c3@3 ~ c2 ~ b1@4 d#2@4 f#2@3",
  AO: "[d#2@2 ~ b1 e2@5 ~ e3@3 ~ b2@4 g1@2 e1@15 ~ c2@15 ~ b1@15 ~ a#1@15 ~ a1@15 g#1@15 ~ g1@13]/4",
  AP: "~@3 c2@5 ~ c2@5 ~ f1@15 ~@2", AQ: "~@3 c2@15 b1@14", AR: "~@2 a#1@15 ~ a1@14", AS: "~@2 g#1@15 ~ g1@14",
  AT: "~@2 c2@5 ~ c2@5 ~ f1@15 ~@3", AU: "~@17 c2@15", AV: "~ b1@7 ~ d#2@7 ~ e2@15", AW: "~ d2@7 ~ g1@7 ~ c2@15",
  AX: "[~ b1@7 ~ d#2@5 ~ b1@2 e2@14 e2@2 e1@6 g1@2 a1@6 b1@2 c2@15]/2", AY: "~ b1@7 ~ d#2@5 ~ b1@2 e2@15",
  AZ: "[~ b1@7 ~ d#2@6 b1 ~ e2@14 e2@2 e1@3 ~ g1@4 a1@4 b1@3 ~ c2@4 ~@2 c3 ~@8]/2", BA: "~ b1@5 ~ b2 ~@9 e2@7 ~ d#2@7",
  BB: "~ d2@7 g1@7 ~ c2@5 ~ c3@2 ~@8", BC: "b1@5 ~ b2 ~@9 e2@4 e3@3 ~ f#2@4 f#3@4",
  BD: "g2@4 g3@3 ~ a2@4 b2@3 ~ c2@6 c3@2 ~@8",
  BE: "[b1@5 b2 ~@9 e2@7 ~ d#2@7 ~ d2@7 ~ g1@7 ~ c2@5 ~ c3 ~@9 b1@6 b2@2 ~@5 b1 ~@13 e1@16 ~@4 c2@5 ~ c3@2 ~@2 c3@2 ~@2 c2 ~ b1@8 d#2@8 e2@4 e3@4 d#2@4 d#3@4 d2@3 d3@4 g1@7 ~ c2@5 ~ c3@2 ~@2 c3@2 ~@2 c2 ~ b1@3, ~@79 e2@15 ~@98]/6",
  BF: "[~ f#2 ~ f#2 ~ b2@5 ~ b1@2 ~@10 e3@3 ~ b2@2 e2@4 g1@3 ~ a1@4 b1@4 c2@5 ~ c3@2 ~ c3@2 ~@2 c2@2 ~ b1@3, ~@13 e2@16 ~@35]/2",
  BG: "d#2@4 f#2@3 ~ d#2@4 e2@4 e3@4 d#2@4 d#3@4 d2@4", BH: "d3@6 d2 ~ g2@3 ~ c2@5 ~ c3@2 ~@2 c3@3 ~ c2@2 b1@3 ~",
  BI: "f#2@2 a2@2 b2@6 b1 ~ e2@5 b2@4 e3@4 b1 ~ e2@5", BJ: "~ b1@6 g1@3 ~ c2@4 ~@2 c3@2 ~@2 c3@2 ~@2 c3 ~ b1@5",
  BK: "[~ d#2 ~ f#2@4 ~@2 b2 ~ e2@5 ~ e3@2 ~@2 e3@5 ~@4 d3@4 ~ g1@3 g2@4 c2@6 c3@2 ~@2 c3@3 ~ c2 ~ b1@4 d#2@2, ~@27 d2@5 ~@32]/2",
  BL: "[~@2 f#2@4 b1@3 ~ e2@5 ~ e3@4 b2@3 ~ g2@2 e2@3 ~ g2@4 a2@4 b2@4 c2@5 ~ c3@2 ~ c3@3 ~ c3@2 ~ b1@3 d#2@3]/2",
  BM: "~ b1@4 f#2@4 e2@7 ~ d#2@7 ~ d2@4 d3@3", BN: "~ g1@4 g3@4 c2@5 ~ c3@2 ~@2 c3@2 ~@2 c3 ~ b1@5 ~ b2",
  BO: "[~ b3@6 b1 ~ e2@5 ~@2 e3@6 b1@2 e2@11 ~ e2@4 c2@15 ~ b1@15 ~ a#1@15 ~ a1@15 g#1@15 ~ g1@15 ~ c2@5 ~ c2@5 ~ f1@13, ~@15 b2@2 ~@143]/5",
  BP: "[~@7 c2@15 ~ b1@15 a#1@15 ~ a1@15 ~ g#1@15 ~ g1@15 ~ c2@5 ~ c2@6 ~ f1@59 ~@18]/6",
})).s("gm_electric_bass_finger").gain(0.48)

// other · string ensemble 2
const string_ensemble_2 = note("<~@45 A B@2 C ~@94>".pickRestart({
  A: "~@2 c5@16 b4@5 d#5@9", B: "[~ e5@16 d5@8 g4@6 c5@18 b4@8 d#5@7]/2", C: "~ e5@31",
})).s("gm_string_ensemble_2").gain(0.32).pan(0.3)

// drums · kick
const kick = s("bd").struct(`<
  ~ A@25 B C@2 D@3 E@10 F G@2 H I@2 J@4 K J@3 K L M N@2 O@2 P Q@2 R S T U@2 V W@2 X Y@2 Z@2 AA AB@2 AC AD@2 AE@2 AF AG D
  AH E AI G@3 AJ AK AL@11 AM AN AO@2 M N@2 O@2 P Q@2 R S@2 AP U V W@2 X Y@2 Z AQ AR AS AT AU A@2 AV ~@2
>`.pickRestart({
  A: "~@3 x ~@6 x!2 ~@4", B: "~@6 x ~@12 x ~ x ~@10", C: "~@5 x ~@13 x ~ x ~@10", D: "~@2 x ~@6 x!2 ~@5",
  E: "~@3 x ~@13 x ~ x ~@12", F: "~@3 x ~@12 x ~ x ~@13", G: "~ x ~@6 x!2 ~@6", H: "~@2 x ~@12 x ~ x ~@14",
  I: "~ x ~@13 x ~ x ~@14", J: "x ~@6 x!2 ~@7", K: "x ~@2 x ~@2 x ~@9", L: "~@6 x ~ x ~@2 x ~@4",
  M: "x ~@3 x ~@10 x ~@5 x ~@9 x", N: "~@3 x ~@11 x ~@5 x ~@9 x", O: "~ x ~@5 x ~@2 x ~@4 x",
  P: "~@2 x ~@11 x ~@5 x ~@8 x ~@2", Q: "~ x ~@11 x ~@5 x ~@9 x ~@2", R: "~ x ~@10 x ~@5 x ~@9 x ~@3",
  S: "x ~@5 x ~@2 x ~@4 x ~", T: "x ~@11 x ~@5 x ~@9 x ~@2 x", U: "~@11 x ~@5 x ~@9 x ~@3 x",
  V: "~@11 x ~@5 x ~@8 x ~@3 x ~", W: "~@5 x ~@2 x ~@4 x ~ x", X: "~@10 x ~@4 x ~@9 x ~@3 x ~@2",
  Y: "~@9 x ~@5 x ~@9 x ~@3 x ~@2", Z: "~@4 x ~@2 x ~@4 x ~ x ~", AA: "~@8 x ~@5 x ~@8 x ~@3 x ~@4",
  AB: "~@7 x ~@5 x ~@9 x ~@3 x ~@4", AC: "~@7 x ~@4 x ~@9 x ~@3 x ~@5", AD: "~@3 x ~@2 x ~@4 x ~ x ~@2",
  AE: "~@5 x ~@5 x ~@9 x ~@3 x ~@6", AF: "~@5 x ~@5 x ~@9 x ~@2 x ~@7", AG: "~@2 x ~@2 x ~@4 x ~ x ~@3",
  AH: "~@4 x ~@12 x ~ x ~@12", AI: "~@3 x ~@5 x ~@5 x ~@16", AJ: "~ x ~@5 x ~@5 x ~@18", AK: "~@17 x ~@13 x",
  AL: "~ x ~@15 x ~@13 x", AM: "~ x ~@15 x ~@5 x ~@8", AN: "~ x ~@3 x ~@11 x ~@4 x ~@9", AO: "x ~ x ~@5 x ~@2 x ~@4",
  AP: "x ~@10 x ~@5 x ~@9 x ~@3 x", AQ: "~@4 x ~@6 x!2 ~@3", AR: "~@8 x ~@13 x!2 ~@8", AS: "~@7 x ~@13 x ~ x ~@8",
  AT: "~@7 x ~@5 x ~@5 x ~@12", AU: "~@7 x ~@12 x ~ x ~@9", AV: "~@6 x ~@5 x ~@6 x ~@12",
})).gain(0.32)

// drums · snare
const snare = s("sd").struct(`<
  ~@25 A B C@2 D@2 E F ~@8 F G H@2 I@2 J K ~@8 L M N@2 O@2 P Q@2 R S@2 T@3 U@2 V W@2 X@2 Y Z@2 A@3 C@2 AA D ~@20 AB J
  K@2 M N@2 O@3 Q@2 R S@2 T@3 U@2 V W@2 AC AD ~@9
>`.pickRestart({
  A: "~@7 x ~@7 x", B: "~@14 x ~@14 x ~@2", C: "~@13 x ~@15 x ~@2", D: "~@3 x ~@3 x", E: "~@12 x ~@14 x ~@4",
// … 135 more lines

More by Bill Withers