Strudelify

Le nozze di Figaro K.492

Wolfgang A. Mozart

KeyD majorTempo200 bpm
0:00/0:00
// Le nozze di Figaro K.492 — Wolfgang A. Mozart
// 200 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 1 "Flutes" named as a pipe, played on flute (its pizzicato strings patch is not one); ch 2 "Oboes" named as a reed, played on oboe (its tremolo strings patch is not one); ch 3 "Clarinets in B♭" named as a reed, played on clarinet (its string ensemble 1 patch is not one); ch 4 "Bassoons" named as a reed, played on bassoon (its pizzicato strings patch is not one); ch 5 "Horns in F" named as a brass, played on brass section (its tremolo strings patch is not one); ch 6 "Trumpets in B♭" named as a brass, played on trumpet (its contrabass patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/2590306; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 294 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(200/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 · flute · "Flutes"
const flute = note(`<
  ~@11 A B C@2 D E F G@4 H I ~@4 A B C@2 D E J ~@3 K@2 L M N O P Q@2 R S T U@2 V@2 W@2 X Y ~@7 Z AA ~@6 Z AB ~ AC ~ AD ~
  AE AF AG AH AI@8 AJ AK AL ~@27 AM@2 ~@7 AN AO@3 ~@14 A B C@2 D E ~@8 AP@2 V@2 W@2 X Y ~@4 AQ@2 ~@6 AQ@2 ~@2 AR ~ AS ~
  AT ~ AU@2 AV AW AX AY@7 AZ BA BB ~@21 BC BA BB BD BE BF BG ~@12 M N BH BI@5 Q@2 R BJ ~ T BK BL BM BI@5 Q@2 R BJ ~ T BK
  BL BN T BK BL BM BO BP BO BP BO BP BQ@2 BJ@2 BR
>`.pickRestart({
  A: "[f#5,d6]@15 ~", B: "[e5,c#6]@11 ~ [g5,b5]@4", C: "[f#5,a5] [f#5,d6] [e5,c#6] [g5,b5]",
  D: "[f#5,a5]@2 [f#5,a5]!2 [e5,g5]@2 [e5,g5]!2", E: "[d5,f#5]@2 [d5,f#5]!2 [c#5,e5]@2 [c#5,e5]!2", F: "d5@15 ~",
  G: "[d6@23 ~ c#6@16 d6@15 ~ c#6@6 d6@2]/4", H: "e6 g5", I: "f#5 ~@3", J: "d5", K: "[[d5,f#5]@15 ~]/2",
  L: "[g5,b5]@15 ~", M: "[a5,c6]@15 ~", N: "[g5,b5] [f#5,a5]", O: "b5 c#6, g5@15 ~", P: "[f#5,d6] ~@2 [a5,c#6]",
  Q: "[a5,d6]!2 ~ [a5,c#6]", R: "[a5,d6] [a5,c#6] [a5,d6] [a5,c#6]", S: "d6 c#6 b5 a5 d6 c#6 b5 a5",
  T: "d6 c#6 b5 a5 g5 f#5 e5 d5", U: "[~ c#6 d6 [d6,f#6], a5@23 ~@9]/2",
  V: "[[c#6,e6] c#6 d6 [d6,f#6], ~@8 a5@15 ~@9]/2", W: "[c#6,e6] [d6,f#6]", X: "[c#6,e6]@2 a5!2 a5@2 a5@2", Y: "a5 ~",
  Z: "[e5,g#5] [f#5,a5] [g#5,b5] [f#5,a5] [e5,g#5] [d5,f#5] [c#5,e5] [b4,d5]", AA: "[a4,c#5] ~@3",
  AB: "[a4,c#5] ~ [c#6,f#6] ~", AC: "~@2 [b5,e6] ~", AD: "~@2 [a5,d6] ~", AE: "[d5,g#5]@15 ~", AF: "[c#5,a5]@15 ~",
  AG: "[g#5,b5]@15 ~", AH: "[a5,c#6] [b5,d6]",
  AI: "[a5@61 ~@35 c6@15 ~@9 g#5@8, c#6@91 ~@21 b5@15 ~, ~@64 a5@53 ~@11]/8", AJ: "[c#6,e6] [b5,d6]",
  AK: "[a5,c#6] [g#5,b5]", AL: "a5 ~@3", AM: "[a5@15 ~]/2", AN: "[d6,f#6]@15 ~", AO: "[[e6,g6]@17 ~@7]/3",
  AP: "[e5 c#6 d6 [d6,f#6], ~@8 a5@15 ~@9]/2", AQ: "[g5,b5]@3 ~", AR: "~@2 [b5,f#6] ~", AS: "~@2 [a5,e6] ~",
  AT: "~@2 [g5,d6] ~", AU: "[c#6@15 ~ d6@15 ~, a5@15 ~]/2", AV: "c#6@15 ~", AW: "e6@15 ~", AX: "[d6,f#6] [e6,g6]",
  AY: "[f#6@76 ~@4 f6@15 ~@9 c#6@8, d6@99 ~@13, ~@96 e6@15 ~]/7", AZ: "[d6,f#6] [g5,b5]", BA: "[f#5,d6] [e5,c#6]",
  BB: "[f#5,d6] ~@3", BC: "~ [g5,e6]", BD: "d6@3 f#5", BE: "e5 ~@3", BF: "g6@2 e6@2 c#6@2 c#6 ~", BG: "d6 ~@3",
  BH: "a5 c6, g5@15 ~", BI: "[[f#5,d6]@8 d6@61 ~@7 [a5,c#6]@4]/5", BJ: "[a5,d6] ~@3",
  BK: "[e6,g6] [d6,f#6] [c#6,e6] [b5,d6] [a5,c#6] [g5,b5] [f#5,a5] [e5,g5]", BL: "[d5,f#5] ~ [a5,d6] ~",
  BM: "[g5,b5] ~ [e5,c#6] ~", BN: "[g5,b5] [e5,c#6] ~@2", BO: "[a5,d6]@15 ~", BP: "[a5,d6]@4 [a5,d6]@3 [a5,d6]",
  BQ: "[a5,d6] ~ [a5,d6] ~", BR: "[a5,d6] ~",
})).s("gm_flute").gain(0.4)

