Strudelify

Come a Little Bit Closer

Jay & The Americans

KeyA majorTempo130 bpm
0:00/0:00
// Come a Little Bit Closer — Jay & The Americans
// 130 bpm, 4/4, key A 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 98 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(130/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.

// bass · acoustic bass
const bass = note(`<
  ~@5 A B C D A B C D E F G H I J K L M N O P Q R S A B C D A B C D E F G H I J K L M N O P Q R S T U V W X Y X Z AA AB
  C D A B C D E F G H I J K L M N O P Q R L M N O P Q R S AC AD AE AF AC AG AC AH AI
>`.pickRestart({
  A: "c2@2 ~ c2@2 g1 c2 g1", B: "f1@6 f2@4 e2@2 d2@3 ~", C: "c2@4 ~@2 c2@4 g1@3 ~ g1@2",
  D: "c2@4 ~@2 c2@4 g1@2 ~@2 g1 ~", E: "f1@6 f2@3 ~ f2@2 c2@2 f2@2", F: "f1@6 f2@3 ~ f2@2 d2@2 c2@2",
  G: "f1@3 f2@2 c2@2 f2", H: "f1@3 f2 ~@2 f1 c2, ~@5 f2@2 ~", I: "g1@3 g2@2 d2 g2 d2", J: "g1@6 g2@4 d2@2 g1@2 g2 ~",
  K: "c2@4 ~@2 c2@2 f1 ~ f1@2 f2@2 f1 ~", L: "g1 ~@7", M: "c2@4 ~@2 c2 ~ f1 ~ f1@2 f2@2 f1 ~",
  N: "g1@3 ~ g1@2 ~@2 g1@2 g2@2 g1@2 g2@2", O: "g1@4 g2@2 ~@2 g2@2 g1@2 g2 ~ g1@2",
  P: "c2@3 ~ c2@3 ~ f1 ~ f1@2 f2@2 g1@2", Q: "~@2 g1@2 g2@2 g1@2 g2@2 g1@2 g2@2 d2 ~", R: "~@2 c2 ~@2 f1 ~@2",
  S: "g1@2 ~@4 f1@2 ~@2 f1 ~ g1@2 g2 ~", T: "c2@4 ~@2 c2 ~ c2@2 g1@2 c2@2 f1@2", U: "~@2 f1@2 f2@2 f1 ~ g1@4 g2@2 d2@2",
  V: "c2@5 ~ c2@2 g1 ~ g1@2 c2@2 g1 ~", W: "f1@4 f2@2 f1 ~ g1 ~ g1@2 g2@2 g1@2", X: "c2@6 g1@2 c2 ~ c2@2 g1@2 c2@2",
  Y: "f1@4 f2@2 f1 ~ g1@2 g2@2 g1@2 g2@2", Z: "f1@4 f2@2 f1 ~ g1 ~ g1@2 g2@2 g1 ~", AA: "c3@2 g2@2 e2 ~ c2@2 ~@8",
  AB: "f2@6 c2@2 ~@2 c2@2 f2@2 c2 ~", AC: "c2@2 ~ c2 f1@2 f2 g1", AD: "~ g1 g2 d2 f1 f2 g1 g2",
  AE: "~ a#1 ~@4 c2@2 f1@5 ~ g1 ~, c2 ~@3", AF: "~@2 g1@3 ~ g1@2 g2@2 d2@2 g2@2 d2@2",
  AG: "~@2 g1@3 ~ g1 ~ f1 ~ f1 ~ g1 ~ g1@2", AH: "~@2 g1@2 ~@2 g1 ~ f1 ~ f1 ~ g1 ~ g1 ~", AI: "c2 ~@3",
})).s("gm_acoustic_bass").gain(0.43).pan(0.6)

