Strudelify

Counting Stars

Hédouard H.

KeyE♭ majorTempo124 bpm
0:00/0:00
// Counting Stars — Hédouard H.
// 124 bpm, 4/4, key Eb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 14 tuba (copy of ch 4 "Saxophone Ténor" tenor sax)
// note: Transcription provider: pdmx. https://musescore.com/score/5860619; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 87 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(124/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 · flute · "Flûte"
const flute = note(`<
  A B C D ~ E F G ~ H I J@2 K I J@2 L ~@4 M N O M P@2 Q@2 R S ~@2 T U V W T U V X T U Y Z T U C AA AB@2 ~@4 AC@2 AD@2
  ~@3 T U V W T U V X T U Y Z T U C AA AE J@2 L AD@4
>`.pickRestart({
  A: "f5 g5 bb5 g5", B: "f5@2 g5@2 f5 eb5@3 g5@8", C: "~@2 f5@2 f5 g5@3 ab5@2 g5@2 f5@2 eb5@2", D: "g5 c5 eb5@2",
  E: "~@4 g4 c5 eb5@2", F: "d5@15 ~", G: "eb5 ~@7", H: "~@6 c4 eb4", I: "c5@11 ~ bb5@3 g5", J: "f5@11 ~ bb5@3 g5",
  K: "f5 eb5", L: "f5 g5", M: "[c5,g5]@4 ~@2 [c5,g5] ~@3 [c5,g5] ~@3 [c5,g5] ~",
  N: "[bb4,g5]@4 ~@2 [bb4,g5] ~@3 [bb4,g5] ~@3 [bb4,g5] ~", O: "[bb4,f5]@4 ~@2 [bb4,f5] ~@3 [bb4,f5] ~@3 [bb4,f5] ~",
  P: "[~@2 c5@2 c5 eb5 c6 bb5@3 g5 f5 eb5 f5 g5@2]/2", Q: "[f5@4 ~@2 c6@2 d6@2 c6@2 d6@2 eb6@4 d6@2 c6@11 ~]/2",
  R: "~@4 c6@3 bb5 c6@4 c6@3 bb5", S: "c6@4 c6@3 bb5 c6@2 bb5@6", T: "f5@4 g5@4 bb5@4 g5 f5@3", U: "f5 g5 f5 eb5 g5@4",
  V: "f5@15 ~", W: "g5@15 ~", X: "ab5@11 ~ c5@2 d5 eb5", Y: "~@2 f5@2 f5@2 g5 ab5@3 g5@2 f5@2 eb5@2",
  Z: "g5 c5 c5@2 eb5@4", AA: "g5@2 f5 ~@5 g5@2 f5@2 f5@2 c5@2", AB: "[eb5@2 c5@27 ~@3]/2", AC: "~ c6 ~ c6",
  AD: "[eb6@2 d6@2 c6 bb5@2 eb6@2 d6@2 c6@4 eb6@3 d6!2 c6@2 bb5 eb6@2 eb6 d6@2 c6@4]/2", AE: "eb5@2 c5@9 ~ bb5@3 g5",
})).s("gm_flute").gain(0.4)