// chords · flute · "Flutes" · soft notes
const flute_soft = note(`<
  ~@8 A B C ~@14 A B C ~@7 D E@2 ~@60 F ~@16 G H I J G K L ~@2 M@2 N@2 O@2 P ~@15 A B C ~@6 D Q@2 R S T U V ~@12 W@2 X Y
  Z ~@3 W@2 X Y Z ~@106
>`.pickRestart({
  A: "~ [f#4,a4] [a4,d5] [d5,f#5]", B: "[f#5,a5] ~@3", C: "~ [a4,d5] [d5,f#5] [f#5,a5]", D: "d5@15 ~",
  E: "[[c#5,e5]@15 ~]/2", F: "~ [b5,d6] [a5,c#6] ~", G: "a5@3 c#6", H: "b5 g#5 f#5 e5", I: "e6 ~ e6 ~", J: "e6@2 c#6 ~",
  K: "b5@2 d6@2 f#6@2 f#6 ~", L: "d6@2 b5@2 g#5@2 g#5 ~", M: "[[g#5,b5]@15 ~]/2", N: "[[g5,c#6]@15 ~]/2",
  O: "[[f#5,d6]@15 ~]/2", P: "[c#6,e6]@15 ~", Q: "[d6@23 ~ c#6@8]/2", R: "c6@15 ~", S: "b5@15 ~", T: "a5@15 ~",
  U: "g5@15 ~", V: "[f#5,g5]!15 [e5,f#5]", W: "~@3 [f#5,a5]", X: "[e5,g5] ~@3",
  Y: "[a5,c#6] [b5,d6] [c#6,e6] [b5,d6] [a5,c#6] [g5,b5] [f#5,a5] [e5,g5]", Z: "[d5,f#5] ~@3",
})).s("gm_flute").gain(0.2)

