Strudelify

The Meme Suite

Jacob Graham

KeyA♭ majorTempo124 bpm
0:00/0:00
// The Meme Suite — Jacob Graham
// 124 bpm, 4/4, key Ab major. 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 (4/4 at bar 1, 2/2 at bar 32, 4/4 at bar 78, 3/4 at bar 120, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: ch 1 "Piccolo" named as a pipe, played on piccolo (its french horn patch is not one); ch 2 "Flute" named as a pipe, played on flute (its tuba patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/5874882; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 143 bars on a 32-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.

// chords · piccolo
const piccolo = note(`<
  ~@2 A ~@3 B ~ C@2 D@4 E@3 F G@6 H I J@2 K L M@3 N O@4 P@7 Q@5 ~@2 R@3 S T U@3 V W@3 X Y@5 Z@2 AA@2 AB AC@2 ~@9 AD AE
  AD AE AD AE AD AE AD AF AD AF AD AF AG@2 AH AI AH AI AH AI AH AI AH AI AH AI AH AI AH AI ~@9 AJ@8 AK AL AM AN@2 AO
  AP@2
>`.pickRestart({
  A: "~ c3!2 ~", B: "~ c3@2 c3@2 ~@3",
  C: "[~@10 f6@2 c6@2 c6@2 c6@2 f6@2 c6@2 c6@2 c6@2 f6@2 c6@2 c6 c6@2 [c3,f6]@8 f6@2 c6@2 c6@2 c6@2 f6@2 c6@2 c6@2 c6@2 f6@2 c6@2 c6 c6@2, ~@10 c3@8 c3@8 c3@7 ~@8 c3@8 c3@8 c3@7]/2", // F5
  D: "[c3@4 f2@4 f6@2 c6@2 c6@2 c6@2 f6@2 c6@2 c6@2 c6@2 f6@2 c6@2 c6 c6@2 [c3,f6]@8 f6@2 c6@2 c6@2 c6@2 f6@2 c6@2 c6@2 c6@2 f6@2 c6@2 c6 c6@2 c3@4 f2@4 c3@8 c3@8 c3@7 c3@8 c3@8 c3@8 c3@7 c3@4, c6@8 c3@8 c3@8 c3@7 ~@8 c3@8 c3@8 c3@7 c6@8 ~@58]/4", // F5
  E: "[f2@4 c3@8 c3@8 c3@7 c3@8 c3@8 c3@8 c3@7 c3@4 f2@4 c3@8 c3@8 c3@7 c3@7]/3", F: "~ c3@8 c3@8 c3@7 c3@4 f2@4",
  G: "[c3@8 c3@8 c3@7 c3@8 c3@8 c3@8 c3@7 c3@4 f2@4 f3@8 c3@8 f3@7 c3@8 f3@8 c3@8 f3@7 f3@4 c3@4 eb3@8 c3@8 eb3@7 c3@8 eb3@8 c3@8 eb3@7 eb3@4 f3@4 f3@6]/6",
  H: "c4@2 f4@3 ~ f4@3 ~ f4@3 ~ f4@3 f4@3 ~ c4@4 db4@4 f4@3", I: "~ f4@3 ~ db4@4 c4@8 ~@7 f3@6 c4@2",
  J: "[f4@3 ~ f4@3 ~ f4@3 ~ f4@3 f4@3 ~ c4@4 db4@4 c4@4 ab3@4 g3@4 f3@8 ~@7 f3@6 c4@2 f4@2]/2",
  K: "~@2 f4@3 ~ f4@3 ~ f4@3 f4@3 ~ c4@4 db4@4 f4@3 ~ f4@3", L: "~ db4@4 c4@8 ~@7 f3@6 c4@2 f4@3 ~",
  M: "[f4@3 ~ f4@3 ~ f4@3 f4@3 ~ c4@4 db4@4 c4@4 ab3@4 g3@4 [f3,a6]@15 bb6@4 d6@4 g6@4 bb6@4 c7@4 f6@3 a6@4 bb6@8 g6@4 bb6@4 d7@3, ~@50 g3@15 ~ f3@11 eb3@19]/3", // F
  N: "~ eb7@4 g6@3 d7@4 c7@4 bb6@4 d6@4 g6@4 bb6@4, ~ c3@15 g3@15 ~",
  O: "[c7@4 f6@3 a6@4 bb6@8 g6@4 bb6@4 d7@4 eb7@4 g6@3 d7@4 c7@4 bb6@4 d6@4 g6@4 bb6@4 c7@4 f6@3 a6@4 ~@8 g6@4 bb6@4 d7@4 eb7@4 g6@3 d7@4 c7@4 bb6@4 d6@4 g6@4 bb6@4 [f3,a6]@4, f3@11 eb3@19 ~ c3@15 g3@8 g3@8 f3@7 f3@8 eb3@8 eb3@8 c3@7 c3@8 g3@8 g3@8 ~@4, ~@73 bb6@8 ~@47]/4", // F
  P: "[c6@3 f6@4 ~@8 c6@4 f6@4 ~@8 f6@3 g6@4 a6@4 bb6@4 d6@4 g6@4 bb6@4 c7@4 f6@3 a6@4 bb6@8 g6@4 bb6@4 d7@4 eb7@4 g6@3 d7@4 c7@4 bb6@4 d6@4 g6@4 bb6@4 c7@4 f6@3 a6@4 bb6@8 g6@4 bb6@4 d7@4 eb7@4 g6@3 d7@4 c7@4 bb6@4 d6@4 g6@4 bb6@4 c7@4 f6@3 a6@4 ~@8 g6@4 bb6@4 d7@4 eb7@4 g6@3 [c3,d7]@4, ~@3 f3@8 eb3@8 eb3@8 c3@7 c3@8 g3@15 ~ f3@12 ~@34 g3@15 ~ f3@12 ~@34 g3@8 g3@8 f3@7 f3@8 eb3@8 eb3@8 c3@7 ~@4, ~@7 g6@8 ~@8 g6@8 ~@38 eb3@19 ~ c3@15 ~@27 eb3@19 ~ c3@15 ~@27 bb6@8 ~@23]/7", // Csus2
  Q: "[c7@4 bb6@4 d6@4 g6@4 bb6@4 a6@4 c6@3 f6@4 ~@8 c6@4 f6@4 ~@8 f6@3 g6@4 a6@4 b6@66 ~@28, ~@4 g3@8 g3@8 f3@7 f3@8 eb3@8 eb3@8 c3@7 c3@8 ~@94, ~@31 g6@8 ~@8 g6@8 ~@105]/5",
  R: "[~@14 c4@6 b3@4 b3@6 b3@6 gb3@4 ~ b5 ~ b5 ~ b5 ~ b5 ~ b5@4 g3@4 g3@6 g3@6 ~ c4@4 g3@6 g3@6 g3@4 g3@6, ~@41 g3@6 g3@6 ~@43]/3",
  S: "~@2 d6@4 ~ c4@4 b5 ~ b5 ~ b5 ~ b5 ~ b5@4 g3@4 g3@5, g3@6 ~@5 g3@6 g3@6 ~@9",
  T: "~ g3@6 ~ c4@4 c4@6 c4@6 b3@4 b3@4",
  U: "[~@5 d6@4 gb3@4 b5 ~ b5 ~ b5 ~ b5 ~ b5@4 g3@4 g3@6 ~ g3@6 c4@4 g3@6 g3@6 g3@4 g3@6 ~@3 d6@4 c4@4 b5 ~ b5 ~ b5 ~ b5 ~ b5@4 g3@4 ~, ~@3 b3@6 ~@4 g3@6 g3@6 ~@44 g3@6 ~@4 g3@6 g3@6 ~@5]/3",
  V: "g3@3 g3@3 c4@2 c4@3 c4@3 b3@2",
  W: "[~ b3@6 ~@2 d6@4 gb3@4 b5 ~ b5 ~ b5 ~ b5 ~ b5@4 ~ g3@4 g3@6 g3@6 g3@4 b5 ~ b5 ~ b5 ~ b5 ~ b5@4 ~ g3@4 g3@6 g3@6 g3@4 b5 ~ b5 ~ b5 ~ b5 ~@2 b5@4, ~@7 b3@6 ~@4 g3@6 g3@6 ~@21 g3@6 g3@6 ~@21 g3@6 g3@6 ~]/3",
  X: "g3@4 g3@6 g3@6 g3@4 b5 ~ b5 ~ b5 ~@2 b5 ~ b5@3, ~@20 g3@6 ~ g3@5",
  Y: "[~ g3@4 g3@6 g3@6 g3@4 b5 ~ b5 ~@2 b5 ~ b5 ~ b5@4 g3@4 b5 ~ b5 ~ b5 ~ b5 ~ b5@4 g3@4 b5 ~@2 b5 ~ b5 ~ b5 ~ b5@4 g3@4 b5 ~ b5 ~ b5 ~ b5 ~ b5@4 g3@4 ~ b5!2 ~ b5 ~ b5 ~ b5 ~ b5 ~ b5 ~ b5 ~ b5 ~ b5 ~ b5 ~ b5 ~ b5 ~ b5 ~ b5 ~ b5 ~ b5!2 ~ b5 ~ b5 ~ b5 ~ b5 ~ b5 ~ b5 ~ b5 ~ b5 ~ b5 ~ b5 ~ b5 ~ b5 ~ b5 ~ b5 ~ b5!2 ~ b5 ~ b5 ~ b5@3, ~@21 g3@6 ~ g3@6 ~@4 g3@6 g3@6 ~@4 g3@6 ~ g3@6 ~@4 g3@6 g3@6 ~@5 g3@3 g3@4 g3@4 g3@4 g3@4 g3@4 g3@4 g3@4 g3@3 g3@4 g3@4 g3@4 g3@4 g3@4 g3@4 g3@4 ~@3 e3@4 ~@3]/5",
  Z: "[b5 ~ b5 ~ b5 ~ b5 ~ e3@2 b5 [e3,b5]@4 e6 ~ e6 ~ e6 ~ e6!2 ~ e6 ~ e6@4 d6!2 ~ d6 ~ d6 ~ d6 ~ d6 ~ d6@3 [d3,a5]@4 b5 ~ b5 ~ b5!2 ~ b5@4 b5 ~ b5!2 ~, e3@4 ~@4 b5 ~@6 a3@4 ~@3 a3@4 ~@4 g3@4 ~@3 g3@4 ~@11 e3@4 ~@3 e3@4 ~]/2", // E5 D5
  AA: "[b5 ~ b5 ~ b5 ~ b5@3 e6 ~ e6 ~ b5 ~ b5 ~ b5 ~ b5 b5@4 b5 ~ b5 ~ b5!2 ~ b5 ~ b5 ~ b5@4 e6!2 ~ b5 ~ b5 ~ b5 ~ b5 ~ b5@3 b5 ~ b5 ~ b5 ~ b5!2 ~ b5 ~, ~@2 e3@4 ~@3 a3@4 ~@4 e3@4 ~@3 e3@4 ~@3 e3@4 ~@4 a3@4 ~@3 e3@4 ~@3 e3@4 ~@3 e3@4]/2",
  AB: "b5@4 e6 ~ e6!2 ~ e6 ~ e6 ~ e6 ~ e6@3 d6 ~ d6 ~ d6 ~ d6 ~ d6!2 ~ d6@3, ~@4 a3@4 ~@3 a3@4 ~@3 g3@4 ~@4 g3@4 ~@2",
  AC: "[~ [d3,a5]@4 b5!2 ~ b5 ~ b5 ~ b5@4 b5!2 ~ b5 ~ b5 ~ b5 ~ b5 b5@4 [a3,e6]@4 e3@3 e3@4 gb3@4 e3@3 gb3@4 eb3@4 gb3@3 eb3@4 ~, ~@8 e3@4 ~@4 e3@4 ~@3 e3@4 ~@7 b5@7 b5@7 b5@7 ~ b5@7 ~]/2", // D5 A5
  AD: "g3", AE: "f3@3 d3", AF: "d3 f3", AG: "g5!4", AH: "g3!2 f3!2", AI: "d3!2 c3!2",
  AJ: "[~@13 gb6@11 ~ d6@15 d6@2 e6@2 f6@5 e6@5 d6@5 db6@5 d6@5 e6@5 gb6@11 ~ b6@11 b5@4 db6@4 d6@5 e6@5 db6@5 d6@5 a6@5 g6@5 gb6@11 ~ d6@15 d6@2 e6@2 f6@5 e6@5 d6@5 db6@5 d6@5 e6@5 gb6@11 ~ b6@11 b6@4 db7@4 d7@5 g6@5 gb6@5 f6@5 d7@5 bb6@4, ~@13 b2@61 db3@61 b2@61 db3@46 ~@14]/8",
  AK: "~ b3@2 ~@2 b3@2 ~@2 b3@2 a3@2 ~@2 b3@2 ~@2 d4@2 ~ b3@2 ~@2 gb3@2 a3@2 ~@2, ~ b6@31",
  AL: "b3@2 ~@2 b3@2 ~@3 a3@2 ~@2 b3@2 ~@2 f4@2 ~@2 e4@2 ~@2 d4@2 a3@2 ~ b3@2, ~@4 b3 ~@11",
  AM: "~@2 b3@2 ~@2 b3@2 a3@2 ~@2 b3@2 ~@2 d4@2 ~ b3@2 ~@2 gb3@2 a3@2 ~@2 b3@2 ~",
  AN: "[~ b3@2 ~@2 b3@2 a3@2 ~ b3@2 ~@2 f4@2 ~@2 e4@2 ~@2 d4@2 a3@2 ~@2 [b3,b5]@2 ~ [b3,b5]@2 ~@2 [b3,b5]@2 [a3,a5]@2 ~@2 [b3,b5]@2 ~@2 [d4,d6]@2 ~@2 [b3,b5]@2 ~ [gb3,gb5]@2 [a3,a5]@2 ~@2 [b3,b5]@2 ~@2 [b3,b5]@2]/2", // B A B D B Gb A B
  AO: "~@2 [b3,b5]@2 [a3,a5]@2 ~ [b3,b5]@2 ~@2 [f4,f6]@2 ~@2 [e4,e6]@2 ~@2 [d4,d6]@2 [a3,a5]@2 ~@2 [b3,b5]@2 ~ [b3,b5]@2 ~@2", // B A B F E D A B
  AP: "[[b3,b5]@2 [a3,a5]@2 ~@2 [b3,b5]@2 ~@2 [d4,d6]@2 ~@2 [b3,b5]@2 ~ [gb3,gb5]@2 [a3,a5]@2 ~@2 [b3,b5]@2 ~@2 [b3,b5]@2 ~@2 [b3,b5]@2 ~@3 [b3,b5]@2 ~@8 b2@2 ~@16, ~@35 [a3,a5]@2 ~@27]/2", // B A B D B Gb A B …
})).s("gm_piccolo").gain(0.3)