// other · clarinet · "Clarinette en Si♭"
const clarinet = note(`<
  A B C D ~ E ~ F ~ G H I@2 J H I@2 K L M N L@2 M N L O@2 P@2 Q R ~@9 S T U V W T U X Y Z@2 ~@4 AA@2 AB@2 ~@10 S T U V W
  T U X Y AC I@2 K AB@4
>`.pickRestart({
  A: "f4 g4 bb4 g4", B: "f4@2 g4@2 f4 eb4@3 g4@8", C: "~@2 f4@2 f4 g4@3 ab4@2 g4@2 f4@2 eb4@2", D: "g4 c4 eb4@2",
  E: "~@4 g4 c5 eb5@2", F: "eb5 ~@7", G: "~@6 c4 eb4", H: "c5@12 bb5@3 g5", I: "f5@12 bb5@3 g5", J: "f5 eb5",
  K: "f5 g5", L: "[c4,g4]@4 ~@2 [c4,g4] ~@3 [c4,g4] ~@3 [c4,g4] ~",
  M: "[bb3,g4]@4 ~@2 [bb3,g4] ~@3 [bb3,g4] ~@3 [bb3,g4] ~", N: "[bb3,f4]@4 ~@2 [bb3,f4] ~@3 [bb3,f4] ~@3 [bb3,f4] ~",
  O: "[~@2 [c4,c5]@2 [c4,c5] [eb4,eb5] [c5,c6] [bb4,bb5]@3 [g4,g5] [f4,f5] [eb4,eb5] [f4,f5] [g4,g5]@2]/2", // C Eb C Bb G F Eb F …
  P: "[[f4,f5]@2 ~ [c4,c5] [d4,d5] [c4,c5] [d4,d5] [eb4,eb5]@2 [d4,d5] [c4,c5]@6]/2", Q: "~@4 c5@3 bb4 c5@4 c5@3 bb4",
  R: "c5@4 c5@3 bb4 c5@2 bb4@6", S: "~@12 c5@2 d5 eb5", T: "f5@4 g5@4 bb5@4 g5 f5@3", U: "f5 g5 f5 eb5 g5@4",
  V: "~@2 f5@2 f5@2 g5 ab5@3 g5@2 f5@2 eb5@2", W: "g5 c5 c5@2 eb5@4", X: "~@2 f5@2 f5 g5@3 ab5@2 g5@2 f5@2 eb5@2",
  Y: "g5@2 f5 ~@5 g5@2 f5@2 f5@2 c5@2", Z: "[eb5 c5@14 ~]/2", AA: "~ c6 ~ c6",
  AB: "[g5@2 f5@2 eb5 d5@2 g5@2 f5@2 eb5@4 g5@3 f5!2 eb5@2 d5 g5@2 g5 f5@2 eb5@4]/2", AC: "eb5@2 c5@10 bb5@3 g5",
})).s("gm_clarinet").gain(0.4)

// other · clarinet · "Clarinette en Si♭" · soft notes
const clarinet_soft = note("<~@6 A ~@27 B C D B@2 C D E ~@21 B C D B@2 C D E ~@16>".pickRestart({
  A: "d5", B: "[c5,eb5]", C: "[bb4,eb5]", D: "[bb4,d5]", E: "[c5,eb5]@3 ~",
})).s("gm_clarinet").gain(0.2)

// other · alto sax · "Saxophone Alto"
const alto_sax = note(`<
  ~ A ~ B C D E F G B H I@2 J H I@2 K L M N O L M N O P@2 Q@2 R S ~@4 T U ~@2 V W X D ~@2 X D ~ Y ~@8 Z AA AB AC ~@3 T U
  ~@2 V W X D ~@2 X D ~ Y H I@2 K H I AD AE
>`.pickRestart({
  A: "~@4 g3 c4 eb4@2", B: "~@6 c4 eb4", C: "f4 g4 bb4 g4", D: "f4 g4 f4 eb4 g4@4",
  E: "~@2 f4@2 f4 g4@3 ab4@2 g4@2 f4@2 eb4@2", F: "g4@2 f4 ~@5 g4@2 f4@2 f4@2 c4@2", G: "eb4 c4@5 ~@2",
  H: "c4@12 bb4@3 g4", I: "f4@12 bb4@3 g4", J: "f4 eb4", K: "f4 g4",
  L: "[c4,eb4]@4 ~@2 [c4,eb4] ~@3 [c4,eb4] ~@3 [c4,eb4] ~", // Cm
  M: "[bb3,eb4]@4 ~@2 [bb3,eb4] ~@3 [bb3,eb4] ~@3 [bb3,eb4] ~", // Eb5
  N: "[bb3,d4]@4 ~@2 [bb3,d4] ~@3 [bb3,d4] ~@3 [bb3,d4] ~", // Bb
  O: "[ab3,eb4]@4 ~@2 [ab3,eb4] ~@3 [ab3,eb4] ~@3 [ab3,eb4] ~", P: "[~@2 c4@2 c4 eb4 c5 bb4@3 g4 f4 eb4 f4 g4@2]/2",
  Q: "[f4@2 ~ c4 d4 c4 d4 eb4@2 d4 c4@6]/2", R: "~@4 c4@3 bb3 c4@4 c4@3 bb3", S: "c4@4 c4@3 bb3 c4@2 bb3@6",
  T: "~@2 f4@2 f4@2 g4 ab4@3 g4@2 f4@2 eb4@2", U: "g4 c4 c4@2 eb4@4", V: "~@2 f4@2 f4@2 g4@2 ab4@2 g4@2 f4 eb4@3",
  W: "g4@2 f4@2 f4 c4@3 eb4@6 ~@2", X: "f4@4 g4@4 bb4@4 g4 f4@3", Y: "eb4!2 ~@6",
  Z: "~@12 [c4,db4] [d4,eb4,e4] [f4,gb4,g4] [ab4,a4,bb4]", AA: "c5, b4 ~@15", AB: "c5 bb4 f4 eb4", AC: "f4 g4@3",
  AD: "f4@2 f4 bb4", AE: "~@3 [c4,c5]",
})).s("gm_alto_sax").gain(0.4)