// chords · oboe · "Oboes"
const oboe = note(`<
  ~@11 A B C@2 D E F G H I J K L ~@4 A B C@2 D E F ~@3 M@2 N O P Q R S@2 T U V W X Y X Z@2 AA AB ~@5 AC ~@6 AC@2 ~@2 AD
  ~ AE ~ AF ~ AG AH AI AJ AK@8 AL AM AN ~@27 AO@2 ~@7 X AP@3 ~@10 AQ L AR AS A B C@2 D E ~@8 AT X Y X Z@2 AA AB ~@16
  AU@6 AV X AW@2 AX@8 AY AZ L ~@36 BA BB@2 BC@2 BD BE BF BG@2 BH BI BJ@2 BK AS ~ BL BM BN BO BP BG@2 BH BI BJ@2 BK AS ~
  BL BM BQ BO BL BM BQ BO X BR X BR X BR BS@2 AS@2 BT
>`.pickRestart({
  A: "[f#5,d6]", B: "[e5,c#6]@3 [g5,b5]", C: "[f#5,a5] [f#5,d6] [e5,c#6] [g5,b5]",
  D: "[f#5,a5]@2 [f#5,a5]!2 [e5,g5]@2 [e5,g5]!2", E: "[d5,f#5]@2 [d5,f#5]!2 [c#5,e5]@2 [c#5,e5]!2", F: "d5", G: "f#5",
  H: "e5@7 f#5", I: "g5 f#5", J: "g5@3 f#5 e5@3 f#5", K: "g5 e5", L: "d5 ~@3", M: "[d5,f#5]/2", N: "[g5,b5]",
  O: "[a5,c6]", P: "[g5,b5] [f#5,a5]", Q: "b5 c#6, g5", R: "[f#5,d6] ~@2 [a5,c#6]", S: "[a5,d6]!2 ~ [a5,c#6]",
  T: "[a5,d6] [a5,c#6] [a5,d6] [a5,c#6]", U: "d5@2 ~@2 d5 c#5 b4 a4", V: "d5 c#5 b4 a4 g4 f#4 e4 d4", W: "a4 [e5,g5]",
  X: "[d5,f#5]", Y: "[c#5,e5] [e5,g5]", Z: "[c#5,e5] [d5,f#5]", AA: "[c#5,e5]@2 a4!2 a4@2 a4@2", AB: "a4 ~",
  AC: "[d5,f#5]@3 ~", AD: "~@2 [f#5,c#6] ~", AE: "~@2 [e5,b5] ~", AF: "~@2 [d5,a5] ~", AG: "[d5,g#5]", AH: "[c#5,a5]",
  AI: "[g#5,b5]", AJ: "[a5,c#6] [b5,d6]", AK: "[a5@8 ~@4 c6@2 ~ g#5, c#6@6 ~ b5, ~@8 a5@7 ~]/8", AL: "[e5,c#6] [d5,b5]",
  AM: "[c#5,a5] [b4,g#5]", AN: "[c#5,a5] ~@3", AO: "[c#5,e5]/2", AP: "[[g5,c#6]@3 ~]/3", AQ: "[a4,f#5]@3 [c#5,e5]",
  AR: "[f#5,a5]@3 [e5,g5]", AS: "[d5,f#5] ~@3", AT: "[a4,c#5] [e5,g5]",
  AU: "[~ d5@4 c5@4 [a#4,d5]@3, ~ f#5 ~@3 e5 ~@6]/6", AV: "[e5,g5]", AW: "[g5@2 f#5 [g5,c#6], a5@3 ~]/2",
  AX: "[[f#5,d6] f#5@11 f5@2 b5 [c#5,a5], ~ d5@14 ~]/8", AY: "[d5,a5] [b4,g5]", AZ: "[d5,f#5] [c#5,e5]",
  BA: "~ [c#5,e5]", BB: "[[d5,f#5]@3 [e5,g5]]/2", BC: "[f#5,a5]/2", BD: "g5 [f#5,a5]", BE: "[g5,b5] [e5,g5]",
  BF: "[d5,f#5]@2 ~ b5, ~@6 b4 ~", BG: "[a4,a5] ~ [f#4,f#5] ~@3 [b4,b5] ~",
  BH: "[a4,a5] ~ [f#4,f#5] ~ [a4,a5] ~ [b4,b5] ~", BI: "[a4,a5]@2 ~ [c#5,e5]", BJ: "[d5,f#5]!2 ~ [c#5,e5]",
  BK: "[d5,f#5] [c#5,e5] [d5,f#5] [c#5,e5]", BL: "d6 c#6 b5 a5 g5 f#5 e5 d5",
  BM: "[e5,g5] [d5,f#5] [c#5,e5] [b4,d5] [a4,c#5] [g4,b4] [f#4,a4] [e4,g4]", BN: "[d4,f#4] ~ [d5,f#5] ~",
  BO: "[b4,g5] ~ [c#5,e5] ~", BP: "[d5,f#5]@4 ~@2 [b4,b5] ~", BQ: "[f#4,a4] ~ [d5,f#5] ~",
  BR: "[d5,f#5]@4 [d5,f#5]@3 [d5,f#5]", BS: "[d5,f#5] ~ [d5,f#5] ~", BT: "[d5,f#5] ~",
})).s("gm_oboe").gain(0.4)

