Strudelify

Allegretto ben marcato from Nielsen's Wind Quintet

Carl Nielsen Op. 43

KeyE majorTempo80 bpm
0:00/0:00
// Allegretto ben marcato from Nielsen's Wind Quintet — Carl Nielsen Op. 43
// 80 bpm, 4/4, key E 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 (1/4 at bar 1, 4/4 at bar 1, 5/4 at bar 7, 4/4 at bar 8, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/4348556; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 204 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(80/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 · oboe
const oboe = note(`<
  ~@3 A B C D E F G H I@2 J ~ K L@4 ~ M N O P Q R S@2 ~ T U V W X Y Z AA ~@10 AB@2 AC AD AE@2 AF AG@3 ~ AH@2 AI ~@4 AJ@8
  AK AL ~ AM@6 AN@3 AO AP@2 AQ@3 ~ AR@7 AS ~@10 AT AU AV AW AX AY AZ BA@2 BB BC BD BE ~ BF@2 BG ~@3 BH BI BH BI BJ BK@2
  BL@4 BM BN BO BP BQ BR BS BT BU@4 BV@2 BW BX BY BZ ~@17 CA CB ~ CC CD@8 ~@2 CE CF CG CH CI CJ CK CL@3 CM@3
>`.pickRestart({
  A: "~@10 g#5 f#5 e5 f#5 g#5 ~",
  B: "f#5 f#5@3 e5@2 ~@2 f#5 f#5@3 e5@2 ~@2 d#5@4 b4@2 ~@2 b4@2 ~@2 b4@2 ~@2, ~ g#5 ~@7 g#5 ~@22", C: "b4", D: "e5 ~",
  E: "~@2 a5 e5 c5@2 b4@2 c5@2 b4@2 c5@2 d5@2", F: "e5@2 f#5@2 g5 a5 g5 f#5 e5@2 b4@2 c5@2 b4@2",
  G: "c5 b4 c5 d5 e5 f#5 g5 a5", H: "b5@2 c#6@2 d6@5 c#6 b5 d6 c#6 b5 a5 c#6",
  I: "[b5 a5 g5 b5 a5 g5 f#5 a5 g5@4 f#5@8 e5@2 ~@10]/2", J: "e5 c#5 a4 ~@5", K: "c#5 c5",
  L: "[a#4@5 a4 a#4@3 a4 a#4@3 a4 g#4@3 g4 f#4@3 f4 f#4@3 f4 f#4@3 f4 f#4@2]/4",
  M: "g5 f5@11 e5@2 f5@2 d5@2 f5@2 e5@2 g5@2 e5@2 ~@2 a5@4", N: "g5 d5 c5 a4 ~ f5 e5 c5",
  O: "d#5@4 c5@4 ~@12 a#5@2 a5@2 g#5 ~ g#5 ~@5", P: "~@14 a#5 g#5",
  Q: "g5@2 g#5@2 a#5@2 ~@2 g#5 g#5@3 g5@2 ~@18, ~@9 a#5 ~@22", R: "~@12 f5 ~ e5 ~",
  S: "[d#5 ~ d5 ~ c#5@8 c5@16 a#4@2 ~@2]/2", T: "~@28 b4 ~ b4 ~",
  U: "b4 ~ b4 ~ b4 ~ b4 ~ b4 e5@2 ~ b4@2 ~@2 b4 e5@2 ~ b4@2 ~@2 e5@2 ~@2 f5@2 d5@2",
  V: "b4@6 e5@2 c#5@2 a4@2 d5@2 b4 ~", W: "b4@3 c#5 a4 f#4 b4 g4", X: "~@6 e4 [f#4,g4] a4@20 g4 ~ g4 ~",
  Y: "g4 ~ g4 ~ g4 ~ g4 ~ g4 c5@2 ~ g4@2 ~@2 g4 c5@2 ~ g4@2 ~@2 c5@2 ~@2 c#5@2 a#4@2", Z: "g4@5 f4 e4 f4 g4@6 f4 e4",
  AA: "d4@2 ~@7 c#5 d5 e5 f5@2 ~@2", AB: "[~@21 a#5@16 a5@4 g5@4 f5@8 d5@8 ~@3]/2",
  AC: "~ c#5@4 d5@4 c5@4 a#4@4 a4@4 g#4@4 ~@7", AD: "~ c#5@4 d5@4 c#5@4 d5@4 e5@4 f5@4 g5@4 a5@3",
  AE: "[~ b5@4 c#6@4 d6@4 d#6@10 d6@2 c6@2 d#6@2 d6@2 c6@2 a#5@2 d6@2 c6@2 a#5@2 a5@2 c6@2 a5@16 ~@3]/2",
  AF: "~@5 a#5@8 a5@16 ~@3", AG: "[~@5 g#5@8 g5@8 f#5@16 f5@8 f#5@8 f5@8 f#5@8 f5@8 f#5@16 ~@3]/3",
  AH: "[~@13 g4@16 f4@16 e4@4 f4@4 a4@4 e4@4 a4@3]/2", AI: "~ g#4@2 ~@2 a4@4 g#4@2 ~@21",
  AJ: "[~@7 g#5@2 f#5@2 e5@2 f#5@2 g#5@2 ~@2 [f#5,g#5] f#5@3 e5@2 ~@2 [f#5,g#5] f#5@3 e5@2 ~@2 d#5@4 b4@2 ~@2 b4@2 ~@2 b4@2 ~@2 b4@32 e5@16 ~@20 a5@2 e5@2 c5@4 b4@4 c5@4 b4@4 c5@4 d5@4 e5@4 f#5@4 g5@2 a5@2 g5@2 f#5@2 e5@4 b4@4 c5@4 b4@4 c5@4 b4@4 c5@4 d5@4 e5@4 f#5@4 g5@4 a5@4 b5@4 c#6@4 d6@10 c#6@2 b5@2 d6@2 c#6@2 b5@2 a5@2 c#6@2 b5@2 a5@2 g5@2 b5@2 a5@2 g5@2 f#5]/8", // F#sus2
  AK: "~ a5@2 g5@8 f#5@16 e5@4 ~", AL: "~@19 e5@4 c#5@4 a4@4 ~",
  AM: "[~@19 c#5@16 c5@16 a#4@20 a4@4 a#4@12 a4@4 a#4@12 a4@4 g#4@12 g4@4 f#4@12 f4@4 f#4@12 f4@4 f#4@12 f4@4 f#4@8 ~@13]/6",
  AN: "[~@19 f5@11 ~ e5@2 f5@2 d5@2 f5@2 e5@2 g5@2 e5@2 ~@2 a5@4 g5@4 d5@4 c5@4 a4@4 ~@4 f5@4 e5@4 c5@4 d#5@4 c5@4 ~@5, ~@19 g5 ~@76]/3",
  AO: "~@7 a#5@2 a5@2 g#5 ~ g#5 ~@18", AP: "[~@15 a#5@2 g#5@2 g5@2 g#5@2 a#5@2 ~@2 [g#5,a#5] g#5@3 g5@2 ~@31]/2",
  AQ: "[~@11 f5@2 ~@2 e5@2 ~@2 d#5@2 ~@2 d5@2 ~@2 c#5@16 c5@32 a#4@4 ~@17]/3",
  AR: "[~@15 b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ b4 ~ e5@2 ~@2 b4@2 ~@2 e5@2 ~@2 b4@2 ~@2 e5@2 ~@2 f5@2 d5@2 b4@12 e5@4 c#5@4 a4@4 d5@4 b4@2 ~@2 b4@12 c#5@4 a4@4 f#4@4 b4@4 g4@4 ~@6 [e4,f#4] g4 a4@20 g4 ~ g4 ~ g4 ~ g4 ~ g4 ~ g4 ~ c5@2 ~@2 g4@2 ~@2 c5@2 ~@2 g4@2 ~@2 c5@2 ~@2 c#5@2 a#4@2 g4@10 f4@2 e4@2 f4@2 g4@12 f4@2 e4@2 d4@4 ~@9, ~@27 b4 ~@7 b4 ~@119 g4 ~@7 g4 ~@60]/7", // Esus2
  AS: "~@5 c#5@2 d5@2 e5@2 f5@4 ~@17", AT: "~@2 a#5@4 a5 g5", AU: "f5@2 d5@2 ~ c#5 d5 c5",
  AV: "a#4 a4 g#4 ~@2 c#5 d5 c#5", AW: "d5 e5 f5 g5 a5 b5 c#6 d6", AX: "d#6@5 d6 c6 d#6 d6 c6 a#5 d6 c6 a#5 g#5 c6",
  AY: "g#5@3 ~@5", AZ: "~@12 g4 ~ g4 ~ g4 ~ g4 ~ g4 ~ g4 ~ g4 c5@2 ~ g4@2 ~@2",
  BA: "[g4 c5@2 ~ g4@2 ~@2 g4 c5@2 ~ g4@2 ~@2 g4@24 f#4@12 e4@4 d4@4 ~@4]/2",
  BB: "~@12 e5 ~ e5 ~ e5 ~ e5 ~ e5 ~ e5 ~ e5 a5@2 ~ e5@2 ~@2",
  BC: "e5 a5@2 ~ e5@2 ~@2 a5@2 ~@2 b5@2 g5@2 e5@10 d5@2 c#5@2 b4@2", BD: "a#4@2 b4@2 c#5@2 d5 e5",
  BE: "~ d5 c#5 b4 c#5@2 ~@10",
  BF: "[~@2 a5 ~ a5 ~ a5 ~ g5 ~ f#5 ~ e5 ~ d5 ~ e5@4 d5@4 a4@16 d5@8 b4@4 g4@4 d5@4 b4@4]/2", BG: "c#5 ~@7",
  BH: "f#5@5 e5 d5 f#5 e5 d5 c#5 e5 d5 c#5 b4 d5", BI: "c#5 ~@3", BJ: "a5@2 g5 f5 e5 f5 g5@2",
  BK: "[f5 f#5@7 e5@4 ~@12 g5@16 f5@4 e5@4 d5@4 e5@4 f5@8, ~ g5 ~@62]/2",
  BL: "[e5 e5@7 d5@4 ~@12 f5@16 e5@4 d5@4 c5@4 d5@4 e5@16 f#5@4 g#5@4 a5@4 b5@4 c6@16 b5@4 a5@4 g5@4 a5@4 b5@8, ~ f5 ~@126]/4",
  BM: "a5 g5 f#5 g5 a5@3 b5", BN: "g5@2 f#5 e5 d#5 e5 f#5@2", BO: "e5 d#5 c#5 d#5 e5@3 f#5",
  BP: "d#5@8 ~@8 d5 e5 d5 e5 d5 e5 d5 e5 d5 e5 d5 e5 d5 e5 c#5 d5",
  BQ: "~@16 d#5 e5 d#5 e5 d#5 e5 d#5 e5 d#5 e5 d#5 e5 d#5 e5 d5 d#5", BR: "~@29 b4@3",
  BS: "~ g#4@4 e4@8 e4@4 ~@4 e4@4 d#4@4 e4@3", BT: "~ d#4@4 e4@4 f#4@4 g#4@4 b4@4 a4@4 g#4@4 f#4@3",
  BU: "[~ e4@4 e5@10 d5@2 c5@2 e5@2 d5@2 c5@2 b4@2 d5@2 c5@2 b4@2 a4@2 c5@2 a4@32 b4@8 ~@8 f#5@4 e5@2 d#5@2 c#5@2 d#5@2 e5@2 ~@2 d#5@4 c#5@2 b4@2 a#4@2 b4@2 c#5@2 ~@2 d#5@4 c#5@2 b4@2 a#4@3]/4",
  BV: "[b4@3 c#5@2 d#5@8 ~@8 e5@4 d#5@2 c#5@2 b4@2 c#5@2 d#5@2 b4@2 c#5@8 ~@19]/2",
  BW: "~@9 f#5 ~ f#5 ~ f#5 ~ f#5 ~ f#5 ~ f#5 ~ f#5 b5@2 ~ f#5@2 ~@2 f#5 b5@2",
  BX: "~ f#5@2 ~@2 b5@2 ~@2 c6@2 a5@2 f#5@12 b5@4 g#5@3", BY: "~ e5@4 a5@4 f#5@2 ~@2 f#5@12 g#5@4 e5@3",
  BZ: "~ c#5@4 f#5@4 d5@4 b4@8 ~@11", CA: "~@23 b5 ~ b5 ~ b5 ~ b5 ~ b5",
  CB: "~ b5 ~@13 b4 ~ b4 ~@5 b4 ~ b4 ~ b4 ~ b4 ~@2", CC: "~@31 e5",
  CD: "[~ e5 ~ e5 ~ e5 ~ e5 ~ e5 ~ b5@2 ~@2 e5@2 ~@2 b5@2 ~@2 e5@2 ~@2 b5@2 ~@2 c#6@2 a5@2 f#5@12 g#5@2 e5@2 c#5@4 d#5@4 e5@4 f#5@4 g#5@4 a5@8 g#5@4 f#5@4 e5@8 d5@4 c#5@4 b4@8 c5@8 b4@8 c5@4 b4@8 c5@24 b4@8 c5@72 ~@13, ~@11 e5 ~@7 e5 ~@236]/8",
  CE: "~@5 e4 f#4 g#4", CF: "a4@2 b4@2 c#5@2 d#5@2 e5@5 d#5 c#5 e5", CG: "d#5 c#5 b4 d#5 c#5 b4 a4 c#5 b4@5 a4 g4 b4",
  CH: "a4 g4 f#4 a4 g4 f#4 e4 g4 b4@4 ~@4", CI: "~@8 b5@5 a5 g#5 b5", CJ: "a5 g#5 f#5 a5 g#5 f#5 e5 g#5 b4@4 ~@4",
  CK: "~@6 b5 g#5", CL: "[e5@18 d#5@2 e5 ~ g#5 e5]/3", CM: "b4/3",
})).s("gm_oboe").gain(0.2)