// chords · piano · "Acoustic Grand Piano"
const piano = note(`<
  ~@5 A B C D E F G H I J@2 K L M N O P Q@4 R S A B C D E F G H I J@2 K L M N O P Q@4 R S T U V W X Y Z AA AB AC C D E F
  G H I J@2 K L M N O P Q@4 R AD P Q@4 R S AE@2 AF@2 AG@2 AH@2 AI
>`.pickRestart({
  A: "~@12 c5@2 g4 ~, c4@15 ~, e5@10 e5@5 ~, c5@3 c5@3 ~@2, ~@2 g4@5 ~", B: "~ a4 ~@4 a4@2, ~@3 f5@5",
  C: "~@6 [c4,g4] ~@3 [c4,g4,c5] ~@5", D: "[c4,b4,d5]@3 ~ [c4,e5]@11 ~, ~@4 c5@5 ~@7",
  E: "~@7 c5, c4@3 c4@3 c4@2, ~@3 c5@7 c5@4 ~@2, ~ e5@2 ~", F: "~@2 a4 ~@4 a4, f4, ~@3 c5@3 c5@2, ~@5 f5@3",
  G: "~@3 c5 e5@2 c5@2 g4@2 ~@2 c5 ~@3, c4@9 ~ c4@4 ~@2",
  H: "[c4,g4,b4,d5] ~@3 [g4,c5,e5]@6 [c5,e5]@2 [g4,c5,e5] ~@3, ~@2 c4@5 ~", // G C
  I: "[a4,c5]@3 c5@2 ~@2 c4, f4@2 ~ [f3,a4]@5, ~@3 f4@3 f4@2, ~@5 [g4,c5]@3", // Am F C5
  J: "[~@12 a4@4 [a4,c5]@4 [a4,c5]@2 [f4,a4,c5]@4 a4@2 [f4,a4,d5]@3 ~, f3@16 f3@15 ~, ~@3 a4@9 ~@14 c5@5 ~, ~@2 f4@3 f4@5 ~@6, ~@6 c4@25 ~]/2", // Am F Dm
  K: "~@3 [f4,a4,c5]@2 [f4,a4,c5] c4 ~, f3@7 ~, [f4,a4,c5]@3 ~@5, ~@4 c4@7 ~@5", // F
  L: "~@3 b4 ~@2 g4 b4, g3 ~, ~ d4@3 ~ b4@2 ~, ~@4 g4@4 d5@7 ~", M: "~ b4 ~@4 g4@2, d5 g4@2 ~, ~@3 b4@2 b4@3, ~ d5",
  N: "~@3 e5 ~@3 f5, c4@4 ~ a4@3, ~ g4@3 f4@4, ~@3 g5@5 ~@4 c5@4", O: "g5 ~@7",
  P: "[e4,g4]@2 ~ c4 ~ [f3,a3,c4]@2 [f3,a3,c4], [c3,g3] f2, c4 ~ [e4,g4]@2 ~@4", // Em F C5 Em
  Q: "[g2@6 [f3,a3,c4] ~ [a3,c4]@2 [g3,b3,d4] ~ [g3,b3,d4] ~ [g3,b3,d4]@6 f4 ~ f4 ~ [c4,f4] ~ [c4,f4] ~ [c4,f4] ~ g4@4 [d4,g4]@2 c4 ~@3 f2@2 [f3,a3,c4]@3 ~ [g2,g3,b3,d4]@7 ~@3 [f3,a3,c4] ~ [f3,a3,c4] ~ [g3,b3,d4]@2 ~@2, ~@8 f3 ~@21 [c3,g3,c4,e4]@7 ~@9 d3@2 ~@16]/4", // F Am G F5 G5 F G F …
  R: "~@4 [c4,e4,g4] ~@5 [f3,c4,f4,a4,c5] ~@5, ~@2 c5 ~@5", // C F
  S: "[g3,d4,g4,b4,d5] ~@5 [f3,c4,f4,a4,c5] ~@5 [g3,d4,g4,b4,d5] ~@3", // G F G
  T: "[c3,g3,c4,e4]@4 [g3,c4] ~@3 [g3,c4,e4] ~@5 [g3,c4,e4]@2, ~@2 e4 c3@2 [g3,c4,e4]@2 ~, ~@3 c3", // C C5 C
  U: "~ [f4,a4] d4 [a3,d4], ~ f3@3 [g3,b3]@4", // F D5 G
  V: "~@12 e4@3 ~, c3@15 ~, g3@6 g3@4 g3@5 ~, ~@2 [e4,g4,c5]@6 [g4,c5]@7 ~, ~@2 e4 ~", // C C5
  W: "~ f4 ~ d3 ~@3 g3, [f3,c4] g2, ~ a4@3 ~ g3@2 ~, ~@2 f4@2 ~ [b3,d4]@3, ~@3 a3", // F5 Bm
  X: "~@3 g3!2 ~ [g3,c4,e4]!2, c3@2 c3@2 ~ c3@3, ~ [g3,c4,e4]@2 ~ [c4,e4]@2 ~@2", // C
  Y: "~@2 [f3,a3,c4]@3 ~ [f3,a3] ~@7 g3@2, f2@5 ~ c4@2 g2@8, ~@5 [b3,d4]@3, ~@5 g3@2 ~, ~@3 d3", // F Bm
  Z: "c3@2 [g3,c4,e4] ~@3 [c4,e4,g4]@2 ~@2 [c4,f4] ~ [c4,e4]@2 c3 ~, ~@2 c3@2 c3@3 ~, ~@10 g4@5 ~", // C F5 C
  AA: "[f3,a3,c4] ~ [f3,a3,c4]@4 [f3,a3,c4] ~@3 [g3,b3,d4]@2 [g3,b3,d4]@3 ~, ~@8 g2@7 ~", // F G
  AB: "[c3,g3] ~ [c3,c4,e4,g4] ~ [c3,g3,c4,e4,g4] ~ [c3,g3,c4,e4,g4] ~@9", // C5 C
  AC: "~@8 c5@7 ~, f3@15 ~, a4@3 ~@5, ~@2 f4@4 c4@5 ~@5, ~@4 a3@9 ~@3", AD: "[g3,d4,g4,b4,d5] ~@15, g5 ~@7",
  AE: "[[c5,e5]@2 [c5,e5]@2 ~@2 c5 b4@2 ~@2 d5 ~@3 a4, c4@4 f4@3 ~@2 g4@3 f4@4, ~@5 a4@2 ~@3 b4@2 ~ a4@2 ~, ~@7 c5]/2", // C
  AF: "[~@2 e4@2 g4@2 c5 ~ f4 ~ [f4,a4,c5]@3 ~ [g3,g4,b4,d5]@4 ~@2 d4@2 [g4,b4] ~ [g4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4] ~@3, c4@7 ~@11 [g4,b4,d5]@4 ~@6 d5@3 ~]/2", // F G
  AG: "[[c5,e5,g5]@4 [c5,e5,g5]@4 [f4,a4,c5] ~ [f4,a4,c5]@4 [g4,b4,d5]@4 d5@2 ~@2 g4@2 [a4,c5]@4 [b4,d5]@4, [c4,g4]@8 ~@6 g3@10 ~@4 g3 ~@3, ~@9 b4@3 ~@4, ~@9 g4@2 ~ f4 ~ g4 ~, ~@5 [a4,d5] ~@2]/2", // C F G Am Bm C5 D5
  AH: "[~@6 e5@2 ~@2 [f4,a4] ~ a4@2 ~@4 [g4,b4,d5]@4 [g4,b4,d5] ~ [f4,a4,c5]@4 [g3,g4,b4,d5]@2 ~@2, c4@8 ~@6 g3@9 ~@9, ~ g4@3 ~@12, ~ c5 ~@6]/2", // F G F G
  AI: "c4@5 ~@11",
})).s("gm_piano").gain(0.38).pan(0.8)