// chords · oboe · "Oboes" · soft notes
const oboe_soft = note(`<
  ~@7 A B C D ~@13 A B C D ~@7 E F@2 ~@25 G H I J ~@3 G@2 H I J ~@21 K ~ K ~@17 L M N ~@5 O@2 F@2 P@2 Q ~@24 E R S T@5
  ~@14 U V B ~@3 W@2 U X@2 Y Z AA AB ~@19 AC ~@9 AD AE D ~@4 AF AG AH AI ~ AJ AK B ~@7 AL@2 ~@49
>`.pickRestart({
  A: "[a4,f#5]@3 [c#5,e5]", B: "d5 ~@3", C: "[f#5,a5]@3 [e5,g5]", D: "[d5,f#5] ~@3", E: "d5", F: "[c#5,e5]/2",
  G: "~@3 [c#5,e5]", H: "[b4,d5] [c#5,e5] [d5,f#5] [c#5,e5] [b4,d5] [a4,c#5] [g#4,b4] [f#4,a4]", I: "[e4,g#4]",
  J: "a4 ~@3", K: "~ [b4,d5] [a4,c#5] ~", L: "~ [b4,d5]", M: "[a4,c#5] [g#4,b4]", N: "[a4,c#5] ~@3", O: "[d5,e5]/2",
  P: "[d5,f#5]/2", Q: "[e5,g5]", R: "f#5", S: "e5", T: "[f#5 a5@2 g5@2 f#5@2 e5@2 d5]/5",
  U: "[e5,g5] [f#5,a5] [g5,b5] [f#5,a5] [e5,g5] [d5,f#5] [c#5,e5] [b4,d5]", V: "[a4,c#5]", W: "d5/2",
  X: "[c#5@2 d5 ~, a4@3 ~]/2", Y: "f5", Z: "e5 ~", AA: "d#5", AB: "d5 ~", AC: "~ [e5,g5] [d5,f#5] ~", AD: "~ [e5,g5]",
  AE: "[d5,f#5] [c#5,e5]", AF: "d5@3 f#5", AG: "e5 c#5 b4 a4", AH: "a5!4", AI: "a5@2 f#5 ~", AJ: "e5@2 g5@2 b5@2 b5 ~",
  AK: "g5@2 e5@2 c#5@2 c#5 ~", AL: "[d5@3 ~]/2",
})).s("gm_oboe").gain(0.2)