// other · clarinet · "A Clarinet"
const clarinet = note(`<
  ~@3 A B C D E@2 F G@2 H ~@2 I J@5 K L M N O@4 P ~@3 Q R S@2 T U V W@6 X Y Z W@3 AA AB AC AD AE AF AG ~@7 AH@4 AI@6 ~
  AJ@7 AK@2 AL AM@6 ~@2 AN@4 AO@2 ~ AP@8 AQ@6 AR@2 ~ AS AT AU AV AW AX AY ~ AZ BA BB BC BD BE BD BF ~@10 BG BH ~ BI BJ
  BK@3 BL BM@3 BN@2 ~@31 BO BP BQ BR BS BT BU@2 BV@3 BW BX@2
>`.pickRestart({
  A: "~@10 e5 b4 c#5 b4 e5 ~", B: "d5@2 b4 ~ c#5@2 b4 ~@3 f#5 e5 d#5 e5 f#5 ~",
  C: "e5 e5@3 d#5@2 ~@2 e5 e5@3 d#5@2 ~@2 d5 d5@3 b4@2 ~@2 d5 d5@3 b4@2 ~@2, ~ f#5 ~@7 f#5 ~@7 e5 ~@7 e5 ~@6",
  D: "c#5 ~", E: "[~@8 e4@2 f#4@2 g4 ~ g4 ~ g4@20 a4@4 b4@18 a4@2 g4@2 a4@2]/2",
  F: "f#4@4 g4 a4 b4 c5 d5 a4 f#4 d4 a4 e4 c#4 a3", G: "[e4@2 ~@2 b5 f#5 d5 b4 e5@17 d5 c#5 e5 d5 c#5 b4 d5]/2",
  H: "c#5 b4 a4 c#5 b4 a4 g#4 f#4 e4@2 ~@6", I: "c#4 c4",
  J: "[a#3@5 a3 a#3@3 a3 a#3@3 a3 g#3@3 g3 f#3@3 f3 f#3@3 f3 f#3@3 f3 f#3@3 e3 f3@3 e3 f3 e3]/5",
  K: "~@2 a4@2 g#4 ~@11", L: "~@6 g4 f4 e4 c4 ~@6", M: "~@20 g5@2 f#5@2 f5 ~ f5 ~@5", N: "~@14 g5 f5",
  O: "[e5@2 f5@2 g5@2 ~@2 f5 f5@3 c5@2 ~@10 c5@18 d5@2 c5@2 d#5@2 c5@2 e5@2 c5@2 f5@2 f4@18 g4@2 f4@2 g#4@2 f4@2 a4@2 f4@2 a#4@2 f4@16 f#4@16 g4@4 ~@4, ~@9 g5 ~@118]/4",
  P: "~@4 a4 b4 a4 c5 a4 c#5 a4 d5 b4@2 g4@2", Q: "~@6 e3 [f#3,g3] a3@24", R: "e4@3 d4 c#4 e4 b3@2",
  S: "[b4@16 a#4@26 ~@2 a4 ~ a4 ~ a4 ~ a4 ~ a4 ~ a4 ~ a4 d5@2 ~ a4@2 ~@2]/2",
  T: "a4 d5@2 ~ a4@2 ~@2 a#4@2 ~@2 e4@2 ~@2 a4@10 g4@2 f4@2 e4@2", U: "d4 ~@7", V: "~@17 c4 ~ d4 f4 d4@11",
  W: "~ c4 ~ d4 f4 d4@12 c4 ~ d4 f4 d4@11", X: "~ c4 ~ d4 f4 d4@12 g4 ~ a4 c#5 a4@11",
  Y: "~ g4 ~ a4 c#5 a4@12 c4 ~ d4 f4 d4@11", Z: "~ c#4 ~ e4 a4 c#5@12 d5 ~ a4 f4 d4@11",
  AA: "~ c4 ~ d4 f4 d4@11 d5 c5 ~ a4 c5 a4@4 ~@7", AB: "~@5 g4@12 f#4@4 g4@4 f#4@4 g4@3",
  AC: "~ f#4@4 g4@4 f#4@4 g4@4 f#4@4 f4@4 e4@4 f4@3", AD: "~ e4@4 f4@4 e4@4 f4@4 e4@4 d#4@4 d4@4 d#4@3",
  AE: "~ d4@4 d#4@4 d4@4 d#4@4 d4@4 d#4@4 d4@4 d#4@3", AF: "~ d4@4 d#4@4 d4@4 d#4@4 e4@4 f#4@4 f4@4 f#4@3",
  AG: "~@5 a#4@8 b4@8 ~@11",
  AH: "[~@7 e5@2 b4@2 c#5@2 b4@2 e5@2 ~@2 d5@4 b4@2 ~@2 c#5@4 b4@2 ~@6 f#5@2 e5@2 d#5@2 e5@2 f#5@2 ~@2 [e5,f#5] e5@3 d#5@2 ~@2 [e5,f#5] e5@3 d#5@2 ~@2 [d5,e5] d5@3 b4@2 ~@2 [d5,e5] d5@3 b4@2 ~@2 c#5@16 ~@24 e4@2 f#4@2 g4]/4", // Esus2 Dsus2
  AI: "[~ g4 ~ g4@20 a4@4 b4@18 a4@2 g4@2 a4@2 f#4@8 g4@2 a4@2 b4@2 c5@2 d5@2 a4@2 f#4@2 d4@2 a4@2 e4@2 c#4@2 a3@2 e4@4 ~@4 b5@2 f#5@2 d5@2 b4@2 e5@34 d5@2 c#5@2 e5@2 d5@2 c#5@2 b4@2 d5@2 c#5@2 b4@2 a4@2 c#5@2 b4@2 a4@2 g#4@2 f#4@2 e4@4 ~@25]/6",
  AJ: "[~@19 c#4@16 c4@16 a#3@20 a3@4 a#3@12 a3@4 a#3@12 a3@4 g#3@12 g3@4 f#3@12 f3@4 f#3@12 f3@4 f#3@12 f3@4 f#3@12 e3@4 f3@12 e3@4 f3@4 e3@4 ~@4 a4@4 g#4@2 ~@3]/7",
  AK: "[~@31 g4@2 f4@2 e4@2 c4@2 ~@25]/2", AL: "~@7 g5@2 f#5@2 f5 ~ f5 ~@18",
  AM: "[~@15 g5@2 f5@2 e5@2 f5@2 g5@2 ~@2 [f5,g5] f5@3 c5@2 ~@10 c5@18 d5@2 c5@2 d#5@2 c5@2 e5@2 c5@2 f5@2 f4@18 g4@2 f4@2 g#4@2 f4@2 a4@2 f4@2 a#4@2 f4@16 f#4@16 g4@4 ~@12 a4@2 b4@2 a4@2 c5@2 a4@2 c#5@2 a4@2 d5@2 b4@4 g4@4 ~@13]/6", // Fsus2
  AN: "[~@25 [e3,f#3] g3 a3@24 e4@12 d4@4 c#4@4 e4@4 b3@8 b4@16 a#4@26 ~@2 a4]/4", // Esus2
  AO: "[~ a4 ~ a4 ~ a4 ~ a4 ~ a4 ~ d5@2 ~@2 a4@2 ~@2 d5@2 ~@2 a4@2 ~@2 a#4@2 ~@2 e4@2 ~@2 a4@10 g4@2 f4@2 e4@2 d4@4 ~@9, ~@11 a4 ~@7 a4 ~@44]/2",
  AP: "[~@4 c4 d4 ~ f4 d4@12 c4 d4 ~ f4 d4@12 c4 d4 ~ f4 d4@12 c4 d4 ~ f4 d4@12 c4 d4 ~ f4 d4@12 c4 d4 ~ f4 d4@12 c4 d4 ~ f4 d4@12 c4 d4 ~ f4 d4@12 c4 d4 ~ f4 d4@12 c4 d4 ~ f4 d4@12 c4 d4 ~ f4 d4@12 c4 d4 ~ f4 d4@12 c4 d4 ~ f4 d4@12 c4 d4 ~ f4 d4@12 g4 a4 ~ c#5 a4@12 g4 a4 ~ c#5 a4@8]/8",
  AQ: "[~@4 c4 d4 ~ f4 d4@12 c#4 e4 ~ a4 c#5@12 d5 a4 ~ f4 d4@12 c4 d4 ~ f4 d4@12 c4 d4 ~ f4 d4@12 c4 d4 ~ f4 d4@12 c4 d4 ~ f4 d4@12 c4 d4 ~ f4 d4@12 c4 d4 ~ f4 d4@12 c4 d4 ~ f4 d4@11 d5 c5 a4 ~ c5 a4@4 ~@12 d#5@8]/6",
  AR: "[~ d5 c5 e5 d5 c5 a#4 d5 c5 a#4 g#4 c5 g#4@10 ~@10]/2",
  AS: "~@4 a4@2 a4@2 a4@2 a4@2 a4@2 a4@2 a4 d5@2 ~ a4@2 ~@2 a4 d5@2 ~ a4@2 ~@2", AT: "d5 ~ e5 c5 a4@12",
  AU: "~@20 f#4 ~ f#4 ~ f#4 ~ f#4 ~ f#4 ~ f#4 ~",
  AV: "f#4 ~ f#4 ~ f#4 ~ f#4 ~ f#4 b4@2 ~ f#4@2 ~@2 f#4 b4@2 ~ f#4@2 ~@2 b4@2 ~@2 c#5@2 a4@2", AW: "f#4@2 e4 ~@5",
  AX: "~@18 d5 ~ d5 ~ d5 ~ d5 ~ c#5 ~ b4 ~ a4 ~", AY: "d5 ~@15",
  AZ: "~@10 b5 ~ b5 ~ b5 ~ b5 ~ b5 ~ b5 ~ b5 ~ b5 ~ b5 ~ b5 ~ b5 ~",
  BA: "~@10 g5 ~ g5 ~ g5 ~ g5 ~ g5 ~ g5 ~ g5 ~ g5 ~ g5 ~ g5 ~ g5 ~",
  BB: "~@10 f5 ~ f5 ~ f5 ~ f5 ~ f5 ~@7 d#5 ~ d#5 ~ d#5 ~", BC: "d#5 ~ d#5 ~@7 f#5 ~ f#5 ~ f#5 ~ f5@12 c#5@4",
  BD: "f#4 g#4 a4 b4", BE: "c#5",
  BF: "c#5@4 b4@2 a4@2 g#4@2 a4@2 b4@2 ~@2 a4 a4@3 e4@2 ~@2 a4 a4@3 e4@2 ~@2, ~@17 b4 ~@7 b4 ~@6",
  BG: "b4@8 ~@8 f4 f#4 f4 f#4 f4 f#4 f4 f#4 f4 f#4 f4 f#4 f4 f#4 e4 f4",
  BH: "~@16 f#4 g#4 f#4 g#4 f#4 g#4 f#4 g#4 f#4 g#4 f#4 g#4 f#4 g#4 f4 f#4",
  BI: "~@5 g#3@16 a3 b3 a3 b3 a3 b3 a3 b3 a3 b3 a3", BJ: "b3 a3 b3 g#3 a3 b3@16 d4 e4 d4 e4 d4 e4 d4 e4 d4 e4 d4",
  BK: "[e4 d4 e4 c#4 d4 c4@4 b4@4 a4@16 g4@18 f#4@2 e4@2 g4@2 f#4@2 e4@2 d4@2 f#4@2 e4@2 d4@2 c4@2 e4@2 d#4@4 ~@4 f#4 g#4 f#4 g#4 f#4 g#4 f#4 g#4 f#4 g#4 f#4 g#4 f#4 g#4 f#4 g#4 f#4 g#4 f#4]/3",
  BL: "g#4 f#4 g#4 f#4 g#4 f#4 g#4 f#4 g#4 f#4 g#4 f#4 g#4 f#4 g#4 f#4 g#4 f#4 g#4 f#4 g#4 f#5 g#5 f#5 g#5 f#5 g#5 f#5 g#5 f#5 g#5 f#5",
  BM: "[g#5@2 f5 f#5 g#5 f#5@8 ~@8 c#5@4 b4@2 f#4@2 d#4@2 f#4@2 b4@2 d#4@2 f#4@8 ~@8 c#5@4 b4@2 f#4@2 d#4@2 f#4@2 b4@2 d#4@2 f#4@8 ~@19]/3",
  BN: "[~@19 a4 b4 d5@24 ~@19, ~@21 c#5 ~@42]/2", BO: "b4 g#4 e4 f#4 g#4 a4 b4 c#5",
  BP: "d#5@4 e5@4 e5 f#5 e5 f#5 e5 f#5 e5 f#5 e5 f#5 e5 f#5 e5 f#5 e5 f#5 e5 f#5 e5 f#5 e5 f#5 e5 f#5",
  BQ: "e5 f#5 e5 f#5 e5 f#5 e5 f#5 e5 f#5 e5 f#5 e5 f#5 e5 f#5 e5 f#5 e5 f#5 e5 f#5 e5 f#5 e5 f#5 e5 f#5 e5 f#5 e5 f#5",
  BR: "b4 c#5 b4 c#5 b4 c#5 b4 c#5 b4 c#5 b4 c#5 b4 c#5 b4 c#5 b4 c#5 b4 c#5 b4 c#5 b4 c#5 b4 c#5 b4 c#5 b4 c#5 b4 c#5",
  BS: "b4 c#5 b4 c#5 b4 c#5 b4 c#5 b4 c#5 b4 c#5 b4 c#5 b4 c#5 f#5@10 e5@2 d#5@2 f#5@2",
  BT: "e5 d#5 c#5 e5 d#5 c#5 b4 d#5 b4@2 ~@6", BU: "[~@2 e4@3 d#4 b3@3 a#3 a3 g3 g#3@2 ~@2]/2",
  BV: "[~@2 g#5 e5 c#5@14 b4@3 ~ e5 b4]/3", BW: "g#4", BX: "g#3/2",
})).s("gm_clarinet").gain(0.16)