// chords · piano · "Acoustic Grand Piano" · soft notes
const piano_soft = note(`<
  ~@5 A B C D E ~ F G H I J K ~@2 L ~ M ~@6 A B C D E ~ F G H I J K ~@2 L ~ M ~@8 N ~@2 O ~@2 P Q C D E ~ F G H I J K
  ~@2 L ~ M ~@6 M ~@6 R ~@2 S ~@2 T ~@2
>`.pickRestart({
  A: "g4 ~@3", B: "~@2 c5@3 c5@3", C: "~@4 g4 ~ c5 ~@7 g4 ~", D: "~@12 c5@3 ~, ~@10 g4@5 ~", E: "~@2 g4 ~@9 e5@4, ~ g4",
  F: "~@2 g4 ~@13", G: "~@5 g4 ~@2", H: "~@2 f4 ~@5", I: "~ c5@7", J: "~@2 f4 ~@2 f4 ~@2", K: "~@14 a4 ~", L: "g5 ~@15",
  M: "~@2 c4 ~@5", N: "e4 ~@15", O: "~@8 d3 ~@7", P: "[c4,e4,g4] ~ g3 ~@13", Q: "~@12 f4@3 ~, ~@10 a4@5 ~",
  R: "~ g4@3 ~@4", S: "~@6 d5 ~@9", T: "~@6 f4 ~",
})).s("gm_piano").gain(0.21).pan(0.8)

