Strudelify

Hello, Dolly!

Broadway

KeyC majorTempo160 bpm
0:00/0:00
// Hello, Dolly! — Broadway
// 160 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 99 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(160/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 · tuba
const bass = note(`<
  ~ A@2 B C D E F G H I J K L G M N A O B P A Q R S T S T U V W M X A Y B Z AA Q H AB H AC AD AE L AF AG X A@2 B Z D AH
  AI AJ P S AK AJ V AL M X A O P@2 D E AM AN H I J AO L G M X A O B AP AH AQ AR AJ T U T S V W M X AS AT
>`.pickRestart({
  A: "c2@3 ~@5 g2@3 ~@5", B: "a1@3 ~@5 e2@3 ~@5", C: "a2@2 ~@6 e2@3 ~ a1@2 ~@2", D: "c2@3 ~@5 g2@2 ~@6",
  E: "c2@3 ~@5 f#2@2 ~@6", F: "d2 ~@3 d2@2 ~@2", G: "g2@3 ~@5 d2@3 ~@5", H: "d2@3 ~@5 d2@4 ~@4", I: "d2@3 ~@5 a2@2 ~@6",
  J: "d2@3 ~@5 a#2@2 ~@6", K: "d3@2 ~@6 a#2@3 ~@5", L: "g2@2 ~@6 d2@3 ~@5", M: "c2@3 ~@5 a1@3 ~@5",
  N: "d2@3 ~@5 g2@2 ~@6", O: "c3@2 ~@6 g2@3 ~@5", P: "a1@3 ~@5 e2@2 ~@6", Q: "c2@3 ~@5 c2@4 ~@4",
  R: "f2@3 ~@5 f2@4 ~@4", S: "e2@3 ~@5 e2@4 ~@4", T: "a1@3 ~@5 a1@4 ~@4", U: "e2@3 ~@5 b2@2 ~@6",
  V: "g2@3 ~@5 a2@2 ~@6", W: "g2@3 ~@5 b2@2 ~@6", X: "d2@3 ~@5 g2@3 ~@5", Y: "c3@2 ~@6 g2@3 ~ c2@2 ~@2",
  Z: "a2@2 ~@6 e2@3 ~@5", AA: "c2 ~@3 g2 ~@3", AB: "g2@3 ~@5 g2@4 ~@4", AC: "d2@3 ~@5 a2@3 ~@5",
  AD: "d2@3 ~@5 a#2@3 ~@5", AE: "d3 ~@3 a#2 ~@3", AF: "g2 ~@3 d2 ~@3", AG: "c2@3 ~@5 a1@2 ~@6", AH: "c2 ~@3 c2@2 ~@2",
  AI: "f2 ~@3 c2 ~@3", AJ: "e2@3 ~@5 b1@2 ~@6", AK: "a1 ~@3 a1@2 ~@2", AL: "g2 ~@3 g2@2 ~@2",
  AM: "d2@5 ~@3 f2@4 ~@4, ~@7 d2@2 ~@7", AN: "g2@3 ~@5 d2@2 ~@6", AO: "d2 ~@2 d2 e2@3 ~ f2@3 ~ f#2@3 ~",
  AP: "a2@3 ~@5 e2@3 ~ a1@2 ~@2", AQ: "c2@5 ~@3 e2@4 ~@4, ~@7 c2@2 ~@7", AR: "f2@3 ~@5 c2@2 ~@6",
  AS: "c2@3 ~@5 g2@4 ~@3 g2", AT: "c3 ~@2 c3 g2@2 ~ c2@5 ~@4",
})).s("gm_tuba").gain(0.35)