// chords · clarinet · "Clarinets in B♭"
const clarinet = note(`<
  ~@11 A B C@2 D E F ~@10 A B C@2 G H I ~ J ~ K@2 L M N O P Q@2 R S T U V W V X@2 Y Z ~@16 AA ~ AB ~ AC ~ AD AE AF AG
  AH@8 AI AJ AK ~@27 AL ~ AL ~ AL ~ AL ~ AL AM AN@3 ~@14 A B C@2 G H F ~@7 AO V AP V X@2 AQ AR ~@16 AS ~ AT ~ AU ~ AV V
  AW AX AY@7 AZ@2 BA BB ~@37 BC BD BE@4 BF BG@2 BH BI BJ BK BL BM BN BO BP BQ BR BF BG@2 BH BK@3 BS BM BN BO BP BQ BT BO
  BP BQ BR BU@6 BV BW BB@2 BX
>`.pickRestart({
  A: "d3!8, [f#4,d5]", B: "d3!8, [e4,c#5]@3 [g4,b4]", C: "d3!8, [f#4,a4] [f#4,d5] [e4,c#5] [g4,b4]",
  D: "[f#4,a4]@2 [f#4,a4]!2 [e4,g4]@2 [e4,g4]!2", E: "[d4,f#4]@2 [d4,f#4]!2 [c#4,e4]@2 [c#4,e4]!2", F: "d4 ~@3",
  G: "[d3,f#4,a4]@2 [f#4,a4]!2 [g3,e4,g4]@2 [e4,g4]!2", H: "[a3,d4,f#4]@2 [d4,f#4]!2 [a2,c#4,e4]@2 [c#4,e4]!2",
  I: "d3!4 ~@4, d4", J: "d3!4 ~@4", K: "[d3!4 ~@12, [d4,f#4]]/2", L: "[d3,g4,b4]",
  M: "d3 e3 f#3 g3 a3 b3 c4 d4, [a4,c5]", N: "d3!8, [g4,b4] [f#4,a4]", O: "d3!8, g4, b4 c#5",
  P: "[f#4,d5] ~@2 [a3,a4,c#5], d3 ~", Q: "[f#3,a4,d5] [d3,a4,d5] ~ [a3,a4,c#5]",
  R: "[f#3,a4,d5] [a3,a4,c#5] [f#3,a4,d5] [a3,a4,c#5]", S: "[d3,d5]@2 ~@2 [d4,d5] [c#4,c#5] [b3,b4] [a3,a4]",
  T: "[d4,d5] [c#4,c#5] [b3,b4] [a3,a4] [g3,g4] [f#3,f#4] [e3,e4] [d3,d4]", U: "a3!8, a4 [e4,c#5]", V: "a3!8, [f#4,d5]",
  W: "a3!8, [e4,c#5]", X: "a3!8, [e4,c#5] [f#4,d5]", Y: "[a3,e4,c#5]@2 [a3,a4]!2 [a3,a4]@2 [a3,a4]@2", Z: "[a3,a4] ~",
  AA: "~@2 [a3,c#5,f#5] ~", AB: "~@2 [g3,b4,e5] ~", AC: "~@2 [f3,a4,d5] ~", AD: "e3!8, [g#4,b4]", AE: "e3!8, [a4,c#5]",
  AF: "e3!8, [g#4,d5]", AG: "e3!8, [a4,c#5] [g#4,d5]",
  AH: "[a3@2 ~ a3 b3 c#4 d4 d#4 f#4 e4 ~ a3 b3 c#4 d4 d#4 f#4 e4 ~ a3 b3 c#4 d4 e4 f4@2 e4@2 d#4@2 [d4,g#4]@2, c#5@6 c5 b4, a4@8 a4@7 ~]/8", // Ddim
  AI: "c#4!2 d4!2, [c#5,e5] [b4,d5]", AJ: "e4!2 e3!2, [a4,c#5] [g#4,b4]", AK: "[a3,a4] ~@3", AL: "a2 ~",
  AM: "[f#4,d5], a2 ~", AN: "[a2 b2 c#3 d3 e3 f#3 g3 f#3 g3 f#3 e3 f#3 e3 d3 c#3 b2 a2@2 ~@6, [c#5,e5]@3 ~]/3",
  AO: "a3!8, c#5, a4 g4", AP: "a3!8, c#5, e4 g4", AQ: "[a3,e4,c#5]@2 [a2,a4]!2 [a2,a4]@2 [a2,a4]@2", AR: "[a2,a4] ~",
  AS: "~@2 [d4,b4,f#5] ~", AT: "~@2 [c4,a4,e5] ~", AU: "~@2 [a#3,g4,d5] ~", AV: "a3!8, [g4,c#5]", AW: "a3!8, [c#5,e5]",
  AX: "a3!8, [d5,f#5] [c#5,e5]", // D C#m
  AY: "[[d3,d5,f#5]@2 ~ d3 e3 f#3 g3 g#3 b3 a3 ~ d3 e3 f#3 g3 g#3 b3 a3 ~ d3 e3 f#3 g3 a3 a#3@2 a3@2, ~ d5@13, ~ f#4@11 f4@2]/7", // D
  AZ: "[[g#3,b4]@2 g3@2 f#3!2 g3!2, e5@2 d5 ~, ~ a4@2 [g4,b4]]/2", BA: "a3!2 a2!2, [f#4,d5] [e4,c#5]", BB: "d3 ~@3",
  BC: "~@2 d3 ~", BD: "d3 ~ d3 ~", BE: "d3!4", BF: "d3@4 ~@2 g3 ~", BG: "f#3 ~ d3 ~@3 g3 ~",
  BH: "f#3 ~ d3 ~ f#3 ~ g3 ~", BI: "f#3 ~ d3 ~@3 a3 ~", BJ: "f#3 ~ d3 ~@3 a3@2", BK: "f#3 d3 ~ a3", BL: "f#3 d3 f#3 d3",
  BM: "d3@6 ~ d4", BN: "c#4 b3 a3 g3 f#3 e3 d3 c#3", BO: "b2", BP: "[c#3,d3]!15 [b2,c#3]", BQ: "d3 ~ d4 ~",
  BR: "g3 ~ a3 ~", BS: "f#3 a3 f#3 a3", BT: "d3 ~ a3 ~", BU: "d3!8", BV: "d3 ~ f#3 ~", BW: "a3 ~ f#3 ~", BX: "d3 ~",
})).s("gm_clarinet").gain(0.4)