// chords · piccolo · soft notes
const piccolo_soft = note("<~@12 A@4 B@2 C@2 ~@3 D@5 ~@21 E F G@2 ~@33 H I H I H I H I J K J K J K ~@43>".pickRestart({
  A: "[~@6 f6@2 c6@2 c6@2 c6@2 f6@2 c6@2 c6@2 c6@2 f6@2 c6@2 c6 c6@2 f6@8 f6@2 c6@2 c6@2 c6@2 f6@2 c6@2 c6@2 c6@2 f6@2 c6@2 c6 c6@2 c6@8 f6@2 c6@2 c6@2 c6@2 f6@2 c6@2 c6@2 c6@2 f6@2 c6@2 c6 c6@2 f6@8 f6@2 c6@2 c6@2 c6@2 f6@2 c6@2 c6@2 c6@2 f6@2 c6@2 c6 c6@2 c6@6]/4",
  B: "[~ f6@31]/2", C: "[c6@31 db6@4 c6@4 ab5@4 g5@4 f5@15 ~@2]/2", D: "[~@13 f6@31 c6@31 ~@5]/5",
  E: "~@4 g3@6 ~ g3@6 g3@4 g3@6 g3@5", F: "~ c4@4 g3@6 ~ g3@6 g3@4 g3@6 g3@4",
  G: "[~@2 c4@4 g3@6 ~ g3@6 g3@4 g3@6 g3@6 c4@4 ~ c4@6 ~@18]/2", H: "d6", I: "d6 bb5", J: "d6@4 d6@3 bb5@2 bb5@3 bb5@4",
  K: "f5@4 f5@3 bb5@2 bb5@3 bb5@2 f5@2",
})).s("gm_piccolo").gain(0.2)