// other · alto sax · "Saxophone Alto" · soft notes
const alto_sax_soft = note(`<
  ~@2 A B ~@30 C@2 ~@2 C@2 ~@4 D E ~@2 D ~@7 F@2 G ~@4 C@2 ~@2 C@2 ~@4 D E ~@2 D ~@9
>`.pickRestart({
  A: "d4", B: "eb4@3 ~", C: "[eb4,g4]", D: "d4 f4", E: "eb4@4 ab4 g4 f4 eb4", F: "c4/2", G: "c4@5 ~@3",
})).s("gm_alto_sax").gain(0.2)

// other · tenor sax · "Saxophone Ténor"
const tenor_sax = note(`<
  ~ A ~ B C D E F G B ~@5 H I J K L M N O@2 P Q R@2 S T U@2 V W X Y Z AA X Y AB AC ~@7 AD ~@6 AE@2 AF AG ~@2 AH X Y Z AA
  X Y AB AC ~@7 AD AI@2 AJ AK AI@2 AL AM
>`.pickRestart({
  A: "~@4 g3 c4 eb4@2", B: "~@6 c4 eb4", C: "f4 g4 bb4 g4", D: "f4 g4 f4 eb4 g4@4",
  E: "~@2 f4@2 f4 g4@3 ab4@2 g4@2 f4@2 eb4@2", F: "g4@2 f4 ~@5 g4@2 f4@2 f4@2 c4@2", G: "eb4 c4@5 ~@2", H: "g3",
  I: "bb3", J: "c4@4 ~ g3!2 f3", K: "g3@4 ~@2 g3 ~ g3 g3@3 g3@4", L: "g3@2 g3@2 g3@3 g3 bb3 ~ bb3 f3@5",
  M: "g3 f3 eb3 c3 g3 f3 eb3@2", N: "~@2 g3 f3 eb3@2 c3@2 g3@2 f3@2 eb3@2 f3@2", O: "g3@4 ~@2 g3 f3 g3@2 g3@2 g3@4",
  P: "g3@2 f3@2 eb3@2 c3@2 g3@2 f3@2 eb3 f3@3", Q: "g3@2 f3@2 eb3 c3@3 g3@2 f3@2 eb3 f3@3",
  R: "g3@4 ~@2 g3 ~@3 g3 ~@3 g3@2", S: "bb3@4 ~@2 bb3 ~@3 bb3 ~@3 bb3@2", T: "ab3@4 ~@2 ab3 ~@3 ab3 ~@3 ab3@2",
  U: "ab3/2", V: "c4 bb3 f3 eb3", W: "f3@2 g3@2 f3 eb3 c3 bb2", X: "c3 eb3", Y: "eb3",
  Z: "~@2 f3@2 f3@2 g3 ab3@3 g3@2 f3@2 eb3@2", AA: "g3 c3 c3@2 eb3@4", AB: "~@2 f4@2 f4@2 g4@2 ab4@2 g4@2 f4 eb4@3",
  AC: "g4@2 f4@2 f4 c4@3 eb4@6 ~@2", AD: "eb3!2 ~@6", AE: "g3/2", AF: "g3!2", AG: "g3@2 g3@2 g3!4",
  AH: "~@4 f3 eb3 c3 bb2", AI: "g3@3 g3 g3@3 g3", AJ: "f3@3 f3 f3@3 f3", AK: "eb3@3 eb3 eb3@3 eb3", AL: "f3 bb2 d3 f3",
  AM: "~@3 c3",
})).s("gm_tenor_sax").gain(0.3)

// other · tenor sax · "Saxophone Ténor" · soft notes
const tenor_sax_soft = note("<~@2 A B ~@6 C@2 D E C ~@27 F@2 G H F@2 G ~@11 I J ~@9 F@2 G H F@2 G ~@9>".pickRestart({
  A: "d4", B: "eb4@3 ~", C: "g3", D: "bb3", E: "bb3 ab3", F: "g3@3 g3 g3@3 g3", G: "f3!2", H: "eb3@2 ab3 eb3", I: "ab3",
  J: "f3",
})).s("gm_tenor_sax").gain(0.2)