// chords · acoustic guitar steel · "Acoustic Guitar (steel)"
const acoustic_guitar_steel = note(`<
  A B C D E F G H I J K L M N O@2 P Q@2 R S T U@2 V@2 W@2 F G H I J K L M N O@2 P Q@2 R S T U@2 V@2 W@2 X Y X Y X Y Z AA
  AB AC H I J K L M N O@2 P Q@2 R S T U@2 V@2 AD AE T U@2 V@2 W@2 AF@2 AG@2 AH@2 AI@2 AJ
>`.pickRestart({
  A: "[d4,f4]@3 [d4,f4]@3 [d4,f4]@3 [d4,f4]@3 [c4,e4]@4", B: "[a3,c4]@9 ~@3 [a3,c4]@4", C: "[a3,c4]@4 [f3,a3]@11 ~",
  D: "[f3,a3]@3 [g3,b3]@9 [a3,c4]@4", E: "[b3,d4]@5 ~@3",
  F: "[c3,c4,e4]@3 ~ [g3,c4]@2 ~@4 [g3,c4,e4]@2 [g3,c4,e4]@4, g3@2 ~ c3@5 c3@8, ~@3 [g3,c4,e4]@2 ~@3", // C C5 C
  G: "f3@3 ~ [a3,c4,f4]@2 ~@4 [c4,f4]@2 [c4,f4]@4, ~@3 f3@5 f3@8, ~@3 [a3,c4,f4]@2 ~@3", // F F5 F
  H: "[g3,c4] ~@3 c4@2 [g3,c4,e4]@4 ~@2 c3@2 c3@2, e4@3 ~@2 [c4,e4]@3, c3@3 c3@3 c3@6 ~@4", // C5 C
  I: "[c3,g3,b3] ~@3 g3@2 g3@4 ~@2 c3@2 c3@2, d4 c3@2 ~, ~@2 [c4,e4]@3 [g3,c4,e4]@3", // Cmaj7 C
  J: "[c3,e4]@3 ~@5 e4@2 ~@2 c3@4, [g3,c4] ~@2 c3@3 c3@6 ~@4, ~@2 c4@3 [g3,c4,e4]@3, ~ e4 ~@2", // C C5 C
  K: "f3 ~@9 c4@2 ~@2 f3@2, a3@3 [a3,c4], c4@3 [g3,c4]@2 g3@3, ~ f3@6 ~, ~@3 f2@5 f2@8", // Am C5
  L: "c3@3 ~ [g3,c4]@2 ~@6 c3@4, ~@3 c3@5 c3@4 ~@4, ~@3 [c4,e4]@5, ~@3 g3@2 g3@3", // C5 C
  M: "[c3,g3,b3,d4] ~@3 g3@2 g3@4 [g3,c4,e4]@2 c3 ~@3, ~ c3@2 ~, ~@2 [c4,e4]@3 ~@3", // G C
  N: "[f2,a3]@3 ~@5 f2@2 f2@4 [f2,c4]@2, c4@3 [a3,c4]@3 ~@2, f3 ~@2 f2@5 ~@8", // F F5 Am
  O: "[~@2 a3 [f2,a3,c4,f4]@2 f2@2 f2 [f2,c4]@2 [a3,c4,f4] ~@3 f2@2, [f2,c4,f4]@3 ~@2 f4@5 ~@6, ~@5 c4@3 ~@4 f2@2 ~@2, ~@5 a3 ~@5 [a3,c4,f4]@2 [c4,f4]@3]/2", // F F5 F F5 F F5
  P: "[f2,f4]@3 ~@5 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4,f4]@2, ~@3 f2@3 f2@10, ~ [a3,c4,f4] ~@2", // F
  Q: "[d3@3 ~ [g3,b3,d4]@2 ~@14 [a3,d4]@2 ~@6 g3@4, g2@11 ~ d4@6 g2@14, ~@3 d3@5 d3@6 d3@8 a3@10, ~@3 [g3,b3,d4]@3 b3@5 d4 d3@4, ~@6 g3@2 g3@5 [b3,d4]@3]/2", // G D5 G Bm
  R: "[e3,g3,c4]!2 [f3,a3,c4]!2, c3 ~", S: "[g2,d3,g3,b3,d4] ~@15",
  T: "[c3,c4,e4]@3 ~ [g3,c4,e4]@4 ~@2 [f3,a3,c4]@4 [f3,a3,c4]@2, g3@2 ~ c3@5 f2@8", // C F
  U: "[g2@3 ~@5 d4@2 [g2,g3,b3,d4]@4 g2@4 ~@2 [g3,b3,d4]@2 [g3,b3,d4]@2 ~@2 [g3,b3,d4]@2 [g3,b3,d4]@4, ~@2 [g3,b3,d4]@2 ~@3 [g3,b3,d4]@3 ~@6, ~@6 g2@4 ~@8 g2@5 ~ g2@8]/2", // G
  V: "[[g3,c4,e4]@2 [g3,c4,e4]@2 ~ [f3,a3,c4]@2 [g3,b3,d4]@3 [g3,b3,d4] ~@3 [g3,b3,d4]@2, c3@4 f2@3 g2@4 [g3,d4] [g3,b3,d4]@2 ~@2, ~@23 g2@3 g2@6]/2", // C F G G5 G
  W: "[[c3,g3,c4,e4]@4 ~@4 [g3,b3,d4]@3 [f2,f3,a3,c4]@3 [g2,g3,b3,d4] ~, ~ f2 ~@2, ~@5 [f3,a3,c4]@3 ~@8, ~@7 g2@4 ~@5]/2", // C G F G F
  X: "~@4 [g3,c4,e4] ~@7 [g3,c4,e4] ~@3", Y: "~@4 [c4,f4] ~@7 [b3,d4,g4] ~@3", Z: "~@4 [c4,e4,g4] ~@7 [c4,e4,g4] ~@3",
  AA: "~@4 [c4,f4,a4] ~@7 [d4,g4,b4] ~@3", AB: "c3 ~ [c3,c4] ~ [c3,g3,c4] ~ [c3,g3,c4] ~@9",
  AC: "[f4,a4]@6 ~@6 [f4,a4]@3 ~, f3@10 f3@5 ~, ~@3 [c4,f4,a4]@3 ~@2", // F
  AD: "[c3,g3,c4,e4]@4 ~@3 g2, ~ f2, ~@5 [f3,a3,c4]@3", AE: "[g2,g3,b3,d4]@3 ~@13, d3 ~@15",
  AF: "[[g3,c4,e4]@4 [g3,c4,e4]@4 [f3,a3,c4]@4 [a3,c4]@2 [b3,d4]@3 ~@5 [g3,b3,d4]@2 [f3,a3,c4]@4 [g3,b3]@2 ~@2, c3@8 ~@6 g2@6 g2@4 ~@4 g2 ~@3, ~@9 [g3,b3,d4]@2 ~@3 d4@2]/2", // C F Am Bm G F G
  AG: "[[c3,g3,c4,e4]@2 ~@4 c3@2 [f3,a3,c4] ~ [f3,a3,c4]@4 [g3,b3,d4]@4 ~@4 [g3,b3,d4]@2 ~@4 [g3,b3,d4]@4, ~ g3 [g3,c4,e4]@2 ~@5 [g3,b3,d4]@2 ~ [g3,b3,d4]@2 ~@2, ~@3 c3@3 ~@8 g2@6 g2@6 g2@6]/2", // C F G C G
  AH: "[[c4,e4,g4]@4 [c4,e4,g4]@4 a4 ~@3 c4@2 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@2 [f3,a3,c4]@4 [g3,b3,d4]@4, [c3,g3]@4 f3@3 ~@9, ~@2 c4 ~@5, ~@5 [f4,a4]@2 ~@9]/2", // C G F G C5 F
  AI: "[g4@2 c3@2 [c4,e4,g4]@4 [f3,a3,c4] ~ [f3,a3,c4]@4 [g3,b3,d4]@4 ~@4 [g3,b3,d4]@2 [f3,a3,c4]@4 [g3,b3,d4]@2 ~@2, ~@7 g2@5 ~@4, ~@9 [g3,b3,d4]@2 ~@5, ~@5 d3 ~@2]/2", // C F G F G
  AJ: "g4 ~@7",
})).s("gm_acoustic_guitar_steel").gain(0.3).pan(0.3)