// chords · flute
const flute = note(`<
  ~@2 A ~@3 B ~ C@2 D@6 E F G@2 ~@3 H I J K@7 L M@4 N@7 O@5 ~@2 P@3 Q R S@3 T U@3 V W@5 X Y Z AA AB AC AD ~@9 AE AF AE
  AF AE AF AE AF AG AH AG AH AG AH AI AJ AK@16 ~@9 AL@8 AM AN AO AP@2 AQ AR@2
>`.pickRestart({
  A: "~ c2!2 ~", B: "~ c2@2 c2@2 ~@3",
  C: "[~@10 f5@2 c5@2 c5@2 c5@2 f5@2 c5@2 c5@2 c5@2 f5@2 c5@2 c5 c5@2 [f2,f5]@8 f5@2 c5@2 c5@2 c5@2 f5@2 c5@2 c5@2 c5@2 f5@2 c5@2 c5 c5@2, ~@10 f2@8 f2@8 f2@7 ~@8 f2@8 f2@8 f2@7]/2", // F
  D: "[[f2,c5]@8 f5@2 c5@2 c5@2 c5@2 f5@2 c5@2 c5@2 c5@2 f5@2 c5@2 c5 c5@2 [f2,f5]@8 f5@2 c5@2 c5@2 c5@2 f5@2 c5@2 c5@2 c5@2 f5@2 c5@2 c5 c5@2 [f2,c5]@8 f2@8 f2@8 f2@7 f2@8 f2@8 f2@8 f2@7 f2@8 f2@8 f2@8 f2@7 f2@8 f2@8 f2@8 f2@7 f2@6, ~@8 f2@8 f2@8 f2@7 ~@8 f2@8 f2@8 f2@7 ~@130]/6", // F5 F F5
  E: "~@2 f2@8 f2@8 f2@7 f2@7", F: "~ f2@8 f2@8 f2@7 f2@8", G: "[f2@8 f2@8 f2@7 f2@8 f2@8 f2@8 f2@7 f2@8 ~@2]/2",
  H: "~@13 f2@3", I: "~@2 f2@8 f2@7 f2@8 f2@7", J: "~ f2@8 f2@7 f2@8 f2@8",
  K: "[f2@8 f2@7 f2@8 f2@8 f2@8 f2@7 f2@8 f2@8 f2@8 f2@7 f2@8 f2@8 f2@8 f2@7 f2@8 f2@8 f2@8 f2@7 f2@8 f2@8 f2@8 f2@7 f2@8 bb5@4 d5@4 g5@4 bb5@4 c6@4 f5@3 a5@4 bb5@7 ~ g5@4 bb5@4 d6@3, ~@163 a5@15 g2@15 ~ f2@11 eb2@19]/7",
  L: "~ eb6@4 g5@3 d6@4 c6@4 bb5@4 d5@4 g5@4 bb5@4, ~ c2@15 g2@15 ~",
  M: "[c6@4 f5@3 a5@4 bb5@7 ~ g5@4 bb5@4 d6@4 eb6@4 g5@3 d6@4 c6@4 bb5@4 d5@4 g5@4 bb5@4 c6@4 f5@3 a5@4 ~@8 g5@4 bb5@4 d6@4 eb6@4 g5@3 d6@4 c6@4 bb5@4 d5@4 g5@4 bb5@4 [f2,a5]@4, f2@11 eb2@19 ~ c2@15 g2@8 g2@8 f2@7 f2@8 eb2@8 eb2@8 c2@7 c2@8 g2@8 g2@8 ~@4, ~@73 bb5@7 ~@48]/4", // F
  N: "[c5@3 f5@4 ~@8 c5@4 f5@4 ~@8 f5@3 g5@4 a5@4 bb5@4 d5@4 g5@4 bb5@4 c6@4 f5@3 a5@4 bb5@7 ~ g5@4 bb5@4 d6@4 eb6@4 g5@3 d6@4 c6@4 bb5@4 d5@4 g5@4 bb5@4 c6@4 f5@3 a5@4 bb5@7 ~ g5@4 bb5@4 d6@4 eb6@4 g5@3 d6@4 c6@4 bb5@4 d5@4 g5@4 bb5@4 c6@4 f5@3 a5@4 ~@8 g5@4 bb5@4 d6@4 eb6@4 g5@3 [c2,d6]@4, ~@3 f2@8 eb2@8 eb2@8 c2@7 c2@8 g2@15 ~ f2@12 ~@34 g2@15 ~ f2@12 ~@34 g2@8 g2@8 f2@7 f2@8 eb2@8 eb2@8 c2@7 ~@4, ~@7 g5@7 ~@9 g5@7 ~@39 eb2@19 ~ c2@15 ~@27 eb2@19 ~ c2@15 ~@27 bb5@7 ~@24]/7", // Csus2
  O: "[c6@4 bb5@4 d5@4 g5@4 bb5@4 a5@4 c5@3 f5@4 ~@8 c5@4 f5@4 ~@8 f5@3 g5@4 a5@4 b5@63 ~@31, ~@4 g2@8 g2@8 f2@7 f2@8 eb2@8 eb2@8 c2@7 c2@8 ~@94, ~@31 g5@7 ~@9 g5@7 ~@106]/5",
  P: "[~@14 a2@6 g2@4 g2@6 g2@6 d2@4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4@4 e2@4 e2@6 e2@6 ~ a2@4 e2@6 e2@6 e2@4 e2@6, ~@41 e2@6 e2@6 ~@43]/3",
  Q: "~@2 d5@4 ~ a2@4 b4 ~ b4 ~ b4 ~ b4 ~ b4@4 e2@4 e2@5, e2@6 ~@5 e2@6 e2@6 ~@9",
  R: "~ e2@6 ~ a2@4 a2@6 a2@6 g2@4 g2@4",
  S: "[~@5 d5@4 d2@4 b4 ~ b4 ~ b4 ~ b4 ~ b4@4 e2@4 e2@6 ~ e2@6 a2@4 e2@6 e2@6 e2@4 e2@6 ~@3 d5@4 a2@4 b4 ~ b4 ~ b4 ~ b4 ~ b4@4 e2@4 ~, ~@3 g2@6 ~@4 e2@6 e2@6 ~@44 e2@6 ~@4 e2@6 e2@6 ~@5]/3",
  T: "e2@3 e2@3 a2@2 a2@3 a2@3 g2@2",
  U: "[~ g2@6 ~@2 d5@4 d2@4 b4 ~ b4 ~ b4 ~ b4 ~ b4@4 ~ e2@4 e2@6 e2@6 e2@4 b4 ~ b4 ~ b4 ~ b4 ~ b4@4 ~ e2@4 e2@6 e2@6 e2@4 b4 ~ b4 ~ b4 ~ b4 ~@2 b4@4, ~@7 g2@6 ~@4 e2@6 e2@6 ~@21 e2@6 e2@6 ~@21 e2@6 e2@6 ~]/3",
  V: "e2@4 e2@6 e2@6 e2@4 b4 ~ b4 ~ b4 ~@2 b4 ~ b4@3, ~@20 e2@6 ~ e2@5",
  W: "[~ e2@4 e2@6 e2@6 e2@4 b4 ~ b4 ~@2 b4 ~ b4 ~ b4@4 e2@4 b4 ~ b4 ~ b4 ~ b4 ~ b4@4 e2@4 b4 ~@2 b4 ~ b4 ~ b4 ~ b4@4 e2@4 b4 ~ b4 ~ b4 ~ b4 ~ b4@4 e2@4 ~ b4!2 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4!2 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4!2 ~ b4 ~ b4 ~ [e2,b4]@3, ~@21 e2@6 ~ e2@6 ~@4 e2@6 e2@6 ~@4 e2@6 ~ e2@6 ~@4 e2@6 e2@6 ~@5 e2@3 e2@4 e2@4 e2@4 e2@4 e2@4 e2@4 e2@4 e2@3 e2@4 e2@4 e2@4 e2@4 e2@4 e2@4 e2@4 e2@2 ~@8]/5", // E5
  X: "b4 ~ b4 ~ e2@2 b4 ~ b4 ~ b4 [e2,b4]@3 ~ e5 ~ e5 ~ a2@2 e5!2 ~ e5 ~ [a2,e5]@3 ~ d5!2, ~@4 b4 ~@14 e5 ~@12", // E5 A5
  Y: "~ g2@2 d5 ~ d5 ~ d5 ~ [d2,d5]@3 a4@3 ~ e2@2 b4 ~ b4!2 ~ [e2,b4]@3 ~ b4 ~ b4 e2@2, ~ d5 ~@14 b4 ~@13 b4 ~", // D E5
  Z: "b4 ~ b4 ~ b4 ~ [e2,b4]@3 e5 ~ e5 ~ e2@2 b4 ~ b4 ~ b4 [e2,b4]@3 ~ b4 ~ b4 ~ b4!2 ~ b4, ~@13 b4 ~@14 e2@2 ~@2", // E5
  AA: "~ b4 ~ [e2,b4]@3 ~ e5!2 ~ e2@2 b4 ~ b4 ~ b4 ~ [e2,b4]@3 b4 ~ b4 ~ e2@2 b4!2 ~ b4 ~, ~@10 b4 ~@14 b4 ~@6", // E5
  AB: "[e2,b4]@3 ~ e5 ~ e5 a2@2 e5 ~ e5 ~ e5 ~ [a2,e5]@3 d5 ~ d5 ~ g2@2 d5 ~ d5!2 ~ [d2,d5]@3, ~@7 e5 ~@14 d5 ~@9", // E5 A5 D
  AC: "~ a4@3 ~ b4!2 ~ b4 ~ b4 ~ [e2,b4]@3 ~ b4!2 ~ e2@2 b4 ~ b4 ~ b4 [e2,b4]@3 ~ e5@2, ~@5 e2@2 ~@12 b4 ~@12", // E5
  AD: "~@2 e2@3 e2@4 e2@4 e2@3 eb2@4 eb2@4 eb2@3 eb2@4 ~, ~@2 e5@7 e5@7 eb5@7 ~ eb5@7 ~", AE: "g2", AF: "f2@3 d2",
  AG: "d2", AH: "a1 d2", AI: "g4!4", AJ: "~ g2 ~ g2 ~ g2 ~ g2, g4!4",
  AK: "[g5@2 d6@2 bb5@2 d6 ~@2 d5 a5@2 f5@2 f5 ~@2 d5 a5@2 f5@2 f5 ~@2 c5@2 ~@2 c5 e5 c5, g2@4 g2@3 d5@2 ~@6 d5@2 ~@6 c5@2 ~@2 e5@2 ~@3, ~@2 f2!2 d2!2 c2!2]/2",
  AL: "[~@13 gb5@11 ~ d5@14 ~ d5@2 e5@2 f5@5 e5@5 d5@5 db5@5 d5@5 e5@5 gb5@11 ~ b5@11 b4@4 db5@4 d5@5 e5@5 db5@5 d5@5 a5@5 g5@5 gb5@11 ~ d5@14 ~ d5@2 e5@2 f5@5 e5@5 d5@5 db5@5 d5@5 e5@5 gb5@11 ~ b5@11 b5@4 db6@4 d6@5 g5@5 gb5@5 f5@5 d6@5 bb5@4, ~@13 b1@61 db2@61 b1@61 db2@46 ~@14]/8",
  AM: "~ b2@2 ~@2 b2@2 ~@2 b2@2 a2@2 ~@2 b2@2 ~@2 d3@2 ~ b2@2 ~@2 gb2@2 a2@2 ~@2, ~ b5@29 ~@2",
  AN: "b2@2 ~@2 b2@2 ~@3 a2@2 ~@2 b2@2 ~@2 f3@2 ~@2 e3@2 ~@2 d3@2 a2@2 ~ b2@2, ~@4 b2 ~@11",
  AO: "~@2 b2@2 ~@2 b2@2 a2@2 ~@2 b2@2 ~@2 d3@2 ~ b2@2 ~@2 gb2@2 a2@2 ~@2 b2@2 ~",
  AP: "[~ b2@2 ~@2 b2@2 a2@2 ~ b2@2 ~@2 f3@2 ~@2 e3@2 ~@2 d3@2 a2@2 ~@2 [b2,b4]@2 ~ [b2,b4]@2 ~@2 [b2,b4]@2 [a2,a4]@2 ~@2 [b2,b4]@2 ~@2 [d3,d5]@2 ~@2 [b2,b4]@2 ~ [gb2,gb4]@2 [a2,a4]@2 ~@2 [b2,b4]@2 ~@2 [b2,b4]@2]/2", // B A B D B Gb A B
  AQ: "~@2 [b2,b4]@2 [a2,a4]@2 ~ [b2,b4]@2 ~@2 [f3,f5]@2 ~@2 [e3,e5]@2 ~@2 [d3,d5]@2 [a2,a4]@2 ~@2 [b2,b4]@2 ~ [b2,b4]@2 ~@2", // B A B F E D A B
  AR: "[[b2,b4]@2 [a2,a4]@2 ~@2 [b2,b4]@2 ~@2 [d3,d5]@2 ~@2 [b2,b4]@2 ~ [gb2,gb4]@2 [a2,a4]@2 ~@2 [b2,b4]@2 ~@2 [b2,b4]@2 ~@2 [b2,b4]@2 ~@3 [b2,b4]@2 ~@8 b1@2 ~@16, ~@35 [a2,a4]@2 ~@27]/2", // B A B D B Gb A B …
})).s("gm_flute").gain(0.3)