// chords · clarinet · "Clarinets in B♭" · soft notes
const clarinet_soft = note(`<
  A B C D E F G@2 H I J ~@6 A B K D E F G@2 H I J ~@6 L M N@2 L G ~@25 O P ~@6 O P ~@21 Q ~ Q ~ R S T U V W X@5 Y Z AA
  X@5 Y Z AA AB@2 AC@2 AD@2 AE@2 AF ~@7 A B K D E F G@2 H I J ~@6 A AG K AH AI AJ AK AG ~@15 AL AM ~@5 O AL Z ~@21 AN ~
  AN ~ AO AP AQ AR AS AT AU@5 AV AR AL AW@5 AX@13 Z ~@2 AY AZ BA BB BC@2 BD BE BF@2 BG BH ~ BI BJ BK BL BB BC@2 BD BE
  BM@2 BG BH ~ BI BJ BK BL BI BJ BK BL BN BO BN BO BN BO BP@2 BQ@2 BR
>`.pickRestart({
  A: "d3 c#3 d3 c#3 d3@2 ~@2", B: "d3 c#3 d3 e3 f#3 e3 f#3 g3", C: "a3 g3 a3 g3 a3@2 ~@2",
  D: "a3 g#3 a3 a#3 b3 a3 g3 f#3", E: "e3 d#3 e3 f#3 g3 f#3 e3 d3", F: "c#3 d3 e3 d3 c#3 a2 b2 c#3", G: "d3!8",
  H: "d3!8, ~ [f#3,a3] [a3,d4] [d4,f#4]", I: "d3!8, [f#4,a4] ~@3", J: "d3!8, ~ [a3,d4] [d4,f#4] [f#4,a4]",
  K: "a3 g#3 a3 g#3 a3@2 ~@2", L: "~@4 d3!4", M: "d3!8, d4", N: "[~@4 d3!4 d3!8, [c#4,e4]]/2", O: "e3", P: "a2 ~@3",
  Q: "~ g#3 a3 ~", R: "~@3 g3", S: "g#3 a3 a#3 b3", T: "c4 c3", U: "d3", V: "e3 f3", W: "d3 e3", X: "a2/5",
  Y: "c#3 ~@3", Z: "d3 ~@3", AA: "e3 ~@3", AB: "[c#4,e4]/2", AC: "[g#4,b4]/2", AD: "[e4,g4]/2", AE: "[d4,f#4]/2",
  AF: "[g4,c#5]", AG: "d3 c#3 d3 e3 f#3 e3 f#3 g#3", AH: "d3 c#3 d3 e3 f#3 e3 f#3 d3", AI: "g3 f#3 g3 f#3 g3@2 ~@2",
  AJ: "b2 a#2 b2 c#3 d#3 c#3 d#3 b2", AK: "e3 f#3 e3 d3 c#3 b2 c#3 a2", AL: "a3", AM: "d4 ~@3",
  AN: "~ [c#4,e4,g4] [d4,f#4] ~", AO: "~@3 e3", AP: "f3 f#3 g3 c#3", AQ: "f3", AR: "g3", AS: "a3 a#3", AT: "g3 a3",
  AU: "f#3/5", AV: "f#3", AW: "d3/5", AX: "d3 ~ d3 ~", AY: "[a4,c5]", AZ: "[g4,b4] [f#4,a4]", BA: "[g4,b4] [e4,c#5]",
  BB: "[f#4,d5]@4 ~@2 b4 ~", BC: "a4 ~ f#4 ~@3 b4 ~", BD: "a4 ~ f#4 ~ a4 ~ b4 ~", BE: "a4@2 ~ [e4,c#5]",
  BF: "[f#4,b4]!2 ~ [e4,c#5]", BG: "[f#4,d5] [e4,c#5] [f#4,d5] [e4,c#5]", BH: "[f#4,d5] ~@3",
  BI: "d5 c#5 b4 a4 g4 f#4 e4 d4", BJ: "[e5,g5] [d5,f#5] [c#5,e5] [b4,d5] [a4,c#5] [g4,b4] [f#4,a4] [e4,g4]",
  BK: "[d4,f#4] ~ [f#4,d5] ~", BL: "[g4,b4] ~ [e4,c#5] ~", BM: "[f#4,d5]!2 ~ [e4,c#5]", BN: "[f#4,a4]",
  BO: "[f#4,a4]@4 [f#4,a4]@3 [f#4,a4]", BP: "[f#4,a4] ~ [f#4,a4] ~", BQ: "[f#4,a4] ~@3", BR: "[f#4,a4] ~",
})).s("gm_clarinet").gain(0.2)