// chords · acoustic guitar steel · "Acoustic Guitar (steel)" · soft notes
const acoustic_guitar_steel_2 = note(`<
  ~@5 A B C ~ D ~@3 E@4 F@2 ~@2 G H ~@2 I ~@2 A B C ~ D ~@3 E@4 F@2 ~@2 G H ~@2 I ~@2 J ~@7 K L C ~ D ~@3 E@4 F@2 ~@2 G
  H ~@2 I ~@2 G H ~@2 I ~@2 M ~@3 N ~ O ~ O
>`.pickRestart({
  A: "~ g3 e4 ~@5", B: "~ a3 ~@3 a3 a3@2", C: "~ g3!2 ~@2 g3@3", D: "~ g3@4 ~@3",
  E: "[~@4 a3@2 ~@6 [a3,c4]@2 [a3,f4]@2 a3@4 ~@8 a3@6 ~ f2@5 ~@2 a3@4 ~@4 a3@2 ~@12, ~ f3@16 a3 ~@5 a3@2 ~@7, ~@12 c4 ~@3]/4", // Am Dm
  F: "[~@11 g2@7 ~@14]/2", G: "~ g3 ~@6", H: "~@3 g2@3 ~@2 [g3,b3]@2 ~@6", I: "~@3 b3 ~@4", J: "g3 ~@7",
  K: "c4 ~ g3 ~@13", L: "c4@3 ~@9 c4@3 ~", M: "~@6 f3 g3", N: "~@8 f4 ~@7", O: "a#3 ~@7",
})).s("gm_acoustic_guitar_steel").gain(0.18).pan(0.3)