// other · trumpet · "Trompette"
const trumpet = note(`<
  ~ A ~ B C D E F ~ B ~@16 G H I G J K ~@2 L D ~@2 L D ~ M N O P Q N O R S T@2 ~@2 U@6 V W ~ L D ~@2 L D ~ M N O P Q N O
  R S ~@2 U@6
>`.pickRestart({
  A: "~@4 g4 c5 eb5@2", B: "~@6 c4 eb4", C: "f4 g4 bb4 g4", D: "f4 g4 f4 eb4 g4@4",
  E: "~@2 f4@2 f4 g4@3 ab4@2 g4@2 f4@2 eb4@2", F: "g4@2 f4 ~@5 g4@2 f4@2 f4@2 c4@2", G: "[c4,eb4]", H: "[bb3,eb4]",
  I: "[bb3,d4]", J: "~@4 eb4@3 d4 eb4@4 eb4@3 d4", K: "eb4@4 eb4@3 d4 eb4@2 d4@6", L: "f4@4 g4@4 bb4@4 g4 f4@3",
  M: "~@12 c5@2 d5 eb5", N: "c5 eb5@3", O: "[g4,bb4] [bb4,eb5]", P: "~@2 f4@2 f4@2 g4 ab4@3 g4@2 f4@2 eb4@2",
  Q: "g4 c4 c4@2 eb4@4", R: "~@2 f5@2 f5 g5@3 ab5@2 g5@2 f5@2 eb5@2", S: "g5@2 f5 ~@5 g5@2 f5@2 f5@2 c5@2",
  T: "[eb5 c5@14 ~]/2", U: "[c5@2 bb4@2 g4 f4@2 c5@2 bb4@2 g4@4 c5@3 bb4!2 g4@2 f4 c5@2 c5 bb4@2 g4@4]/2",
  V: "c5 bb4 f4 eb4", W: "f4 g4@3",
})).s("gm_trumpet").gain(0.4)

// other · trumpet · "Trompette" · soft notes
const trumpet_soft = note("<~@2 A B ~@6 C@2 D E C@2 D F ~@18 G F ~@2 G H ~@23 G F ~@2 G H ~@16>".pickRestart({
  A: "d5", B: "eb5@3 ~", C: "[eb4,g4]", D: "[d4,f4]", E: "bb4 ab4", F: "[c4,eb4]", G: "[bb3,d4]", H: "[c4,eb4]@3 ~",
})).s("gm_trumpet").gain(0.2)

// other · french horn · "Cor en Fa"
const french_horn = note(`<
  ~ A B C D E F G H I J K@2 L J K@2 M ~@8 N@2 O@2 P@2 ~@2 Q@2 R S Q@2 T U V E W X V E W Y ~@6 Z ~ AA AB ~@3 Q@2 R S Q@2
  T U V E W X V E W Y J K@2 M J K AC AD
>`.pickRestart({
  A: "~@4 g4 c5 eb5@2", B: "d5", C: "eb5@6 c4 eb4", D: "f4 g4 bb4 g4", E: "f4 g4 f4 eb4 g4@4",
  F: "~@2 f4@2 f4 g4@3 ab4@2 g4@2 f4@2 eb4@2", G: "g4@2 f4 ~@5 g4@2 f4@2 f4@2 c4@2", H: "eb4 c4@5 ~@2", I: "~@6 c4 eb4",
  J: "c4@12 bb4@3 g4", K: "f4@12 bb4@3 g4", L: "f4 eb4", M: "f4 g4",
  N: "[~@2 c4@2 c4 eb4 c5 bb4@3 g4 f4 eb4 f4 g4@2]/2", O: "[f4@2 ~ c4 d4 c4 d4 eb4@2 d4 c4@6]/2", P: "eb4/2", Q: "eb4",
  R: "~@2 f4@2 f4@2 g4 ab4@3 g4@2 f4@2 eb4@2", S: "g4 c4 c4@2 eb4@4", T: "~@2 f4@2 f4@2 g4@2 ab4@2 g4@2 f4 eb4@3",
  U: "g4@2 f4@2 f4 c4@3 eb4@6 ~@2", V: "f4@4 g4@4 bb4@4 g4 f4@3", W: "d4 f4", X: "eb4@4 ab4 g4 f4 eb4", Y: "eb4!2 ~@6",
  Z: "c4", AA: "c4@10 ~@2 [c4,db4] [d4,eb4,e4] [f4,gb4,g4] [ab4,a4,bb4]", AB: "c5, b4 ~@15", AC: "f4@2 f4 bb4",
  AD: "~@3 [c4,c5]", // C
})).s("gm_french_horn").gain(0.4)