// other · brass section · "Horns in F"
const brass_section = note(`<
  ~@7 A B C D E@3 F G H B ~@10 E@3 F G H ~@2 I@4 E@3 F J K L M N O P Q R Q S@2 T U ~@16 V ~ W ~ X ~ Y@3 Z AA AB@4 AC@2
  AD AE AF AG ~@27 AH@8 AC@2 AI@3 ~@14 E@3 F G H B ~@4 AJ@3 R Q R Q AK AL T U ~@16 AM ~ AN ~ X ~ AO@5 AP@4 I@2 AQ AR AS
  B ~@37 AT@7 AU@2 F J K L M D ~ AV AC AW AX AY AU@2 F J K L M D ~ AV AC AW AX AV AC AW AX AZ AV AZ AV AZ AV BA BB BC@2
  BD
>`.pickRestart({
  A: "[d4,f#4]@3 [a3,e4]", B: "[f#3,d4] ~@3", C: "[f#4,a4]@3 [e4,g4]", D: "[d4,f#4] ~@3", E: "[[d3,d4]@9 [d3,d4]!3]/3",
  F: "[d3,d4]!4", G: "[d3,d4] ~ [d3,d4] ~", H: "[d4,f#4] ~ [a3,e4] ~", I: "[d3,d4]/2", J: "[d3,d4]@2 ~ a3",
  K: "f#3 d3 ~ a3", L: "f#3 d3 ~ [a3,e4]", M: "[f#3,d4] [a3,e4] [f#3,d4] [a3,e4]", N: "[f#3,d4] ~ d4 a3",
  O: "d4 a3 f#3 d3", P: "[a2,a3]@2 ~ [a3,e4]", Q: "[d4,f#4]@2 ~ [d4,f#4]", R: "[a3,e4]@2 ~ [a3,e4]",
  S: "[a3,e4]!2 [d4,f#4]!2", T: "[a3,e4]@2 a3!2 a3@2 a3@2", U: "a3 ~", V: "~@2 [a3,f#4] ~", W: "~@2 e4 ~",
  X: "~@2 [d3,d4] ~", Y: "e4/3", Z: "e4!2", AA: "[a3,e4] [a2,a3]!3", AB: "[[a2,a3]@5 [a2,a3]!3]/2", AC: "[a2,a3]",
  AD: "f#4 e4", AE: "[a3,e4] [d4,f#4]", AF: "e4", AG: "[a3,e4] ~@3", AH: "[a2,a3]/2", AI: "[[a3,e4]@3 ~]/3",
  AJ: "[~ a4 ~@3 d4, ~ f#4@2 e4@2 ~, ~ g4 f#4]/3", AK: "[a3,e4]@2 [a3,e4]@2 [d4,f#4]!2 [a3,e4]@2",
  AL: "[a3,e4] [d4,f#4]!2 ~", AM: "~@2 [d4,f#4] ~", AN: "~@2 [a3,e4] ~", AO: "[[a2,a3]@14 a3@3 [d3,d4]!3]/5",
  AP: "[[d3,d4]@5 [d3,d4]!3]/2", AQ: "[d4,e4] [a3,e4]", AR: "[d4,f#4] [d3,d4]", AS: "[d4,f#4] [a3,e4]",
  AT: "[[d3,d4]@52 ~@2 [d3,d4] ~]/7", AU: "[d3,d4]!2 ~ [d3,d4]", AV: "[d3,d4]", AW: "[d3,a3] ~ [d4,f#4] ~",
  AX: "[d3,d4] ~ a3 ~", AY: "[d3,d4]@2 ~ [d3,d4]", AZ: "[d3,d4]@4 [d3,d4]@3 [d3,d4]", BA: "[d3,d4] ~ [f#3,f#4] ~",
  BB: "[a3,a4] ~ [f#3,f#4] ~", BC: "[d3,d4] ~@3", BD: "[d3,d4] ~",
})).s("gm_brass_section").gain(0.4)