// chords · brass section
const brass_section = note(`<
  ~@8 A ~@3 B ~@12 C D E ~@3 A ~@3 B ~@12 C D E F G H I J K L M ~@3 A ~@3 B ~@12 C D N ~@4 C D E O ~ P Q O ~ O R ~
>`.pickRestart({
  A: "[b3,d4] ~@3 [c4,e4]@11 ~", B: "[b3,d4] ~@3 [c4,e4]@9 ~@3", C: "~@14 g3 ~",
  D: "c3 ~@3 [g4,c5,e5] ~ c3 ~@3 [a4,c5,f5] ~ f2 ~@3", // C F
  E: "[b4,d5,g5] ~ [f2,g2] ~@3 [a4,c5,f5] ~@3 f2 ~ [b4,d5,g5] ~ g2 ~", F: "[g4,e5]@5 ~ [g4,e5]@5 ~@5",
  G: "~@2 g4!2 a4 ~ a4 ~ c5 ~ g4 ~ a4 ~ g4 ~", H: "[g4,e5]@5 ~ [g4,e5]@5 ~ c5@4",
  I: "e5@2 c5@2 e5 ~ f5@3 ~ g5 ~ g5 ~ g5 ~", J: "a5@2 g5@4 [g4,e5]@6 f5 e5 f5 e5, [g4,e5]@5 ~@11",
  K: "f5 ~ d5@3 ~ d5@2 c5 ~ e5@2 d5@2 c5 ~", L: "c5 ~ c5@2 d5@2 ~@2 a4@4 g4@3 ~, [g4,e5]@5 ~ [g4,e5]@5 ~@5",
  M: "g4 ~ a4@2 b4@2 c5 ~ d5 ~ e5 ~ f5 ~ g5 ~", N: "[b4,d5,g5] ~@15",
  O: "~@4 [g4,c5,e5] ~@5 [a4,c5,f5] ~@3 [b4,d5,g5] ~", P: "~@4 [g4,c5,e5] ~@5 [a4,c5,f5] ~@5",
  Q: "~@6 [d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~", // G5 G
  R: "~@6 [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~", // G
})).s("gm_brass_section").gain(0.45)

// chords · drawbar organ
const drawbar_organ = note(`<
  ~@19 A B C D@2 E F ~@16 A B C D@2 E F ~@2 G ~ G ~ H ~ G ~@15 A B C D@2 E F ~ B C D@2 E F ~@2 I J K L I M N M O
>`.pickRestart({
  A: "[g4,c5,e5]@8 [f4,a4,c5]@7 ~", // C F
  B: "[g4,b4,d5] ~@3 [c5,f5,a5] ~ [c5,f5,a5] ~ [c5,f5,a5] ~ [c5,f5,a5] ~ [c5,f5,a5] ~ [c5,e5,g5]@2", // G F C
  C: "~@2 [g4,c5,e5] ~@7 [a4,c5] ~@3 [b4,d5] ~", // C Am Bm
  D: "[~@6 [a4,c5] ~ [a4,c5] ~ d5 ~ [b4,d5] ~ [b4,d5]@4 ~@2 [c5,f5,a5] ~ [c5,f5,a5] ~ [c5,f5,a5] ~ [c5,f5,a5] ~ [c5,f5,a5] ~ [g4,c5,e5]@2]/2", // Am Bm F C
  E: "~@2 [g4,c5,e5] ~@7 c5 ~@3 [b4,d5] ~", F: "~@6 [b4,d5] ~ [b4,d5] ~ [a4,c5] ~ [b4,d5] ~@3",
  G: "[g5,e6]@5 ~ [g5,e6]@5 ~@5", H: "[g5,e6]@5 ~ [g5,e6]@6 ~@4", I: "[g4,c5,e5]@7 ~ [f4,a4,c5]@5 ~ [g4,b4,d5] ~",
  J: "~ [g4,b4,d5]@3 ~@4", K: "[g4,c5,e5]@7 ~ [f4,a4,c5]@4 ~@2 [g4,b4,d5] ~", L: "~@2 [g4,b4,d5]@11 ~@3",
  M: "~@2 [g4,b4,d5]@5 ~@9", N: "[g4,c5,e5]@6 ~@2 [f4,a4,c5]@4 ~@2 [g4,b4,d5] ~", O: "[g4,c5,e5]@3 ~@5",
})).s("gm_drawbar_organ").gain(0.39).pan(0.7)