// chords · piano
const piano = note(`<
  ~ A B C D E F G H I G J K L M N O A B C D P Q R S C T C T U V N O A B C D E F G H I G J K L M N O A B C D P Q R S C T
  C T U V N O A B C D E F G H I G J K L M N O A B C D P Q R S C T C T U V N O W X
>`.pickRestart({
  A: "c2@4 [e3,g3,c4] ~@3 g2@4 [e3,g3,c4,e4] ~@3, ~@2 e4 ~@5", // C
  B: "c2@4 [e3,g3,c4,e4] ~@7 [e3,g3,c4,e4]@2 ~@2, ~@4 g2@3 ~", // C
  C: "a2@4 [a3,c4,e4] ~@3 e2@4 [a3,c4,e4,a4] ~@3, ~@2 a4 ~@5", // Am
  D: "a2@4 [a3,c4,e4,a4] ~@7 [a3,c4,e4,a4]@2 ~@2, ~@4 e2@3 ~", // Am
  E: "c2@4 [e3,g3,b3] ~@3 g2@4 [e3,g3,b3,c4] ~@3, ~@2 c4 ~@5", // Em Cmaj7
  F: "c2@4 [d#3,f#3,a3] ~@3 f#2@4 [d#3,f#3,a3,c4] ~@3, ~@2 c4 ~@5", // D#dim
  G: "d2@4 [f3,a3,d4] ~@3 a2@4 [f3,a3,d4,f4] ~@3, ~@2 f4 ~@5", // Dm
  H: "g2@4 [g3,b3,d4] ~@3 d2@4 [g3,b3,d4,g4] ~@3, ~@2 g4 ~@5", // G
  I: "d2@4 [f3,a3,c4] ~@3 a2@4 [f3,a3,c4,d4] ~@3, ~@2 d4 ~@5", // F Dm7
  J: "d2@4 [f3,a#3,d4] ~@3 a#2@4 [f3,a#3,d4,f4] ~@3, ~@2 f4 ~@5", // A#
  K: "d2@4 [f3,a#3,d4,f4] ~@7 [f3,a#3,d4,f4]@2 ~@2, ~@4 a#2@3 ~", // A#
  L: "g2@4 [f3,g3,b3] ~@3 d2@4 [f3,g3,b3,d4] ~@3, ~@2 d4 ~@5", // G7
  M: "g2@4 [f3,g3,b3,d4] ~@7 [f3,g3,b3,d4]@2 ~@2, ~@4 d2@3 ~", // G7
  N: "c2@4 [e3,g3,c4] ~@3 a2@4 [a3,c4,e4] ~@3, ~@2 e4 ~@3 a4 ~", // C Am
  O: "d2@4 [f3,a3,d4] ~@3 g2@4 [f3,g3,b3] ~@3, ~@2 f4 ~@3 d4 ~", // Dm G7
  P: "c2@4 [e3,g3,a#3] ~@3 g2@4 [e3,g3,a#3,d4] ~@3, ~@2 d4 ~@5", // Edim Em7b5
  Q: "c2@4 [e3,g#3,c4] ~@3 g2@4 [e3,g#3,c4,e4] ~@3, ~@2 e4 ~@5", // Eaug
  R: "f2@4 [f3,a3,c4] ~@3 c2@4 [f3,a3,c4,f4] ~@3, ~@2 f4 ~@5", // F
  S: "e2@4 [d3,e3,g#3] ~@3 b1@4 [d3,e3,g#3,b3] ~@3, ~@2 b3 ~@5", // E7
  T: "e2@4 [e3,g3,b3] ~@3 b1@4 [e3,g3,b3,e4] ~@3, ~@2 e4 ~@5", // Em
  U: "g2@4 [f3,a3,c4] ~@3 a2@4 [f3,a3,c4,d4] ~@3, ~@2 d4 ~@5", // F Dm7
  V: "g2@4 [d3,f3,g#3] ~@3 b1@4 [d3,f3,g#3,b3] ~@3, ~@2 b3 ~@5", W: "c2@4 [e3,g3,c4] ~@7 [e3,g3,c4] ~@3, ~@8 g2@7 ~",
  X: "[c2,e4,g4,c5] ~@3 g2@2 ~ [c2,e5,g5,c6]@5 ~@4, ~@3 f#2@2 ~@11", // C
})).s("gm_piano").gain(0.35)