// other · trombone
const trombone = note(`<
  ~@7 A ~ B C D E F C D E G H I J K L@2 M N O P Q R S@2 T U ~@2 V W ~@2 X Y Z AA AB AC Z AA AB AD ~@8 AE AF ~@2 AG ~@2 V
  W ~@2 X Y Z AA AB AC Z AA AB AD AH@2 AI AJ AH@2 AK AL
>`.pickRestart({
  A: "[ab3,c4] ~@7", B: "~@6 c3 eb3", C: "~ c4!3, g3", D: "~ bb3!3, g3", E: "bb3!4", F: "bb3 ab3",
  G: "[ab3,c4]@4 ~ g3!2 f3", H: "g3@4 ~@2 g3 ~ g3 g3@3 g3@4", I: "g3@2 g3@2 g3@3 g3 bb3 ~ bb3 f3@5",
  J: "g3 f3 eb3 c3 g3 f3 eb3@2", K: "~@2 g3 f3 eb3@2 c3@2 g3@2 f3@2 eb3@2 f3@2", L: "g3@4 ~@2 g3 f3 g3@2 g3@2 g3@4",
  M: "g3@2 f3@2 eb3@2 c3@2 g3@2 f3@2 eb3 f3@3", N: "g3@2 f3@2 eb3 c3@3 g3@2 f3@2 eb3 f3@3",
  O: "[g3,c4]@4 ~@2 [g3,c4] ~@3 [g3,c4] ~@3 [g3,c4]@2", P: "[g3,bb3]@4 ~@2 [g3,bb3] ~@3 [g3,bb3] ~@3 [g3,bb3]@2",
  Q: "[bb3,d4]@4 ~@2 [bb3,d4] ~@3 [bb3,d4] ~@3 [bb3,d4]@2", R: "[ab3,c4]@4 ~@2 [ab3,c4] ~@3 [ab3,c4] ~@3 [ab3,c4]@2",
  S: "[ab3 ab3, c4]/2", T: "c4 bb3 f3 eb3", U: "f3@2 g3@2 f3 eb3 c3 bb2", V: "~@2 f3@2 f3@2 g3 ab3@3 g3@2 f3@2 eb3@2",
  W: "g3 c3 c3@2 eb3@4", X: "~@2 f3@2 f3@2 g3@2 ab3@2 g3@2 f3 eb3@3", Y: "g3@2 f3@2 f3 c3@3 eb3@6 ~@2",
  Z: "c4@3 c4 c4@3 c4", AA: "bb3@3 bb3 bb3@3 bb3", AB: "[f3,bb3] [bb3,d4]", AC: "[ab3,c4]@2 [c4,eb4] [ab3,c4]",
  AD: "[ab3,c4]!2 ~@6", AE: "c4!2", AF: "c4@2 c4@2 c4!4", AG: "~@4 f3 eb3 c3 bb2", AH: "g3@3 g3 g3@3 g3",
  AI: "f3@3 f3 f3@3 f3", AJ: "eb3@3 eb3 eb3@3 eb3", AK: "f3 bb2 d3 f3", AL: "~@3 c3",
})).s("gm_trombone").gain(0.3)

// other · trombone · soft notes
const trombone_soft = note("<A B C D A B C ~@27 E B ~@2 E B ~@16 F ~@3 D@2 ~ E B ~@2 E B ~@18>".pickRestart({
  A: "[g3,c4]", B: "[g3,bb3]", C: "[bb3,d4]", D: "[ab3,c4]", E: "c3 [g3,c4]", F: "g3",
})).s("gm_trombone").gain(0.2)