// other · clarinet · "A Clarinet" · soft notes
const clarinet_soft = note(`<
  ~@59 A@4 ~@72 B C D E F ~ G ~ H I ~@16 J K@10 L M N K O P ~ Q ~@5 R S T@2 ~@15
>`.pickRestart({
  A: "[~@13 b4@16 a4@20 b4@4 c5@4 e5@4 d#5 e5 d#5@2 b4@2 ~@2 d#5 e5 d#5@2 b4@2 ~@18 f4 g4 f4@2 d#4@2 ~@29]/4",
  B: "c#5 c#5@3 a4@2 ~@26, ~ d5 ~@30", C: "d5 d5@3 a4@2 ~@26, ~ e5 ~@30", D: "d5 d5@3 g4@2 ~@26, ~ e5 ~@30",
  E: "c5 c5@3 g4@2 ~@26, ~ d5 ~@30", F: "~@16 g4 a4 g4 a4 g4@2 ~@10", G: "~@16 b4 c5 b4 c5 b4@2 ~@10",
  H: "~@16 f#4 g4 f#4 g4 f#4@2 ~@10", I: "c#5 b4 a#4 b4 c#5 b4 a#4 f#4", J: "~@31 a4",
  K: "b4 d5 ~ b4@12 a4 b4 d5 ~ b4@12 a4", L: "b4 d5 ~ b4@12 a4 b4 d5 ~ b4@12 g4",
  M: "a4 c5 ~ b4@12 g4 a4 c5 ~ b4@12 g4", N: "a4 c5 ~ b4@12 g4 a4 c5 ~ b4@12 a4",
  O: "b4 d5 ~ c5@12 g4 a4 c5 ~ a4@12 g#4", P: "a4 b4 ~ g#4@4 ~@8 b4@2 d5@2 b4@4 ~@9",
  Q: "~@15 b3 ~ b3 ~ b3 ~ b3 ~ b3 ~ b3 ~@6", R: "~@23 f#3 ~ f#3 ~ f#3 ~ f#3 ~ f#3",
  S: "~ f#3 ~@5 f#3 ~ f#3 ~@5 f#3 ~ f#3 ~ f#3 ~ f#3 ~ f#3 ~ f#3 ~@5 d#3",
  T: "[~ d#3 ~ d#3 ~ d#3 ~ d#3 ~ d#3 ~ e3@4 d#3@4 e3@4 d#3@4 e3@8 d#3@16 ~@13]/2",
})).s("gm_clarinet").gain(0.1)