// chords · banjo
const banjo = note(`<
  ~ 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 Z Y AA AB AC AD AE AF AG AH AI AJ F AK AL AM AN AO AP AQ AR AS AT
  A B C D AU AV AW AX AY AA AH AZ BA BB BC BD BE BF AH AI BG BH BI BJ BK J K L BL BM BN BO BP BQ BR BS AU V AW BT BU BV
  C BW BX BY BZ CA CB CC
>`.pickRestart({
  A: "~ c5@3 [c3,g3,g4,c5] ~@2 [g4,c5] [c3,g3,g4,c5]@4 [g3,g4,c5] ~@2 c5, [c3,g3,g4] ~@3", // C5
  B: "[g3,g4,c5]@4 [g3,g4,c5] ~@2 [g3,g4,c5] [c3,g3,g4,c5]@4 [c3,g3,g4,c5] ~@2 [g4,c5]", // C5
  C: "~ a4@3 [a2,e3,e4,a4] ~@2 [e4,a4] [a2,e3,e4,a4]@4 [e3,e4,a4] ~@2 a4, [a2,e3,e4] ~@3", // A5
  D: "[e3,e4,a4]@4 [e3,e4,a4] ~@2 [e3,e4,a4] [a2,e3,e4,a4]@4 [a2,e3,e4,a4] ~@2 [e4,a4]", // A5
  E: "[c3,g3,e4,b4]@4 [c3,g3,e4,b4] ~@4 b4@3 [g3,e4,b4] ~@3, ~@2 [c3,g3,e4] ~", // Cmaj7 Em C
  F: "[c3,f#3,d#4,a4]@4 [c3,f#3,d#4,a4] ~@3 [c3,f#3,d#4,a4]@4 [c3,f#3,d#4,a4]@2 ~ f#4", // Cdim
  G: "[d3,a3,a4,d5]@4 [a3,a4,d5] ~@3 [a3,a4,d5]@4 [d3,a3,a4,d5] ~@3", // D5
  H: "[g2,b3,b4,d5]@4 [b3,b4,d5] ~@2 [b3,b4] [g2,b3,b4,d5]@4 [b3,b4,d5] ~@2 [b3,d5]", // G Bm B G Bm
  I: "~ c5@3 [d3,a3,f4,c5] ~@2 [f4,c5] [d3,a3,f4,c5]@4 [a3,f4,c5] ~@2 c5, [d3,a3,f4] ~@3", // Dm7 F5 Dm7 F Dm
  J: "~ d5@3 [d3,a3,a4,d5] ~@2 [a4,d5] [d3,a3,a4,d5]@4 [a3,a4,d5] ~@2 d5, [d3,a3,a4] ~@3", // D5
  K: "[a#3,a#4,d5]@4 [d3,a#3,a#4,d5] ~@4 d5@3 [a#3,a#4,d5] ~@3, d3 ~@7 [d3,a#3,a#4]@4 ~@4", // A# Gm A# Gm
  L: "~ d5@3 [d3,a#3,a#4,d5] ~@3 [d3,a#3,a#4,d5]@4 [d3,a#3,a#4,d5] ~@3, [d3,a#3,a#4] ~@3", // Gm
  M: "[g2,g3,f4,b4]@4 [g3,f4,b4] ~@3 [g3,f4,b4]@4 [g2,g3,f4,b4] ~@3", // G7
  N: "[g2,g3,f4,b4]@4 [g2,g3,f4,b4] ~@3 [g2,g3,f4,b4]@4 [g2,g3,f4,b4] ~@3", // G7
  O: "[c3,g3,g4,c5]@4 [c3,g3,g4,c5] ~@3 [a2,e3,e4,a4]@4 [e3,e4,a4] ~@2 [e3,e4]", // C5 A5 E
  P: "[d3,a3,a4,d5]@4 [a3,a4,d5] ~@2 [a3,a4] ~ b4@3 [g2,g3,f4,b4] ~@2 [f4,b4], ~@2 [g2,g3,f4] ~", // D5 A G7 Fdim G7
  Q: "[c3,g3,g4,c5]@4 [c3,g3,g4,c5] ~@3 [c3,g3,g4,c5]@4 [c3,g3,g4,c5]@2 ~ g4", // C5
  R: "[g4,c5]@4 [c3,g3,g4,c5]@2 ~@2 [c3,g3,g4,c5]@3 g4 [c3,g3,g4,c5] ~@2 g4", // C5
  S: "[a2,e3,e4,a4]@4 [e3,e4,a4] ~@2 [e3,e4,a4] [a2,e3,e4,a4]@4 [e3,e4,a4] ~@2 [e3,e4,a4]", // A5
  T: "[e4,a4] a4 e4 [e3,e4,a4]!2 ~@2 [e3,e4,a4] [a2,e3,e4,a4]@3 [e4,a4] [e3,e4,a4] ~@2 a4, [a2,e3] ~@7", // A5
  U: "[c3,g3,e4,a#4]@4 [c3,g3,e4,a#4] ~@3 [c3,g3,e4,a#4]@4 [c3,g3,e4,a#4]@2 ~ g4", // C7
  V: "[c3,g#3,g#4,c5]@2 ~ [g#4,c5] [c3,g#3,g#4,c5]@2 g#4 c5 [g#3,g#4,c5]@2 ~ [g#4,c5] [c3,g#3,g#4,c5]@3 [g#3,c5]", // Fm G# Fm G# Fm G#
  W: "[f2,a3,a4,c5]@4 [f2,a3,a4,c5] ~@3 [f2,a3,a4,c5]@4 [f2,a3,a4,c5]@2 ~ a4", // F
  X: "~ g#4@3 [e2,e3,d4,g#4] ~@2 [d4,g#4] [e2,e3,d4,g#4]@4 [e3,d4,g#4] ~@2 g#4, [e2,e3,d4] ~@3", // E7 Ddim E7
  Y: "[a2,e4]@2 [e3,e4,a4] a4 [e3,e4,a4] ~@2 [e3,a4] [e3,e4,a4]@2 e3 [e4,a4] [e3,e4,a4] ~@3, [e3,a4] ~@15", // A5
  Z: "[e2,g4]@2 [g3,g4,b4] b4 [g3,g4,b4] ~@2 [g3,b4] [g3,g4,b4]@2 g3 [g4,b4] [g3,g4,b4] ~@3, [g3,b4] ~@15", // Em G
  AA: "[e2,g3,g4,b4]@4 [g3,g4,b4] ~@2 [g3,g4,b4] [e2,g3,g4,b4]@4 [g3,g4,b4] ~@2 [g3,g4,b4]", // Em G Em G
  AB: "~ c5@2 [a3,f4,c5] [a3,c5] f4 ~ f4 [a3,f4,c5] ~ [a3,c5] ~ [a3,f4,c5]@2 [a3,f4,c5] ~, [a3,f4]@3 ~@3 [a3,c5]@2 ~@8", // F Am F Am F Dm Am
  AC: "[g2,d4]@2 [f3,d4,g#4] g#4 [f3,d4,g#4] ~@2 [f3,g#4] [f3,d4,g#4]@2 f3 [d4,g#4] [f3,d4,g#4] ~@3, [f3,g#4] ~@15", // G5 Ddim Fm Ddim Fm
  AD: "~ c5@3 [c3,g3,g4,c5] ~@2 [g4,c5] ~ a4@3 [a2,e3,e4,a4] ~@2 [e4,a4], [c3,g3,g4] ~ [a2,e3,e4] ~", // C5 A5 C5 A5
  AE: "[d3,a3,a4,d5]@4 [a3,a4,d5] ~@2 [a3,a4,d5] [g2,g3,f4,b4]@2 ~ [f4,b4] [g2,g3,f4,b4]@2 f4 b4", // D5 G7 Fdim G7
  AF: "[c3,g3,g4,c5]@4 [g3,g4,c5] ~@2 [g3,g4,c5] [c3,g3,g4,c5]@4 [g3,g4,c5] ~@2 [g3,g4,c5]", // C5
  AG: "[g4,c5] c5 g4 [g3,g4,c5]!2 ~@2 [g3,g4,c5] [c3,g3,g4,c5]@3 [g4,c5] [g3,g4,c5] ~@2 c5, [c3,g3] ~@7", // C5
  AH: "[a2,e3,e4,a4]@4 [a2,e3,e4,a4] ~@3 [a2,e3,e4,a4]@4 [a2,e3,e4,a4]@2 ~ e4", // A5
  AI: "[e4,a4]@4 [a2,e3,e4,a4]@2 ~@2 [a2,e3,e4,a4]@3 e4 [a2,e3,e4,a4] ~@2 e4", // A5
  AJ: "[c3,g3,e4,b4]@2 ~ [e4,b4] [c3,g3,e4,b4]@2 e4 b4 [g3,e4,b4]@2 ~ [e4,b4] [c3,g3,e4,b4]@3 [g3,b4]", // Cmaj7 E5 Cmaj7 Em E5 Cmaj7 G
  AK: "~ d5@2 [a3,a4,d5] [a3,d5] a4 a3@2 [a3,a4,d5]@2 [a3,a4,d5] ~ [a4,d5] ~ [a3,a4,d5] ~, [d3,a3,a4]@3 ~@3 d5 ~@5 a3@2 ~@2", // D5
  AL: "[g2,b3,b4,d5]@2 ~ [b4,d5] [g2,b3,b4,d5]@2 b4 d5 [b3,b4,d5]@2 ~ [b4,d5] [g2,b3,b4,d5]@3 [b3,d5]", // G Bm G Bm G Bm
  AM: "[d3,a3,f4,c5]@4 [a3,f4,c5] ~@2 [a3,f4,c5] [d3,a3,f4,c5]@4 [a3,f4,c5] ~@2 [a3,f4,c5]", // Dm7 F Dm7 F
  AN: "~ d5@2 [a3,a4,d5] [a3,d5] a4 ~ a4 [a3,a4,d5] ~ [a3,d5] ~ [a3,a4,d5]@2 [a3,a4,d5] ~, [a3,a4]@3 ~@3 [a3,d5]@2 ~@8", // D5 A D5
  AO: "[d3,a#3,a#4,d5]@4 [a#3,a#4,d5] ~@2 [a#3,a#4,d5] [d3,a#3,a#4,d5]@4 [a#3,a#4,d5] ~@2 [a#3,a#4,d5]", // Gm A# Gm A#
  AP: "[a#4,d5] d5 a#4 [a#3,a#4,d5]!2 ~@2 [a#3,a#4,d5] [d3,a#3,a#4,d5]@3 [a#4,d5] [a#3,a#4,d5] ~@2 d5, [d3,a#3] ~@7", // A# Gm A# Gm
  AQ: "[g2,g3,f4,b4]@4 [g2,g3,f4,b4] ~@3 [g2,g3,f4,b4]@4 [g2,g3,f4,b4]@2 ~ g4", // G7
  AR: "[f4,b4]@4 [g2,g3,f4,b4]@2 ~@2 [g2,g3,f4,b4]@3 g4 [g2,g3,f4,b4] ~@2 g4", // Fdim G7
  AS: "[c3,g3,g4,c5]@4 [c3,g3,g4,c5] ~@3 [a2,e3,e4,a4]@4 [e3,e4,a4] ~@2 [e3,e4,a4]", // C5 A5
  AT: "~ d5@3 [d3,a3,a4,d5] ~@2 [a4,d5] ~ b4@3 [g2,g3,f4,b4] ~@2 [f4,b4], [d3,a3,a4] ~ [g2,g3,f4] ~", // D5 G7 Fdim D5 G7
  AU: "~ a#4@3 [c3,g3,e4,a#4] ~@2 [e4,a#4] [c3,g3,e4,a#4]@4 [g3,e4,a#4] ~@2 a#4, [c3,g3,e4] ~@3", // C7 Edim C7 Edim C
  AV: "[c3,g#3,g#4,c5]@4 [g#3,g#4,c5] ~@2 [g#3,g#4,c5] [c3,g#3,g#4,c5]@4 [g#3,g#4,c5] ~@2 [g#3,g#4,c5]", // Fm G# Fm G#
  AW: "~ c5@3 [f2,a3,a4,c5] ~@2 [a4,c5] [f2,a3,a4,c5]@4 [a3,a4,c5] ~@2 c5, [f2,a3,a4] ~@3", // F Am F Am F
  AX: "[e2,e3,d4,g#4]@4 [e2,e3,d4,g#4] ~@3 [e2,e3,d4,g#4]@4 [e2,e3,d4,g#4]@2 ~ e4", // E7
  AY: "~ a4@2 [e3,e4,a4] [e3,a4] e4 e3@2 [e3,e4,a4]@2 [e3,e4,a4] ~ [e4,a4] ~ [e3,e4,a4] ~, [a2,e3,e4]@3 ~@3 a4 ~@5 e3@2 ~@2", // A5
  AZ: "[e2,g3,g4,b4]@4 [e2,g3,g4,b4] ~@3 [e2,g3,g4,b4]@4 [e2,g3,g4,b4]@2 ~ g4", // Em
  BA: "[g2,a3,f4,c5]@4 [a3,f4,c5] ~@2 [a3,f4,c5] [g2,a3,f4,c5]@4 [a3,f4,c5] ~@2 [a3,f4,c5]", // F
  BB: "~ g#4@2 [f3,d4,g#4] [f3,g#4] d4 f3@2 [f3,d4,g#4]@2 [f3,d4,g#4] ~ [d4,g#4] ~ [f3,d4,g#4] ~, [g2,f3,d4]@3 ~@3 g#4 ~@5 f3@2 ~@2", // Ddim Fm Ddim G7
  BC: "~ c5@3 [c3,g3,g4,c5] ~@2 [g4,c5] [a2,e3,e4,a4]@4 [a2,e3,e4,a4] ~@3, [c3,g3,g4] ~@3", // C5 A5 C5
  BD: "[d3,a3,a4,d5]@4 [d3,a3,a4,d5] ~@3 [g2,g3,f4,b4]@2 ~ [f4,b4] [g2,g3,f4,b4]@2 f4 b4", // D5 G7 Fdim G7
  BE: "[c3,g4,c5]@4 [c3,g3,g4,c5] ~@4 c5@3 [g3,g4,c5] ~@3, g3 ~@7 [c3,g3,g4]@4 ~@4", // C5
  BF: "~ c5@3 [c3,g3,g4,c5] ~@3 [c3,g3,g4,c5]@4 [c3,g3,g4,c5] ~@3, [c3,g3,g4] ~@3", // C5
  BG: "[c3,g3,e4,b4]@4 [g3,e4,b4] ~@3 [g3,e4,b4]@4 [c3,g3,e4,b4] ~@3", // Cmaj7 Em Cmaj7
  BH: "[f#3,d#4,a4]@4 [c3,f#3,d#4,a4] ~@4 a4@3 [f#3,d#4,a4] ~@3, c3 ~@7 [c3,f#3,d#4]@4 ~@4", // D#dim Cdim D#dim Cdim
  BI: "[d3,a3,a4,d5]@4 [d3,a3,a4,d5] ~@4 d5@3 [a3,a4,d5] ~@3, ~@2 [d3,a3,a4] ~", // D5
  BJ: "[g2,b3,b4,d5]@4 [g2,b3,b4,d5] ~@3 [g2,b3,b4,d5]@4 [g2,b3,b4,d5]@2 ~ b4", // G
  BK: "[d3,a3,f4,c5]@4 [a3,f4,c5] ~@2 [a3,f4] [d3,a3,f4,c5]@4 [a3,f4,c5] ~@2 [a3,c5]", // Dm7 F Dm Dm7 F Am
  BL: "[g2,g3,f4,b4]@4 [g2,g3,f4,b4] ~@4 b4@3 [g3,f4,b4] ~@3, ~@2 [g2,g3,f4] ~", // G7
  BM: "~ b4@3 [g2,g3,f4,b4] ~@3 [g2,g3,f4,b4]@4 [g2,g3,f4,b4] ~@3, [g2,g3,f4] ~@3", // G7
  BN: "[c3,g3,g4,c5]@4 [c3,g3,g4,c5] ~@3 [a2,e3,e4,a4]@4 [a2,e3,e4,a4] ~@3", // C5 A5
  BO: "[d3,a3,a4,d5]@4 [a3,a4,d5] ~@2 [a3,a4] [g2,g3,f4,b4]@4 [g3,f4,b4] ~@2 [g3,f4]", // D5 A G7
  BP: "[c3,g3,g4,c5]@2 ~ [g4,c5] [c3,g3,g4,c5]@2 g4 c5 [g3,g4,c5]@2 ~ [g4,c5] [c3,g3,g4,c5]@3 [g3,c5]", // C5
  BQ: "[c3,g3,g4,c5]@3 c5 [c3,g3,g4,c5]@2 ~ [g4,c5] [c3,g3,g4,c5]@3 [g4,c5] [c3,g3,g4,c5]@3 [g3,g4,c5]", // C5
  BR: "[a2,e3,e4,a4]@2 ~ [e4,a4] [a2,e3,e4,a4]@2 e4 a4 [e3,e4,a4]@2 ~ [e4,a4] [a2,e3,e4,a4]@3 [e3,a4]", // A5
  BS: "[a2,e3,e4,a4]@3 a4 [a2,e3,e4,a4]@2 ~ [e4,a4] [a2,e3,e4,a4]@3 [e4,a4] [a2,e3,e4,a4]@3 [e3,e4,a4]", // A5
  BT: "~ g#4@2 [e3,d4,g#4] [e3,g#4] d4 e3@2 [e3,d4,g#4]@2 [e3,d4,g#4] ~ [d4,g#4] ~ [e3,d4,g#4] ~, [e2,e3,d4]@3 ~@3 g#4 ~@5 e3@2 ~@2", // E7 E E7 Ddim E7
  BU: "~ a4@2 [e3,e4,a4] [e3,a4] e4 ~ e4 [e3,e4,a4] ~ [e3,a4] ~ [e3,e4,a4]@2 [e3,e4,a4] ~, [e3,e4]@3 ~@3 [e3,a4]@2 ~@8", // A5 E A5
  BV: "[e2,g3,g4,b4]@2 ~ [g4,b4] [e2,g3,g4,b4]@2 g4 b4 [g3,g4,b4]@2 ~ [g4,b4] [e2,g3,g4,b4]@3 [g3,b4]", // Em G Em G Em G
  BW: "~ b4@2 [g3,g4,b4] [g3,b4] g4 ~ g4 [g3,g4,b4] ~ [g3,b4] ~ [g3,g4,b4]@2 [g3,g4,b4] ~, [g3,g4]@3 ~@3 [g3,b4]@2 ~@8", // G
  BX: "~ c5@2 [a3,f4,c5] [a3,c5] f4 a3@2 [a3,f4,c5]@2 [a3,f4,c5] ~ [f4,c5] ~ [a3,f4,c5] ~, [g2,a3,f4]@3 ~@3 c5 ~@5 a3@2 ~@2", // F Am F F5 F Dm
  BY: "[g2,f3,d4,g#4]@2 ~ [d4,g#4] [g2,f3,d4,g#4]@2 d4 g#4 [f3,d4,g#4]@2 ~ [d4,g#4] [g2,f3,d4,g#4]@3 [f3,g#4]", // Ddim Fm
  BZ: "[c3,g3,g4,c5]@4 [c3,g3,g4,c5] ~@4 a4@3 [a2,e3,e4,a4] ~@2 [e4,a4], ~@2 [a2,e3,e4] ~", // C5 A5
  CA: "[d3,a3,a4,d5]@4 [a3,a4,d5] ~@2 [a3,a4,d5] ~ b4@3 [g2,g3,f4,b4] ~@2 [f4,b4], ~@2 [g2,g3,f4] ~", // D5 G7 Fdim G7
  CB: "[c3,e4,c5]@4 [c3,g3,e4,c5] ~@4 c5@3 [c3,g3,e4,c5] ~@3, ~@2 [g3,e4] ~", // C
  CC: "[c3,g3,e4,c5]@2 ~ f#4 g4@2 ~ c5@6 ~@3", // C
})).s("gm_banjo").gain(0.25)