// chords · flute · soft notes
const flute_soft = note("<~@12 A@3 B C@2 D@2 ~@3 E@5 ~@21 F G H@2 ~@33 I J I J I J I J K L K L K L ~@43>".pickRestart({
  A: "[~@6 f5@2 c5@2 c5@2 c5@2 f5@2 c5@2 c5@2 c5@2 f5@2 c5@2 c5 c5@2 f5@7 ~ f5@2 c5@2 c5@2 c5@2 f5@2 c5@2 c5@2 c5@2 f5@2 c5@2 c5 c5@2 c5@7 ~ f5@2 c5@2 c5@2 c5@2 f5@2 c5@2 c5@2 c5@2 f5@2 c5@2 c5 c5@2 f5@5]/3",
  B: "~@3 f5@2 c5@2 c5@2 c5@2 f5@2 c5@2 c5@2 c5@2 f5@2 c5@2 c5 c5@2 c5@6", C: "[~@2 f5@59 ~@3]/2",
  D: "[c5@29 ~@2 db5@4 c5@4 ab4@4 g4@4 f4@4 ~@13]/2", E: "[~@26 f5@59 ~@3 c5@59 ~@13]/5",
  F: "~@4 e2@6 ~ e2@6 e2@4 e2@6 e2@5", G: "~ a2@4 e2@6 ~ e2@6 e2@4 e2@6 e2@4",
  H: "[~@2 a2@4 e2@6 ~ e2@6 e2@4 e2@6 e2@6 a2@4 ~ a2@6 ~@18]/2", I: "d5@15 ~", J: "d5@15 ~ bb4@15 ~",
  K: "d5@4 d5@3 bb4@2 bb4@3 bb4@4", L: "f4@4 f4@3 bb4@2 bb4@3 bb4@2 f4@2",
})).s("gm_flute").gain(0.2)