// drums · kick
const kick = s("bd").struct(`<
  ~@5 A@15 B C D E D@2 C D A@15 B C D E D@2 C D C D E D C D E D B A@14 B C D E D@2 C B C D E D@2 C D A@8 B
>`.pickRestart({
  A: "x ~@2 x ~ x ~ x", B: "x", C: "x ~@4 x ~ x", D: "~@5 x ~ x", E: "~@7 x",
})).gain(0.54)

// drums · rim
const rim = s("rim").struct("<~@60 [~ x ~ x]!7 ~@31>").gain(0.48)

// drums · snare
const snare = s("sd").struct("<~@5 A@14 B ~ C@6 D A@14 B E C@6 D C@8 F ~@6 G A@6 B E C@6 H C@6 D A@7 B ~>".pickRestart({
  A: "~ x ~ x", B: "~@4 x ~@7 x ~ x!2", C: "x!4", D: "x ~ x ~ x ~ x!2", E: "~@14 x!2", F: "~@3 x ~@4", G: "~@12 x!4",
  H: "x",
})).gain(0.48)

// drums · low tom
const low_tom = s("lt").struct("<~@27 A ~@15 B ~@6 A ~@8 A ~@14 B ~@13 A ~@7 C ~>".pickRestart({
  A: "~ x ~@2", B: "~@3 x", C: "~ x",
})).gain(0.54)

// drums · hihat
const hihat = s("hh").struct(`<
  ~@4 A B C B C B C B C B C B C B C B D B C B C B@2 C B C B C B C B C B C B C B C B D B C B C B@2 C B C B C B C B C E
  B@2 C B C B C B C B C B C B D B C B C B@2 C B C B C B@2 C B C B C B C B C F
>`.pickRestart({
  A: "~@3 x", B: "x!5 ~ x ~", C: "x!4", D: "~ x!3", E: "~ x ~ x ~@2 x ~", F: "x",
})).gain(0.48)

// drums · hihat · soft notes
const hihat_soft = s("hh").struct(`<
  ~@5 A B A B A B A B A B A B A B A ~ A B A B A@2 B A B A B A B A B A B A B A B A ~ A B A B A@2 B A B A B A B A B ~ A@2
  B A B A B A B A B A B A ~ A B A B A@2 ~ A B A B A@2 B A B A B A B A B ~
>`.pickRestart({
  A: "~@5 x ~ x", B: "~ x ~ x ~ x ~ x",
})).gain(0.3)

// drums · mid tom
const mid_tom = s("mt").struct("<~@26 A B ~@15 C ~@5 A B ~@8 D ~@14 C ~@5 A ~@6 A B ~@7 E ~>".pickRestart({
  A: "~@5 x ~@2", B: "~ x ~@3 x ~@2", C: "~@3 x ~@6 x ~@5", D: "~@3 x ~@12", E: "~@7 x ~@4 x ~@3",
})).gain(0.54)

// drums · open hat
const open_hat = s("oh").struct("<~@4 [~@5 x ~ x] ~@54 [x!2 ~@2] ~@38>").gain(0.54)

// drums · high tom
const high_tom = s("ht").struct("<~@26 A ~@16 B ~@5 A ~@9 C ~@14 B ~@5 A ~@6 A ~@8 D ~>".pickRestart({
// … 35 more lines

More by Jay & The Americans