// chords · banjo · soft notes
const banjo_soft = note(`<
  ~ A B C D E ~ F G H I J ~ K ~ L M ~ N ~ O ~ P ~ Q R S R ~ T U ~ V ~ W ~ X Y ~ Z AA ~ AB ~ AC ~ AD ~@2 A B C D AE ~ AF
  ~ AG ~@4 AH ~ V E ~@2 X AI E J ~ AJ I J ~ AK ~@2 G Y AL AM AN AE P AF AH AO AP C AQ AR AS ~@2 AT ~
>`.pickRestart({
  A: "~@12 c3 ~@2 g4", B: "c3@4 ~@11 g3", C: "~@12 a2 ~@2 e4", D: "a2@4 ~@11 e3", E: "~@12 c3 ~@3",
  F: "~@4 d3 ~@3 d3@4 ~@4", G: "~@7 d5 ~@7 b4", H: "~@12 d3 ~@2 f4", I: "~@12 d3 ~@2 a4", J: "~@12 d3 ~@3",
  K: "~@4 g2 ~@3 g2@4 ~@4", L: "~@15 a4", M: "~@7 d5 ~@8", N: "[c3,g3] ~@3", O: "~@2 e3 ~@12 [e3,e4]",
  P: "~@3 [c3,g#3] ~@2 g#3 ~ c3@2 ~ g#3 ~@4", Q: "~@12 e2 ~@2 d4", R: "~@3 [e3,e4] ~@3 e4 ~@8",
  S: "~@3 [g3,g4] ~@3 g4 ~@8", T: "g2@3 ~@8 f4 ~@4", U: "~@3 [f3,d4] ~@3 d4 ~@8", V: "~@11 [g2,g3] ~@2 g3 ~",
  W: "~@2 g3 ~@12 [g3,g4]", X: "[a2,e3] ~@3", Y: "~@3 [c3,g3] ~@2 g3 ~ c3@2 ~ g3 ~@4", Z: "~@3 a4 ~@4",
  AA: "~@3 [g2,b3] ~@2 b3 ~ g2@2 ~ b3 ~@4", AB: "d3 ~@10 a4 ~@4", AC: "~@2 a#3 ~@12 [a#3,a#4]", AD: "[g2,g3] ~@3",
  AE: "~@12 c3 ~@2 e4", AF: "~@12 f2 ~@2 a4", AG: "~@3 e4 ~@4", AH: "~@3 d4 ~@4", AI: "~@4 c3 ~@3 c3@4 ~@4",
  AJ: "~@7 c5 ~@7 f4", AK: "~@12 g2 ~@3", AL: "~@3 g3 ~@3 g3 ~@3 g3 ~@4", AM: "~@3 [a2,e3] ~@2 e3 ~ a2@2 ~ e3 ~@4",
  AN: "~@3 e3 ~@3 e3 ~@3 e3 ~@4", AO: "a2@3 ~@8 e4 ~@4", AP: "~@3 [e2,g3] ~@2 g3 ~ e2@2 ~ g3 ~@4",
  AQ: "e2@3 ~@8 g4 ~@4", AR: "~@3 f4 ~@4", AS: "~@3 [g2,f3] ~@2 f3 ~ g2@2 ~ f3 ~@4", AT: "g3 ~ c3 ~",
})).s("gm_banjo").gain(0.15)