// other · french horn · "Horn in F"
const french_horn = note(`<
  ~@3 A@4 B ~@4 C D E@2 F G H I J ~@4 K L ~@2 M N ~@9 O@2 P@2 Q@2 R S@2 ~@3 T U V W X Y Z ~@2 AA ~@4 AB@3 AC ~@5 AD@8 AE
  ~@4 AF@2 ~@2 AG@2 ~@9 AH AI AJ AK AL AM AN AO ~@4 AP AQ AR AS AT AU AV AW AX AY AZ ~ BA@4 BB ~@2 BC@2 ~@9 BD BE ~@4 BF
  BG@2 BH BI@2 ~@6 BJ@5 BK@4 ~ BL@8 ~@8 BM BN BO BP@4 ~@2 BQ BR BS@2 ~@2
>`.pickRestart({
  A: "[~@16 b3@84 c#4@2 b3@2 a3@2 e3@2 a3 ~ a3 ~ a3@2 e3@2 a3 ~ a3 ~ b3@2 c#4@2 e4 ~ e4 ~]/4", B: "e4 ~@3",
  C: "~@4 e4 c#4 a3@2", D: "a3@5 ~@3 a3@4 g#3@4 a3@4 g#3@4 a3@4 b3@4",
  E: "[c#4 d4 e4 f#4 g#4 a4 a#4@3 a4 g4 a#4 a4 g4 f4 a4]/2", F: "g4 f4 e4 g4 e4@3 g4", G: "e4@3 g4 e4@3 f4",
  H: "d4@3 d#4 c4@3 d#4", I: "c4@3 d4 b3@3 d4", J: "b3@3 d4 b3@4", K: "~@14 a#4 a4", L: "g4 a4 a#4 g4 a4@2 g4@2 ~@8",
  M: "~@12 d4 e4 d4 f4", N: "d4 f#4 d4 g4 d4 ~ d#4@4 d4 c4 b3@2 ~@2", O: "[~@21 a#4@16 a4@4 g4@4 f4@8 d4@8 ~@3]/2",
  P: "[~ c#4@4 d4@4 e4@4 f4@4 g4@4 a4@4 a#4@4 g#4@12 a#4@4 a4@8 c5@8 ~@3]/2",
  Q: "[~@5 a#4@4 a4@4 g#4@24 a#4@4 a4@4 g#4@4 c5@4 a4@11]/2", R: "~ g4@4 f4@4 e4@4 d#4@19",
  S: "[~ d4@4 d4@4 e4@4 a3@24 ~@27]/2", T: "~@13 a4@12 ~@7", U: "~@5 d#4@12 d4@4 d#4@4 d4@4 d#4@3",
  V: "~ d4@4 d#4@4 d4@4 d#4@4 d4@4 c#4@4 c4@4 c#4@3", W: "~ c4@4 c#4@4 c4@4 c#4@4 c4@4 b3@4 a#3@4 b3@3",
  X: "~ a#3@4 b3@4 a#3@4 b3@4 a#3@4 b3@4 a#3@4 b3@3", Y: "~ a#3@4 b3@4 a#3@4 b3@4 c#4@4 d#4@4 d4@4 d#4@3",
  Z: "~@5 f#4@27", AA: "~@13 c4@4 b3@2 ~@2 c4@4 b3@2 ~@5", AB: "[~@3 b3@84 c#4@2 b3@2 a3@2 e3@2 a3]/3",
  AC: "~ a3 ~ a3@2 e3@2 a3 ~ a3 ~ b3@2 c#4@2 e4 ~ e4 ~ e4@8 ~@5",
  AD: "[~@3 e4@4 c#4@4 a3@8 a3@5 ~@3 a3@4 g#3@4 a3@4 g#3@4 a3@4 b3@4 c#4@4 d4@4 e4@4 f#4@4 g#4@4 a4@4 a#4@12 a4@4 g4@4 a#4@4 a4@4 g4@4 f4@4 a4@4 g4@4 f4@4 e4@4 g4@4 e4@12 g4@4 e4@12 g4@4 e4@12 f4@4 d4@12 d#4@4 c4@12 d#4@4 c4@12 d4@4 b3@12 d4@4 b3@12 d4]/8",
  AE: "~@3 b3@16 ~@13", AF: "[~@15 a#4@2 a4@2 g4@2 a4@2 a#4@2 g4@2 a4@4 g4@4 ~@29]/2",
  AG: "[~@11 d4@2 e4@2 d4@2 f4@2 d4@2 f#4@2 d4@2 g4@2 d4@2 ~@2 d#4@8 d4@2 c4@2 b3@4 ~@17]/2", AH: "~@2 a#4@4 a4 g4",
  AI: "f4@2 d4@2 ~ c#4 d4 e4", AJ: "f4 g4 a4 a#4 g#4@3 a#4", AK: "a4@2 c5@2 ~@2 a#4 a4", AL: "g#4@6 a#4 a4",
  AM: "g#4 c5 a4@3 g4 f4 e4", AN: "d#4@5 d4!2 e4", AO: "a3@3 ~", AP: "a4@3 ~@5", AQ: "~@8 g#4@5 g4 f4 g#4",
  AR: "g4@2 f4@2 d#4@2 g4@2 f4@2 d#4@2 d4@2 f4@2 d#4 ~@3 d4 ~@3 c4 ~@3 b3 ~@3",
  AS: "g#3 ~@3 a#3 ~@3 c4 ~@3 d4 ~@3 d#4 ~@3 d4 ~@3 c#4 ~@3 b3 ~@3",
  AT: "c4 ~@3 c4 ~@3 c4 ~@3 c4 ~@3 d4 ~@3 e4 ~@3 f#4 ~@3 e4 ~@3",
  AU: "d4 ~@3 c4 ~@3 d4 ~@3 e4 ~@3 f#4 ~@3 g4 ~@3 f#4 ~@3 e4 ~@3",
  AV: "f#4 ~@3 e4 ~@3 d4 ~@3 c4 ~@3 b3 ~@3 c#4 ~@3 d4 ~@3 e4 ~@3",
  AW: "f#4 ~@3 e4 ~@3 g4 ~@3 f#4 ~@3 g4 ~@3 a4 ~@3 g4 ~@3 a4 ~@3",
  AX: "a4@10 a4 ~ a4 ~ a4 ~ g4 ~ f#4 ~ e4 ~ d4 ~ e4@2 ~@2 d4@2 ~@2", AY: "a3@2 d4 ~ e4@8 f4@4", AZ: "f#4 ~@7",
  BA: "g#4 a4@15 g#4 a4@15", BB: "f#4 ~@3", BC: "[a3 c#4 e4@10 ~@4]/2",
  BD: "b3@8 ~@8 d4 e4 d4 e4 d4 e4 d4 e4 d4 e4 d4 e4 d4 e4 c#4 d4",
  BE: "~@16 d#4 e4 d#4 e4 d#4 e4 d#4 e4 d#4 e4 d#4 e4 d#4 e4 d4 d#4", BF: "~@9 c4@4 c5@8 a4@4 g4@7",
  BG: "[~ f#4@8 e4@2 d#4@2 c#4@2 d#4@2 e4@2 ~@2 d#4 e4 d#4@2 c#4@2 ~@2 d#4 e4 d#4@2 c#4@2 ~@2 d#4@4 e4@2 f#4@2 g#4@2 f#4@2 e4@2 ~@2 d#4@4 e4@2 f#4@2 g#4@3]/2",
  BH: "f#4@3 e4@2 d#4@8 ~@19", BI: "[~@21 e4@4 d#4@2 c#4@2 b3@2 c#4@2 d#4@2 b3@2 c#4@8 ~@19]/2",
  BJ: "[~@3 g4@16 f#4@4 e4@4 d4@8 b3@4 ~@8 a#3@4 b3@8 ~@4 a#3@4 b3@12 a#3@4 b3@4 a#3@4 b3@4 c4@4 d4@12 e4@4 f#4@12 g4@4 f4@16 g4@8 ~@5]/5",
  BK: "[~@7 f4@4 g4@12 ~@8 f#4@4 a4@12 g4@4 g4@2 f#4@3 e4@3 d4@8 b3@8 ~@4 d4@8 b3@4 d4@8 ~@29]/4",
  BL: "[~@31 f#4@4 g4@12 a4@4 b4@12 a4@4 g4@4 a4@4 g4@4 a4@4 g4@4 f4@4 g4@4 f4@4 e4@4 f4@4 e4@4 d4@4 e4@4 d4@4 b3@4 d4@4 b3@4 d4@8 b3@4 d4@12 b3@8 f#3@4 b3@8 f#3@12 b3@4 f#3@4 b3@4 f#3@40 ~@13]/8",
  BM: "~@6 b3 g#3", BN: "e3 f#3 g#3 a3 b3 c#4 d#4 e4", BO: "f#4 g#4 a4 b4 c5@3 b4",
  BP: "[a4 c5 b4 a4 g#4 b4 g#4@3 a4 f#4@3 g4 e4@3 f#4 c#4@3 d#4 b3@3 a#3 a3@3 g#3 e3 ~]/4", BQ: "~@6 e4 c#4", BR: "a3",
  BS: "[~@2 b3 g#3 e3@12]/2",
})).s("gm_french_horn").gain(0.25)