// other · clarinet · "B♭ Clarinets 3 & 4"
const clarinet = note(`<
  ~@8 A@2 B@2 ~@19 C@2 D E@3 F G@3 H@3 I J@3 ~@5 K ~ L ~ M ~ N ~ O P Q R S@3 T U V W X@2 Y Z@2 ~@23 AA@2 ~@25 AB@2 AC
  AD@2 AE@3 AF ~@2 AG@2 AH AI@2
>`.pickRestart({
  A: "[~@10 f4@4 c4@4 f4@4 c4@4 f4@4 c4@3 f4@8 f4@4 c4@4 f4@4 c4@4 f4@4 c4@3]/2",
  B: "[c4@8 f4@4 c4@4 f4@4 c4@4 f4@4 c4@3 f4@8 f4@4 c4@4 f4@4 c4@4 f4@4 ~@5]/2",
  C: "[~@3 a4@15 bb4@4 d4@4 g4@4 bb4@4 c5@4 f4@3 a4@4 bb4@8 g4@4 bb4@4 d5@3]/2",
  D: "~ eb5@4 g4@3 d5@4 c5@4 bb4@4 d4@4 g4@4 bb4@4",
  E: "[c5@4 f4@3 a4@4 bb4@8 g4@4 bb4@4 d5@4 eb5@4 g4@3 d5@4 c5@4 bb4@4 d4@4 g4@4 bb4@4 c5@4 f4@3 a4@4 bb4@8 g4@4 bb4@4 d5@4 eb5@3]/3",
  F: "~ g4@3 d5@4 c5@4 bb4@4 d4@4 g4@4 bb4@4 a4@4",
  G: "[c4@3 f4@4 g4@8 c4@4 f4@4 g4@8 f4@3 g4@4 a4@4 bb4@4 d4@4 g4@4 bb4@4 c5@4 f4@3 a4@4 bb4@8 g4@4 bb4@4 d5@4 eb5@4 g4@3]/3",
  H: "[d5@4 c5@4 bb4@4 d4@4 g4@4 bb4@4 c5@4 f4@3 a4@4 bb4@8 g4@4 bb4@4 d5@4 eb5@4 g4@3 d5@4 c5@4 bb4@4 d4@4 g4@4 bb4@4 c5@4 f4@3 a4@3]/3",
  I: "~ bb4@8 g4@4 bb4@4 d5@4 eb5@4 g4@3 d5@4",
  J: "[c5@4 bb4@4 d4@4 g4@4 bb4@4 a4@4 c4@3 f4@4 g4@8 c4@4 f4@4 g4@8 f4@3 g4@4 a4@4 ~@30]/3",
  K: "~@9 b3 ~ b3 ~ b3 ~ b3 ~ b3@4 ~@11", L: "~@2 d4@4 ~@5 b3 ~ b3 ~ b3 ~ b3 ~ b3@4 ~@9",
  M: "~@5 d4@4 ~@4 b3 ~ b3 ~ b3 ~ b3 ~ b3@4 ~@7", N: "~@7 d4@4 ~@4 b3 ~ b3 ~ b3 ~ b3 ~ b3@4 ~@5",
  O: "~@9 d4@4 ~@4 b3 ~ b3 ~ b3 ~ b3 ~ b3@4 ~@3", P: "~@18 b3 ~ b3 ~ b3 ~ b3 ~ b3@4 ~@2",
  Q: "~@19 b3 ~ b3 ~ b3 ~ b3 ~@2 b3@4", R: "~@20 b3 ~ b3 ~ b3 ~@2 b3 ~ b3@3",
  S: "[~@21 b3 ~ b3 ~@2 b3 ~ b3 ~ b3@4 ~@4 b3 ~ b3 ~ b3 ~ b3 ~ b3@4 ~@4 b3 ~@2 b3 ~ b3 ~ b3 ~ b3@4 ~@4 b3 ~ b3 ~ b3 ~ b3 ~ b3@4 ~@5 b3!2 ~ b3 ~ b3 ~ b3]/3",
  T: "~ b3 ~ b3 ~ b3 ~ b3 ~ b3 ~ b3 ~ b3 ~ b3 ~ b3 ~ b3 ~ b3 ~ b3!2 ~ b3 ~ b3 ~ b3 ~",
  U: "b3 ~ b3 ~ b3 ~ b3 ~ b3 ~ b3 ~ b3 ~ b3 ~ b3 ~ b3 ~ b3 ~ b3@2 ~ b3@2 ~@2 b3@3",
  V: "b3@2 ~@2 b3@2 ~@2 b3@2 ~ b3@4 e4@2 ~@2 e4@2 ~ e4@2 ~@2 e4@4 d4@2",
  W: "~ d4@2 ~@2 d4@2 ~@2 d4@3 a3@4 b3@2 ~@2 b3@2 ~ b3@4 b3@2 ~ b3@2",
  X: "[~@2 b3@2 ~@2 b3@3 e4@2 ~@2 b3@2 ~@2 b3@2 ~ b3@4 b3@2 ~@2 b3@2 ~ b3@2 ~@2 b3@4 e4@2 ~ b3@2 ~@2 b3@2 ~@2 b3@3 b3@2 ~@2 b3@2 ~ b3@2 ~@2]/2",
  Y: "b3@4 e4@2 ~ e4@2 ~@2 e4@2 ~@2 e4@3 d4@2 ~@2 d4@2 ~@2 d4@2 ~ d4@3",
  Z: "[~ a3@4 b3@2 ~ b3@2 ~@2 b3@4 b3@2 ~ b3@2 ~@2 b3@2 ~ b3@4 e4@4 e4@7 e4@7 eb4@7 ~ eb4@7 ~]/2", AA: "bb4!4",
  AB: "[~@13 gb4@11 ~ d4@15 d4@2 e4@2 f4@5 e4@5 d4@5 db4@5]/2", AC: "d4@5 e4@5 gb4@11 ~ b4@10",
  AD: "[~ b3@4 db4@4 d4@5 e4@5 db4@5 d4@5 a4@5 g4@5 gb4@11 ~ d4@13]/2",
  AE: "[~@2 d4@2 e4@2 f4@5 e4@5 d4@5 db4@5 d4@5 e4@5 gb4@11 ~ b4@11 b4@4 db5@4 d5@5 g4@5 gb4@5 f4@5 d5@5 bb4@4]/3",
  AF: "~ b4@31", AG: "[~@28 b3@2 ~ b3@2 ~@2 b3@2 a3@2 ~@2 b3@2 ~@2 d4@2 ~@2 b3@2 ~ gb3@2 a3@2 ~@2 b3@2 ~@2 b3@2]/2",
  AH: "~@2 b3@2 a3@2 ~ b3@2 ~@2 f4@2 ~@2 e4@2 ~@2 d4@2 a3@2 ~@2 b3@2 ~ b3@2 ~@2",
  AI: "[b3@2 a3@2 ~@2 b3@2 ~@2 d4@2 ~@2 b3@2 ~ gb3@2 a3@2 ~@2 b3@2 ~@2 b3@2 ~@2 b3@2 ~@3 b3@2 ~@26, ~@35 a3@2 ~@27]/2",
})).s("gm_clarinet").gain(0.4)