// other · trombone
const trombone = note(`<
  A B C D E F@2 G H I J K L M N O P Q R S T U V I W X Y@2 Z AA AB AC@2 ~@31 A B C D E F@2 G H I J K L M N O P Q R S T U
  V I W X Y@2 Z AA AB AC@2 ~ AD
>`.pickRestart({
  A: "~@4 e4@2 ~@2 f4 ~@3 f#4 ~@3", B: "g4@7 ~ g4@6 ~@2", C: "e4@3 c4@2 ~@3 e4@2 ~@2 g4@2 ~@2", D: "g#4 a4@11 ~@4",
  E: "e4@2 c4@3 ~@2 e4@3 ~@2 g4@2 ~@2", F: "[b4@4 ~@2 c5@2 b4@2 ~ c5@2 ~ b4@5 c5@2 ~@3 d5@2 ~@2 c5@2 ~@2]/2", G: "g4",
  H: "~@3 f#4@5 g4@2 ~@2 g#4@2 ~@2", I: "a4@7 ~", J: "f4@3 d4@3 ~@2 f4@2 ~@2 a4@2 ~@2", K: "a#4@5 ~@3",
  L: "f4@3 d4@3 ~@2 f4@2 ~@2 a#4@2 ~@2", M: "e5 ~ d5 ~ e5 ~ d5 ~", N: "e5@2 ~@2 d5@2 ~@2 b4@3 ~ g4@3 ~",
  O: "a4@6 ~ g4 a4 ~@2 b4@2 ~ a4@2", P: "~@3 g4@5 e4@2 ~ f4@2 ~ f#4@2", Q: "~ g4@12 ~@3",
  R: "e4@3 c4@3 ~@2 e4@2 ~@2 g4@2 ~@2", S: "a4@13 ~@3", T: "e4@2 c4@3 ~@3 e4@3 ~ g4@2 ~@2", U: "d5 ~ c5 ~ d5 ~ c5 ~",
  V: "d5@6 ~ c5 d5@2 ~@2 c5@2 ~@2", W: "b4@5 ~ e4@9 ~", X: "~@2 c5@4 a4 ~",
  Y: "[g4@7 ~ e4@3 g4@2 ~@2 c5@3 ~ c5@2 ~ c5 ~ c5@2 ~@6, ~@15 b4 ~@16]/2", Z: "g4@7 e4@3 g4@2 ~@4",
  AA: "[e5,f5]@2 ~ e5!2 ~@3 e5@2 ~@2 e5@2 ~@2", AB: "e5@3 d5@2 ~ f5@5 d#5 e5@2 ~@2", AC: "[c5@5 ~@3]/2",
  AD: "c3@15 ~, c2 ~@15",
})).s("gm_trombone").gain(0.45)

// drums · kick
const kick = s("bd").struct("<~ A@15 B@12 A B@15 A B@11 A B@8 A@15 B@17 C D>".pickRestart({
  A: "x!2", B: "x", C: "x!4", D: "x ~@3 x ~@2 x ~@8",
})).gain(0.3)

// drums · rim
const rim = s("rim").struct(`<
  A ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B@49 ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B@17 C D
>`.pickRestart({
  A: "x!4", B: "~@3 x", C: "~ x ~ x", D: "x ~@3 x ~@2 x ~@8",
})).gain(0.4)

// drums · snare
const snare = s("sd").struct(`<
  ~ A ~@26 B ~@2 C@2 A ~@10 B ~@3 C ~@7 B ~@6 B C ~@3 B ~@7 B ~@3 D ~@14 C B C E
>`.pickRestart({
  A: "x", B: "~@11 x!2 ~@3", C: "~@11 x!3 ~ x", D: "~@3 x", E: "x ~@2 x!2 ~@2 x ~@8",
// … 22 more lines

More by Broadway