// other · baritone sax · "Saxophone Baryton"
const baritone_sax = note(`<
  A@2 B C A@2 B D ~ E ~@4 A@2 B F G H I J K@2 L M N@2 O P ~@2 Q R ~@2 S T U V W X Y Z AA AB Y Z AA AC ~@8 AD AE ~@2 AF
  ~@2 S T U V W X Y Z AA AB Y Z AA AC AG@2 AH AI AG@2 AJ AK
>`.pickRestart({
  A: "g3", B: "bb3", C: "ab3@6 c4 eb4", D: "ab3 ~@7", E: "~@6 c3 eb3", F: "ab3@4 ~ g3!2 f3",
  G: "g3@4 ~@2 g3 ~ g3 g3@3 g3@4", H: "g3@2 g3@2 g3@3 g3 bb3 ~ bb3 f3@5", I: "g3 f3 eb3 c3 g3 f3 eb3@2",
  J: "~@2 g3 f3 eb3@2 c3@2 g3@2 f3@2 eb3@2 f3@2", K: "g3@4 ~@2 g3 f3 g3@2 g3@2 g3@4",
  L: "g3@2 f3@2 eb3@2 c3@2 g3@2 f3@2 eb3 f3@3", M: "g3@2 f3@2 eb3 c3@3 g3@2 f3@2 eb3 f3@3",
  N: "g3@4 ~@2 g3 ~@3 g3 ~@3 g3@2", O: "bb3@4 ~@2 bb3 ~@3 bb3 ~@3 bb3@2", P: "ab3@4 ~@2 ab3 ~@3 ab3 ~@3 ab3@2",
  Q: "c4 bb3 f3 eb3", R: "f3@2 g3@2 f3 eb3 c3 bb2", S: "~@2 f3@2 f3@2 g3 ab3@3 g3@2 f3@2 eb3@2", T: "g3 c3 c3@2 eb3@4",
  U: "c3 eb3", V: "eb3", W: "~@2 f3@2 f3@2 g3@2 ab3@2 g3@2 f3 eb3@3", X: "g3@2 f3@2 f3 c3@3 eb3@6 ~@2",
  Y: "c4@3 c4 c4@3 c4", Z: "bb3@3 bb3 bb3@3 bb3", AA: "f3!2", AB: "eb3@2 ab3 eb3", AC: "eb3!2 ~@6", AD: "g3!2",
  AE: "g3@2 g3@2 g3!4", AF: "~@4 f3 eb3 c3 bb2", AG: "g3@3 g3 g3@3 g3", AH: "f3@3 f3 f3@3 f3",
  AI: "eb3@3 eb3 eb3@3 eb3", AJ: "f3 bb2 d3 f3", AK: "~@3 c3",
})).s("gm_baritone_sax").gain(0.4)

// other · baritone sax · "Saxophone Baryton" · soft notes
const baritone_sax_soft = note("<~@10 A@2 B C ~@16 D@2 ~@2 E F ~@20 G ~@3 F H ~ E F ~@22>".pickRestart({
  A: "g3", B: "bb3", C: "bb3 ab3", D: "eb3/2", E: "c3 eb3", F: "eb3", G: "c2", H: "f3",
})).s("gm_baritone_sax").gain(0.2)

// bass · tuba
const bass = note(`<
  A B C D E F G H ~ I E F G J E F G K E F G K E F G K E F G K@3 ~@2 L M N O L M N O L M N O L M N P ~@8 Q R S T ~ L M N
  O L M N O L M N O L M N P L M U V L M W X
>`.pickRestart({
  A: "c2", B: "eb2", C: "bb2", D: "ab2@6 c2 eb2", E: "c2!4", F: "eb2!4", G: "bb2!4", H: "ab2 ~@7", I: "~@6 c3 eb3",
  J: "f2!2 eb2!2", K: "ab2!4", L: "c2@2 c2 eb2 c2@2 c2 d2", M: "eb2@2 eb2 bb2 eb2@2 eb2 f2", N: "bb1!2",
  O: "ab1@2 ab2 eb2", P: "ab1!2 ~@6", Q: "c2!2", R: "c2@2 c2@2 c2!4", S: "ab2", T: "f2", U: "bb1@2 bb1 f2 bb1@2 bb1 c2",
  V: "ab1@2 ab1 c2 eb2 d2 c2 bb1", W: "bb1!4", X: "~@3 c2",
})).s("gm_tuba").gain(0.4)

// drums · snare
const snare = s("sd").struct("<~@18 A@7 B ~@8 A@15 ~@13 C A@15 ~ A@7 ~>".pickRestart({
  A: "~ x ~ x", B: "~@2 x ~@3 x!2", C: "x!4",
})).gain(0.3)

// drums · low tom
const low_tom = s("lt").struct("<~@4 A@3 B ~@2 A@7 C A@7 D E@4 A@2 ~@2 A@15 F ~@4 A@6 ~@2 G A@15 F A@7 H>".pickRestart({
  A: "x!4", B: "x", C: "x ~ x ~@2 x!3", D: "x ~@3 x ~@3 x ~@3 x!4", E: "x!2 ~ x!3 ~ x", F: "x!2 ~@6",
  G: "~ x ~ x ~ x ~ x", H: "~@3 x",
})).gain(0.3)

// … 29 more lines