// other · clarinet · "B♭ Clarinets 3 & 4" · soft notes
const clarinet_soft = note("<~@11 A@5 B@2 C@2 ~@3 D@5 ~@58 E F E F E F E F G H G H G H ~@43>".pickRestart({
  A: "[~@27 c4@3 c4@8 f4@4 c4@4 f4@4 c4@4 f4@4 c4@3 f4@8 f4@4 c4@4 f4@4 c4@4 f4@4 c4@3 c4@8 f4@4 c4@4 f4@4 c4@4 f4@4 c4@3 f4@8 f4@4 c4@4 f4@4 c4@4 f4@4 c4@3 c4@6]/5",
  B: "[~ c5@31]/2", C: "[c5@31 db5@4 c5@4 ab4@4 g4@4 f4@4 ~@13]/2", D: "[~@13 c5@31 c5@31 ~@5]/5", E: "g4", F: "f4 d4",
  G: "f4@4 f4@3 c4@2 c4@3 c4@4", H: "g3@4 g3@3 c4@2 c4@3 c4@2 g3@2",
})).s("gm_clarinet").gain(0.2)

// other · alto sax · "Alto Saxophone 1 & 2"
const alto_sax = note(`<
  ~@13 A@2 ~@2 B C@2 ~@3 D E@2 F@2 ~@3 G@2 H I@3 J K@3 L@3 M N@3 ~@13 O P Q R S@3 T U V W X Y Z AA@2 ~@25 AB@16 ~@9 AC@2
  AD@7 ~@2 AE@2 AF AG@2
>`.pickRestart({
  A: "[~@7 c5@2 c5@2 ~@5]/2", B: "~@3 c5", C: "[c5@8 ~@23 f5@4 eb5@4 c5@4 bb4@4 ab4@4 ~@13]/2", D: "~@13 f4@3",
  E: "[c5@2 f5@8 f5@11 c5@4 db5@4 f5@8 db5@4 c5@15 f4@6 c5@2]/2",
  F: "[f5@8 f5@11 c5@4 db5@4 c5@4 ab4@4 g4@4 f4@4 ~@21]/2",
  G: "[~@18 bb4@4 d4@4 g4@4 bb4@4 c5@4 f4@3 a4@4 bb4@8 g4@4 bb4@4 d5@3]/2",
  H: "~ eb5@4 g4@3 d5@4 c5@4 bb4@4 d4@4 g4@4 bb4@4",
  I: "[c5@4 f4@3 a4@4 bb4@8 g4@4 bb4@4 d5@4 eb5@4 g4@3 d5@4 c5@4 bb4@4 d4@4 g4@4 bb4@4 c5@4 f4@3 a4@4 bb4@8 g4@4 bb4@4 d5@4 eb5@3]/3",
  J: "~ g4@3 d5@4 c5@4 bb4@4 d4@4 g4@4 bb4@4 a4@4",
  K: "[c4@3 f4@4 g4@8 c4@4 f4@4 g4@8 f4@3 g4@4 a4@4 bb4@4 d4@4 g4@4 bb4@4 c5@4 f4@3 a4@4 bb4@8 g4@4 bb4@4 d5@4 eb5@4 g4@3]/3",
  L: "[d5@4 c5@4 bb4@4 d4@4 g4@4 bb4@4 c5@4 f4@3 a4@4 bb4@8 g4@4 bb4@4 d5@4 eb5@4 g4@3 d5@4 c5@4 bb4@4 d4@4 g4@4 bb4@4 c5@4 f4@3 a4@3]/3",
  M: "~ bb4@8 g4@4 bb4@4 d5@4 eb5@4 g4@3 d5@4",
  N: "[c5@4 bb4@4 d4@4 g4@4 bb4@4 a4@4 c4@3 f4@4 g4@8 c4@4 f4@4 g4@8 f4@3 g4@4 a4@4 ~@30]/3",
  O: "~@17 b4 ~ b4 ~ b4 ~ b4 ~ b4@4 ~@3", P: "~@18 b4 ~ b4 ~ b4 ~ b4 ~ b4@4 ~@2", Q: "~@19 b4 ~ b4 ~ b4 ~ b4 ~@2 b4@4",
  R: "~@20 b4 ~ b4 ~ b4 ~@2 b4 ~ b4@3",
  S: "[~@21 b4 ~ b4 ~@2 b4 ~ b4 ~ b4@4 ~@4 b4 ~ b4 ~ b4 ~ b4 ~ b4@4 ~@4 b4 ~@2 b4 ~ b4 ~ b4 ~ b4@4 ~@4 b4 ~ b4 ~ b4 ~ b4 ~ b4@4 ~@5 b4!2 ~ b4 ~ b4 ~ b4]/3",
  T: "~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4!2 ~ b4 ~ b4 ~ b4 ~",
  U: "b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4!2 ~ b4 ~ b4 ~ b4@3",
  V: "b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 b4@4 e5 ~ e5 ~ e5 ~ e5!2 ~ e5 ~ e5@4 d5!2",
  W: "~ d5 ~ d5 ~ d5 ~ d5 ~ d5@3 a4@4 b4 ~ b4 ~ b4!2 ~ b4@4 b4 ~ b4!2 ~",
  X: "b4 ~ b4 ~ b4 ~ b4@3 e5 ~ e5 ~ b4 ~ b4 ~ b4 ~ b4 b4@4 b4 ~ b4 ~ b4!2 ~ b4",
  Y: "~ b4 ~ b4@4 e5!2 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4@3 b4 ~ b4 ~ b4 ~ b4!2 ~ b4 ~",
  Z: "b4@4 e5 ~ e5!2 ~ e5 ~ e5 ~ e5 ~ e5@3 d5 ~ d5 ~ d5 ~ d5 ~ d5!2 ~ d5@3",
  AA: "[~ a4@4 b4!2 ~ b4 ~ b4 ~ b4@4 b4!2 ~ b4 ~ b4 ~ b4 ~ b4 b4@4 e5@4 gb5@7 gb5@7 gb5@7 ~ gb5@7 ~]/2",
  AB: "[g4@2 d5@2 bb4@2 d5 d4@2 d4 a4@2 f4@2 f4 d4@2 d4 a4@2 f4@2 f4 c4@2 c4@2 e4@2 c4 e4 c4]/2",
  AC: "[~@13 b4@11 ~ b4@4 b4@31 ~@4]/2", AD: "[~@10 b4@11 ~ d4@4 gb4@45 b4@11 ~ b4@4 b4@45 b4@11 ~ d4@4 gb4@46 ~@30]/7",
  AE: "[~@28 b4@2 ~ b4@2 ~@2 b4@2 a4@2 ~@2 b4@2 ~@2 d5@2 ~@2 b4@2 ~ gb4@2 a4@2 ~@2 b4@2 ~@2 b4@2]/2",
  AF: "~@2 b4@2 a4@2 ~ b4@2 ~@2 f5@2 ~@2 e5@2 ~@2 d5@2 a4@2 ~@2 b4@2 ~ b4@2 ~@2",
  AG: "[b4@2 a4@2 ~@2 b4@2 ~@2 d5@2 ~@2 b4@2 ~ gb4@2 a4@2 ~@2 b4@2 ~@2 b4@2 ~@2 b4@2 ~@3 b4@2 ~@26, ~@35 a4@2 ~@27]/2",
})).s("gm_alto_sax").gain(0.3)

// other · alto sax · "Alto Saxophone 1 & 2" · soft notes
const alto_sax_soft = note("<~@86 A B A B A B A B C D C D C D ~@43>".pickRestart({
  A: "bb4", B: "a4 f4", C: "bb4@4 bb4@3 g4@2 g4@3 g4@4", D: "d4@4 d4@3 f4@2 f4@3 f4@2 d4@2",
})).s("gm_alto_sax").gain(0.2)

// other · alto sax · "Alto Saxophone 3 & 4"
const alto_sax_2 = note(`<
  ~@13 A@2 ~@2 B C@2 ~@3 D E@2 F@2 ~@3 G H I J@5 K@8 ~@14 L M N O P@3 Q R S T U@2 V W@2 ~@9 X Y X Y X Y X Y Z AA Z AA Z
  AA ~@27 AB@2 AC@7 ~@2 AD@2 AE AF@2
>`.pickRestart({
// … 272 more lines