// other · french horn · "Horn in F" · soft notes
const french_horn_soft = note(`<
  ~@48 A@4 B ~@58 C@2 D E ~@20 F ~ G H I J K L M N ~@26 O@3 ~@9 P Q@5 ~@13 R@2
>`.pickRestart({
  A: "[~@29 c4@32 a#3@12 d4@4 f4@12 d4@4 a#3@12 a3@4 g#3@8 a3@8 ~@3]/4", B: "~@5 a3@8 ~@19", C: "[~@4 c4@8 a#3@3 d4]/2",
  D: "f4@3 d4 a#3@3 a3", E: "g#3 a3 ~ a3", F: "~@2 a3 ~", G: "~@6 d4 b3", H: "g3 ~@5 a4 f4", I: "d4 ~@5 c4 a3",
  J: "e3@4 ~@2 e4 c4", K: "a3 ~@3", L: "~@6 f#4 d#4", M: "b3", N: "b3 b3@7 f#3@4 ~@12 f#4@4 d#4@4, ~ c#4 ~@30",
  O: "[~@3 b3@4 ~@8 d4@8 e4@4 f4@4 e4@4 d4@16 c4@8 b3@8 f#3@12 b3@4 c#4@4 d#4@4 e4@4 ~]/3", P: "~@31 a3",
  Q: "[~ a3 ~ a3 ~ a3 ~ a3 ~ a3 ~ d4@2 ~@2 a3@2 ~@2 d4@2 ~@2 a3@2 ~@2 d4@2 ~@2 a3@2 ~@2 d4@2 ~@2 a3@2 ~@2 d4@4 e4@2 c4@2 a3@96 ~@13, ~@11 a3 ~@7 a3 ~@7 a3 ~@7 a3 ~@124]/5",
  R: "b3/2",
})).s("gm_french_horn").gain(0.15)

// other · bassoon
const bassoon = note(`<
// … 62 more lines