// other · brass section · "Horns in F" · soft notes
const brass_section_soft = note(`<
  ~@24 A B C D ~@6 E@2 ~@70 F@5 ~@3 F@5 ~@26 A B C D ~@70 G@5 ~@3 G@5 ~@11 E@2 ~@49
>`.pickRestart({
  A: "[d4,f#4]@3 [a3,e4]", B: "[f#3,d4] ~@3", C: "[f#4,a4]@3 [e4,g4]", D: "[d4,f#4] ~@3", E: "[d3,d4]/2",
  F: "[a2,a3]/5", G: "[d3,d4]/5",
})).s("gm_brass_section").gain(0.2)

// other · trumpet · "Trumpets in B♭"
const trumpet = note(`<
  ~@11 A@3 B C D E ~@10 A@3 B F G H ~ H ~ H ~ I J K@2 L M N O P Q R@4 S@2 T U ~@16 V ~ W ~ X ~ Y@4 Z AA AB AA AB AC AD
  AE AF AG AH ~@27 AI ~ AI ~ AI ~ AI ~ AI AJ AK@3 ~@14 AL@3 B F G E ~@7 R@4 AM@2 AN AO ~@16 AP ~ AQ ~ AR ~ AS AT@2 AU AV
  AW AX AW AX AY AZ@2 BA BB BC ~@37 BD BE BF@2 BG BH BI BJ@2 BK BL BM N BN BO BP BQ BR BS BT BI BJ@2 BK BU M N O BO BP
  BQ BR BV BW BQ BR BV BT BX BG BY BG BY BG BZ CA CB@2 CC
>`.pickRestart({
  A: "[d2!8 d2!8 d2!8, [d4,d5]@9 [d4,d5]!3]/3", B: "d2!8, [d4,d5]!4", C: "[d4,d5] ~ [d4,d5] ~",
  D: "[d5,f#5] ~ [a4,e5] ~", E: "[f#4,d5] ~@3", F: "[d2,d4,d5] ~ [g2,d4,d5] ~", G: "[a2,d5,f#5] ~ [a1,a4,e5] ~",
  H: "d2!4 ~@4, [d4,d5] ~@3", I: "[d4,d5]@4 [d4,d5]@3 [d4,d5], d2", J: "d2 e2 f#2 g2 a2 b2 c3 d3, [d4,d5]!2",
  K: "[d2!8 d2!8, [d4,d5]]/2", L: "[d2,d4,d5]@2 ~ [a2,a4]", M: "[f#2,f#4] [d2,d4] ~ [a2,a4]",
  N: "[f#2,f#4] [d2,d4] ~ [a2,a4,e5]", O: "[f#2,f#4,d5] [a2,a4,e5] [f#2,f#4,d5] [a2,a4,e5]",
  P: "[d2,f#4,d5]@2 ~@2 d3 c#3 b2 a2, ~@2 d5 a4", Q: "d3 c#3 b2 a2 g2 f#2 e2 d2, d5 a4 f#4 d4", R: "a2!8, a4 ~",
  S: "a2!8, a4 ~ a4 ~", T: "[a2,a4]@2 [a2,a4]!2 [a2,a4]@2 [a2,a4]@2", U: "[a2,a4] ~", V: "~@2 [a2,a3,a4] ~",
  W: "~@2 [g2,e5] ~", X: "~@2 [f2,d4,d5] ~", Y: "[e2!8 e2!8 e2!8 e2!8, e5]/4", Z: "[a2,a4]@2 ~ a2", AA: "b2 c#3 d3 d#3",
  AB: "f#3 e3 ~ a2, a4 ~", AC: "b2 c#3 d3 e3", AD: "f3 e3, [a3,a4]", AE: "d#3 [d3,e5]",
  AF: "c#3!2 d3!2, [a4,e5] [d5,f#5]", AG: "e3!2 e2!2, e5", AH: "[a2,a4,e5] ~@3", AI: "[a1,a3,a4] ~", AJ: "[a2,a3,a4] ~",
  AK: "[a1 b1 c#2 d2 e2 f#2 g2 f#2 g2 f#2 e2 f#2 e2 d2 c#2 b1 a1@2 ~@6, [a3,a4]@3 ~]/3", // A
// … 195 more lines