Strudelify

Coriolan Op.62

Ludwig van Beethoven

KeyE♭ majorTempo150 bpm
0:00/0:00
// Coriolan Op.62 — Ludwig van Beethoven
// 150 bpm, 4/4, key Eb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 3 "Oboe" named as a reed, played on oboe (its tremolo strings patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/5925510; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 314 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(150/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 · pizzicato strings · "Flöte"
const pizzicato_strings = note(`<
  ~@2 A ~@3 B ~@3 C ~ D E ~@4 F G ~@5 H@2 ~ I J@2 K@2 L@2 M N O P Q@2 R@2 S T U@5 ~@9 V W X Y@7 Z AA@4 AB AC AD AE AF AG
  AH AI AJ AK AL AK AL AM AN AM AN AO@4 AP AQ AR@2 AS AT AU AV AW AV AW ~@3 AX AY AZ BA BB@3 BC BD ~@3 BE BF BE BG ~@3
  BH BI ~@2 BJ BK ~@5 BL BM BN BO ~@4 BP BQ BR BS BT ~ BU ~@3 BV@2 ~@3 BW BX ~@2 BY BZ@3 CA CB@4 CC ~@9 CD CE CF CG@2
  ~@3 CH@2 CI CJ CK CL CM@2 CN ~ CO CP CQ ~@5 CR CS CR CS CT CU CT CU CV@4 CW CX@3 CY CZ DA DB DC DB DC ~@3 DD DE DF
  ~@11 DG DH DI DJ@2 DK@2 DL@8 ~@2 J DM DN DM DN DO DP BI ~ A ~ DQ@2 B ~ DQ@2 DR ~ DS DT DU ~ DV ~ DW ~ DX ~@18
>`.pickRestart({
  A: "[ab5,c6] ~@3", B: "[b5,d6] ~@3", C: "[c6,eb6] ~@3", D: "[eb6,g6] ~@3", E: "[d5,b5] ~@3", F: "~ g6",
  G: "gb6@11 ~ [b5,g6]@4", H: "[~@8 f6@11 ~ [c6,e6]@4 ~@8]/2", I: "f6 eb6", J: "d6@15 ~", K: "d6!2",
  L: "[[c6,f6]@19 ~ [eb5,eb6]@4 [db5,db6]@4 [c5,c6]@4]/2", M: "[g5,b5] [g5,c6]", N: "[d5,d6] [eb5,eb6]",
  O: "[c6,e6] [c6,f6]", P: "[c6,g6] [c6,ab6]", Q: "[a5,a6] ~", R: "[ab5,ab6] ~", S: "[g5,g6]@15 ~", T: "[gb5,gb6]@15 ~",
  U: "[f5 ~@2 gb6 ~@3 gb6 ~@3 gb6 ~@3 gb6 f6 ~@3, f6@11 ~@5 f6@11 ~@5 f6@11 ~@5 f6@11 ~@21, ~@4 bb5@15 ~ bb5@15 ~ bb5@15 ~ bb5@15 ~@13]/5",
  V: "g6@11 ~ ab6@4", W: "g6 f6 d6 bb5", X: "bb5 db6", Y: "[c6@53 ~@3]/7", Z: "c6 eb6", AA: "[d6@57 ~@3 f6@4]/4",
  AB: "f6 eb6@2 d6", AC: "d6 c6@2 bb5", AD: "bb5 a5 bb5 g5", AE: "gb5 ~@3", AF: "~@7 a5", AG: "bb5 ~@3", AH: "~@7 bb5",
  AI: "c6@2 ~@5 c6", AJ: "d6@2 ~@5 d6", AK: "[a5,eb6]@11 ~ [bb5,d6]@4", AL: "[c6,gb6] [bb5,g6] [c6,gb6] [bb5,g6]",
  AM: "[b5,ab6]@11 ~ [c6,g6]@4", AN: "[f5,b5] [eb5,c6] [f5,b5] [eb5,c6]", AO: "~@2 c6 bb5, ~ eb6", AP: "eb6@15 ~",
  AQ: "d6 [g5,db6]", AR: "[ab5@8 c5@23 ~, c6@15 ~]/2", AS: "[c5,c6] ~ [eb5,eb6] ~", AT: "[c5,c6] ~ [d5,d6] ~",
  AU: "[eb4,g5] ~@3", AV: "~@7 [d5,a5]", AW: "[d5,bb5] ~@3", AX: "bb4@2 ~ [eb5,eb6] [d5,d6]@2 ~ [a4,a5]",
  AY: "[g4,g5]@2 ~ [c5,c6] [bb4,bb5]@2 ~ [f4,f5]", AZ: "[eb4,eb5]@2 ~ [a4,a5] [g4,g5]@2 ~ [bb5,g6]",
  BA: "[bb5,g6]@2 ~ [bb5,g6] [a5,gb6]@2 ~ [a5,gb6]", BB: "[[bb5,g6]@17 ~@2 [bb5,g6] [bb5,g6]@2 ~ [bb5,g6]]/3",
  BC: "[bb5,g6]@2 ~ [bb5,g6] [bb5,g6]@2 ~ [bb5,g6]", BD: "[bb5,g6] ~@3", BE: "~@3 db6 c6@2 ~ g5", BF: "ab5 ~@3",
  BG: "e5 ~@3", BH: "~@3 f6 eb6@2 ~ bb5", BI: "c6 ~@3", BJ: "~@3 gb6 f6@2 ~ c6", BK: "db6 ~@3",
  BL: "[f5,f6]@2 ~@5 [eb5,eb6]", BM: "[db5,db6]@2 ~@5 [c5,c6]", BN: "[bb4,bb5]@2 ~ [bb5,e6] [bb5,f6]@2 ~ [bb5,f6]",
  BO: "[bb5,g6]@2 ~ [bb5,g6] [bb5,e6]@2 ~ [bb5,e6]", BP: "ab5@2 ~ db6 c6@2 ~ g5", BQ: "f5@2 ~ bb5 ab5@2 ~ eb5",
  BR: "db5@2 ~ g5 f5@2 ~ [ab5,f6]", BS: "[g5,f6]@2 ~ [g5,f6] [g5,e6]@2 ~ [g5,e6]", BT: "[ab5,f6] ~@3",
  BU: "[f5,db6] ~@3", BV: "d6 ~", BW: "[db6,d6] ~", BX: "db6 ~", BY: "~@3 db6", BZ: "c6@11 ~ db6@4",
  CA: "c6@11 ~ eb6@4", CB: "d6@11 ~ eb6@4", CC: "d6 ~@3", CD: "e6@11 ~ f6@4", CE: "e6 d6 b5 g5", CF: "g5 bb5",
  CG: "[a5@19 ~@13]/2", CH: "[a5@15 ~]/2", CI: "a5 c6", CJ: "b5 a5", CK: "g5@11 ~ a5@4", CL: "g5 gb5 eb5 b4",
  CM: "[e5@15 ~ d5@15 ~, g5@15 ~]/2", CN: "[c5,g5] ~@3", CO: "~ f6@2 eb6", CP: "eb6 d6 eb6 c6", CQ: "b5 ~@3",
  CR: "[d5,ab5]@11 ~ [eb5,g5]@4", CS: "[b4,b5] [c5,c6] [b4,b5] [c5,c6]", CT: "[g5,db6]@11 ~ [ab5,c6]@4",
  CU: "[bb5,e6] [ab5,f6] [bb5,e6] [ab5,f6]", CV: "~@2 db6 c6", CW: "db6 b5",
  CX: "[c6 a5 b5 c6 d6 c6, ~@8 f6@15 ~ f6@23 ~]/3", CY: "[b5,f6] ~ [ab5,ab6] ~", CZ: "[f5,f6] ~ [g5,g6] ~",
  DA: "[c5,c6] ~@3", DB: "~@7 [g5,d6]", DC: "[g5,eb6] ~@3", DD: "[eb5,eb6] ~ [d5,d6] ~",
  DE: "[c5,c6]@2 ~ [f5,f6] [eb5,eb6]@2 ~ [bb4,bb5]", DF: "[ab4,ab5] [db5,db6] ~@2", DG: "eb6@11 ~ f6@4",
  DH: "eb6 d6 b5 g5", DI: "g5@15 ~", DJ: "[ab5@15 ~]/2", DK: "[bb5@15 ~]/2", DL: "c6/8", DM: "eb6@3 b5 c6@3 ab5",
  DN: "g5@3 ab5 g5@3 f6", DO: "eb6@2 ~ b5 c6@2 ~ b5", DP: "c6@2 ~ b5 c6@2 ~ b5", DQ: "[c5@15 ~]/2",
  DR: "[eb5,eb6] [d5,b5] ~@2", DS: "[c5,c6] [g5,c6] ~@2", DT: "[ab5,c6] [e5,c6] ~@2", DU: "[f5,c6] ~ [f5,d6] ~",
  DV: "[eb5,eb6] ~@3", DW: "[b4,d5] ~@3", DX: "c5 ~@3",
})).s("gm_pizzicato_strings").gain(0.5)

// chords · oboe
const oboe = note(`<
  ~@2 A ~@3 A ~@3 B ~ C D ~@4 E F ~@5 G@2 ~ H I@2 J@2 K@2 L M N O P@2 Q@2 R S T@4 U ~@9 V W X Y Z ~@3 AA AB AC AD@4 AE
  AF AG AH AI AJ AK AL AM AN AO AN AO AP AQ AP AQ AR@4 AS AT AU@2 AV AW AX AY AZ AY AZ ~@3 BA BB BC BD BE@3 BF BG ~@15
  BH BI BJ ~@3 BK BL BM BN BO@4 BP@3 BQ BR ~ BS ~@3 BT@2 ~@3 BU@2 ~@2 BV BW@3 BX BY@4 AJ ~@5 BZ CA CB CC BZ CA CD CE@5
  CF CG CH CI@5 CJ CK CL CM CN CO CP CQ CR CS CT CU CT CU CV CW CV CW CX@4 CY@4 CZ DA DB DC C DC C ~@3 BP DD DE ~@7 DF
  DG V CC DF DG DH DI DJ DK DL DM DN@8 ~ DO DP DQ DP DQ DR DS DT@2 A ~ DT@2 DU ~ DT@2 DV ~ DW DX DY ~ DZ ~ EA ~ DB ~@18
>`.pickRestart({
  A: "[f5,ab5] ~@3", B: "[eb5,a5] ~@3", C: "[eb5,g5] ~@3", D: "[b4,g5] ~@3", E: "ab5 g5", F: "gb5@3 [b4,g5]",
  G: "[gb5@2 f5@3 [bb4,e5] ~@2]/2", H: "f5 eb5", I: "d5", J: "d5!2", K: "[[c5,f5]@5 eb5 db5 c5]/2",
  L: "[b4,f5] [c5,eb5]", M: "[d5,g5] [eb5,g5]", N: "[e5,g5] [c5,f5]", O: "[e5,g5] [f5,ab5]", P: "[eb5,a5] ~",
  Q: "[d5,ab5] ~", R: "g5", S: "gb5", T: "[bb4,f5]@3 [bb4,gb5]", U: "[bb4,f5] ~@3", V: "g5@3 ab5", W: "g5 f5 d5 bb4",
  X: "bb5 db6", Y: "c6 bb5", Z: "ab5 ~@3", AA: "ab5@3 bb5", AB: "ab5 g5 e5 c5", AC: "c6 eb5", AD: "[d5@15 f5]/4",
  AE: "f5 eb5@2 d5", AF: "d5 c5@2 bb4", AG: "bb4 a4 bb4 g4", AH: "gb4 ~@3", AI: "~@7 gb5", AJ: "g5 ~@3", AK: "~@7 g5",
  AL: "a5@2 ~@5 a5", AM: "bb5@2 ~@5 bb5", AN: "[eb5,gb5]@3 [d5,g5]", AO: "[c5,gb5] [bb4,g5] [c5,gb5] [bb4,g5]",
  AP: "ab5@3 g5", AQ: "b4 c5 b4 c5", AR: "~@2 ab5 g5, ~ eb5", AS: "ab5 gb5, eb5", AT: "[d5,g5] [db5,e5]",
  AU: "[f5 eb5 a5 g5, c5]/2", AV: "[c5,gb5] ~ eb5 ~", AW: "c5 ~ d5 ~", AX: "g4 ~@3", AY: "~@7 [d5,a5]",
  AZ: "[d5,bb5] ~@3", BA: "bb5 ~ a5 ~", BB: "g5 ~ f5 ~", BC: "eb5@2 ~@2 g5@2 ~ [g5,bb5]",
  BD: "[g5,bb5]@2 ~ [g5,bb5] [gb5,a5]@2 ~ [gb5,a5]", BE: "[[bb4,g5]@19 [bb4,g5] [bb4,g5]@2 ~ [bb4,g5]]/3",
  BF: "[bb4,g5]@2 ~ [bb4,g5] [bb4,g5]@2 ~ [bb4,g5]", BG: "[bb4,g5] ~@3", BH: "~@3 ab5 gb5@2 ~ db5",
  BI: "eb5@2 ~ bb5 ab5@2 ~ eb5", BJ: "f5 ~@3", BK: "f5@2 ~@5 eb5", BL: "db5@2 ~@5 c5",
  BM: "bb4@2 ~ [bb4,eb5] [bb4,f5]@2 ~ [bb4,f5]", BN: "[bb4,g5]@2 ~ [bb4,g5] [bb4,e5]@2 ~ [bb4,e5]", BO: "[c5,c6]/4",
  BP: "[c5,c6]@2 ~ [c5,c6] [c5,c6]@2 ~ [c5,c6]", BQ: "[db5,db6]@2 ~ [db5,db6] [c5,c6]@2 ~ [c5,c6]", BR: "[f4,f5] ~@3",
  BS: "[db5,f5] ~@3", BT: "[f5,ab5] ~", BU: "[e5,g5] ~", BV: "~@3 e5", BW: "f5@3 e5", BX: "f5@3 gb5", BY: "g5@3 gb5",
  BZ: "e5@3 f5", CA: "e5 d5 b4 g4", CB: "g5@3 a5", CC: "g5 f5", CD: "[g4,g5] [bb4,bb5]", CE: "[a4,a5]/5", CF: "f5@3 g5",
  CG: "f5 e5 db5 a4", CH: "[a4,a5] [c5,c6]", CI: "[b5, b4 ~@3]/5", CJ: "c6@3 bb5", CK: "bb5 ab5@2 g5",
  CL: "g5 f5@2 eb5", CM: "eb5 d5 eb5 c5", CN: "b4 ~@3", CO: "~@7 d5", CP: "eb5 ~@3", CQ: "~@7 eb5", CR: "f5@2 ~@5 f5",
  CS: "g5@2 ~@5 g5", CT: "[d5,ab5]@3 [eb5,g5]", CU: "[b4,f5] [c5,eb5] [b4,f5] [c5,eb5]", CV: "[g4,e5]@3 [ab4,f5]",
  CW: "[bb4,e5] [ab4,f5] [bb4,e5] [ab4,f5]", CX: "~ ab5", CY: "[ab5 g5@2 f5@5]/4", CZ: "f5 ~ ab5 ~", DA: "f5 ~ g5 ~",
  DB: "c5 ~@3", DC: "~@7 [d5,g5]", DD: "[c5,c6]@2 ~ [c5,c6] [c5,c6]@2 ~ [bb4,d6]", DE: "[ab4,ab5] ~@3", DF: "eb5@3 f5",
  DG: "eb5 d5 b4 g4", DH: "c5", DI: "[c5,eb5]", DJ: "[db5,f5]", DK: "[d5,f5]", DL: "[eb5,g5]", DM: "[e5,g5]",
  DN: "[c5,c6]/8", DO: "[d5,d6]", DP: "eb5@3 b4 c5@3 ab4", DQ: "g4@3 ab4 g4@3 f5",
  DR: "eb5@2 ~ [d5,b5] [eb5,c6]@2 ~ [b4,d5]", DS: "[c5,eb5]@2 ~ [d5,g5] [eb5,g5]@2 ~ [d5,g5]", DT: "[c4,c5]/2",
  DU: "[d5,b5] ~@3", DV: "[eb5,c6] [d5,b5] ~@2", DW: "[c5,c6] [c5,g5] ~@2", DX: "[c5,ab5] [c5,e5] ~@2",
  DY: "[c5,f5] ~ [d5,f5] ~", DZ: "[c5,eb5] ~@3", EA: "[b4,d5] ~@3",
})).s("gm_oboe").gain(0.5)

// other · acoustic bass · "Klarinette in B"
const acoustic_bass = note(`<
  ~@2 A ~@3 B ~@3 C ~ C B ~@4 D E ~@13 F@2 G H I J K@2 L@2 M N O@4 P ~@5 Q R S T Q R U V@5 W X Y Z@2 ~@11 AA AB AA AB AC
  AD AC AD AE@4 AF AG AH@2 AI AJ AK AL AM AL AM ~@3 AN AO AP AQ AR@2 AS AT AM ~@3 AU AV AU AW ~@3 AX AY ~@2 AZ BA ~@5 BB
  BC BD BE ~@4 BF BG BH BI BJ ~ BK ~@3 BL@2 ~@3 BM@2 ~@2 BN BO@3 BP BQ@4 BR ~@9 BS BT BU BV@2 ~@5 BW BX@5 BY BZ ~ CA CB
  CC AY CD CE CF CG CH CG CH CI CJ CI CJ CK@4 CL@4 CM CN CO CP CQ CP CQ ~@3 CR CS CT ~@11 CU CV CW CX@2 CY@2 CZ@6 DA
  DB@2 DC DD DE DF DE DF DG DH DI@2 A ~ DI@2 B ~ DI@2 DJ ~ DK DL DM ~ DN ~ DO ~ CO ~@18
>`.pickRestart({
  A: "[ab4,c5] ~@3", B: "[b4,d5] ~@3", C: "[c5,eb5] ~@3", D: "ab4 g4", E: "gb4@3 [b3,g4]",
  F: "[[f4,c5]@5 eb4 [f4,ab4] [eb4,g4]]/2", G: "[g4,g5]!2", H: "[d5,f5] [g4,c5]", I: "[g4,c5] [f4,ab4]",
  J: "[g4,bb4] [ab4,c5]", K: "[c5,eb5] ~", L: "[b4,d5] ~", M: "[bb4,db5]", N: "[a4,c5]", O: "[f4,bb4]@3 [gb4,bb4]",
  P: "[f4,bb4] ~@3", Q: "g5@3 ab5", R: "g5 f5 d5 bb4", S: "bb5@3 c6", T: "bb5 ab5", U: "[bb4,bb5] [db4,db5]",
  V: "[c4,c5]/5", W: "ab4@3 bb4", X: "ab4 g4 e4 c4", Y: "c5 [eb4,eb5]", Z: "[[d4,d5]@5 ~@3]/2",
  AA: "[eb4,eb5]@3 [d4,d5]", AB: "c5 bb4 c5 bb4", AC: "ab4@3 g4", AD: "f4 eb4 f4 eb4",
  AE: "~@3 [eb4,ab4] [eb4,ab4]@2 [g4,bb4]@2", AF: "ab4 [gb4,a4]", AG: "[g4,d5] [e4,g4]", AH: "[f4 eb4 a4 g4, c5]/2",
  AI: "[gb4,c5] ~ [eb4,eb5] ~", AJ: "[c4,c5] ~ [d4,d5] ~", AK: "[g3,g4] ~@3", AL: "~@7 [a4,d5]", AM: "[bb4,d5] ~@3",
  AN: "bb4 ~ a4 ~", AO: "g4 ~ f4 ~", AP: "eb4@2 ~@2 g4@2 ~ [g4,bb4]", AQ: "[g4,bb4]@2 ~ [d4,d5] [d4,d5]@2 ~ [d4,d5]",
  AR: "[bb4,d5]/2", AS: "[bb4,d5]@3 [bb4,d5] [bb4,d5]@2 ~ [bb4,d5]", AT: "[bb4,d5]@2 ~ [bb4,d5] [bb4,d5]@2 ~ [bb4,d5]",
  AU: "~@3 db5 c5@2 ~ g4", AV: "ab4 ~@3", AW: "e4 ~@3", AX: "~@3 f5 eb5@2 ~ bb4", AY: "c5 ~@3", AZ: "~@3 gb5 f5@2 ~ c5",
  BA: "db5 ~@3", BB: "f4@2 ~@5 eb4", BC: "db4@2 ~@5 c4", BD: "bb3@2 ~ [e4,bb4] [f4,bb4]@2 ~ [f4,bb4]",
  BE: "[g4,bb4]@2 ~ [g4,bb4] [g4,bb4]@2 ~ [g4,bb4]", BF: "ab4@2 ~ db5 c5@2 ~ g4", BG: "f4@2 ~ bb4 ab4@2 ~ eb4",
  BH: "db4@2 ~ g4 f4@2 ~ [f4,ab4]", BI: "[f4,g4]@2 ~ [f4,g4] [e4,g4]@2 ~ [e4,g4]", BJ: "f4 ~@3", BK: "[bb4,db5] ~@3",
  BL: "[f4,d5] ~", BM: "[e4,g4] ~", BN: "~@3 [db4,db5]", BO: "[c4,c5]@3 [db4,db5]", BP: "[c4,c5]@3 [eb4,eb5]",
  BQ: "[d4,d5]@3 [eb4,eb5]", BR: "[d4,d5] ~@3", BS: "[e4,e5]@3 [f4,f5]", BT: "[e4,e5] [d4,d5] [b3,b4] [g3,g4]",
  BU: "g4 bb4", BV: "[a4@5 ~@3]/2", BW: "a4 c5", BX: "b4/5", BY: "c5@3 bb4", BZ: "bb4 ab4@2 g4", CA: "~@3 c5",
  CB: "b4 ~@3", CC: "~@7 b4", CD: "~@7 c5", CE: "d5@2 ~@5 d5", CF: "eb5@2 ~@5 eb5", CG: "[d4,b4]@3 [eb4,c5]",
  CH: "[f4,b4] [eb4,c5] [f4,b4] [eb4,c5]", CI: "[db4,db5]@3 [c4,c5]", CJ: "[bb3,bb4] [ab3,ab4] [bb3,bb4] [ab3,ab4]",
  CK: "~@2 db5 c5", CL: "[[ab4,db5] b4 c5 a4 b4 c5 d5 [f4,c5], ~ g4@2 f4@2 ab4@2 ~]/4", CM: "[f4,b4] ~ ab4 ~",
  CN: "f4 ~ g4 ~", CO: "c4 ~@3", CP: "~@7 [d4,g4]", CQ: "[eb4,g4] ~@3",
  CR: "[eb4,eb5]@2 ~ [ab4,ab5] [g4,g5]@2 ~ [d4,d5]", CS: "[c4,c5]@2 ~ [f4,f5] [eb4,eb5]@2 ~ [bb3,bb4]",
  CT: "[ab3,ab4] ~@3", CU: "eb5@3 f5", CV: "eb5 d5 b4 g4", CW: "g4", CX: "ab4/2", CY: "bb4/2",
  CZ: "[g4@8 c4@35 [d4,d5] [eb4,eb5]@3 [d4,d5], c5@43 ~@5]/6", DA: "~@3 [d4,d5] [eb4,d5]@3 [d4,d5]",
  DB: "~@3 [e4,e5] [f4,f5]@3 [e4,e5]", DC: "~@3 [e4,e5] [g4,g5]@3 [f4,f5]", DD: "~@3 [f4,f5] [ab4,ab5]@3 [g4,g5]",
  DE: "eb5@3 b4 c5@3 ab4", DF: "g4@3 ab4 g4@3 f5", DG: "eb5@2 ~ [b4,d5] [c5,eb5]@2 ~ [d4,b4]",
  DH: "[eb4,c5]@2 ~ [d4,b4] [eb4,c5]@2 ~ [d4,b4]", DI: "[c4,c5]/2", DJ: "[c5,eb5] [b4,d5] ~@2",
  DK: "[g4,c5] [bb4,c5] ~@2", DL: "[ab4,c5] [bb4,c5] ~@2", DM: "[ab4,c5] ~ [g4,d5] ~", DN: "g4 ~@3", DO: "[f4,g4] ~@3",
})).s("gm_lead_8_bass_lead").gain(0.5)

// other · tremolo strings · "Fagott"
const tremolo_strings = note(`<
  ~@2 A ~@3 A ~@3 B ~ C D ~@5 E ~@5 F@2 ~ G H@2 I@2 J@2 K L M N O@2 P@2 Q R S@4 T ~@9 U V W X@7 Y Z@4 AA AB AC AD AE
  AF@2 AG AH AI AJ AI AJ AK AL AK AL AM@4 AN AO AP@2 AQ AR AS AT AS AT AU AV AW AX AY AZ BA BB BC@2 BD BE AS AT AS BF BG
  BH BG BI BF BJ BF BK BL AS BM BN BO BP BQ BR BS BT BU BV BW BX BY@4 BZ BU CA CB CC@2 CD ~ CC@2 CE@2 ~@3 CF@2 ~@2 CG
  CH@3 CI CJ@4 CK ~ CL@8 CM CN CO CP@7 CQ CR@5 CS CT CU CV CW CX CY@2 CZ DA DB AL DB AL DC DD DC DD DE@4 DF DG DH DI DJ
  DK DL DM DL DM AW DN DO DP DQ DR DS ~@7 DT DU U DV DT DU ~ DW DX DY DZ EA EB EC EB EC ED EE EF@2 EG EH EI EJ EI EJ
  EK@2 EL@2 EM ~ EL@2 EM ~ EL@2 EN ~ EO EP EQ ~ ER ~ ES ~ ER ET@8 ~@5 ER ~@4
>`.pickRestart({
  A: "[f3,ab3] ~@3", B: "[gb3,a3] ~@3", C: "[g3,c4] ~@3", D: "[g3,b3] ~@3", E: "~@3 [g2,g3]",
  F: "[gb4@2 f4@3 [g3,e4] ~@2]/2", G: "f4 eb4", H: "d4", I: "d4!2", J: "[[ab3,c4]@5 [g3,bb3] [f3,ab3] [eb3,g3]]/2",
  K: "[d3,f3] [c3,eb3]", L: "[b2,b3] [c3,c4]", M: "[bb2,bb3] [ab2,ab3]", N: "[g2,g3] [f2,f3]", O: "[gb2,gb3] ~",
  P: "[f2,f3] ~", Q: "[e2,e3]", R: "[eb2,eb3]", S: "[d2,d3]@3 [eb2,eb3]", T: "[d2,d3] ~@3", U: "g4@3 ab4",
  V: "g4 f4 d4 bb3", W: "[g3,bb3] [f3,ab3]", X: "[[e3,g3] [c3,c4]@13]/7", Y: "[c3,c4] [g3,bb3]",
  Z: "[[gb3,a3]@4 d3@4 g2@2 ~@5 g2 c3@2 ~@5 c3 ~@6 f4@2, ~@2 d4@13 ~, ~@3 b2]/4", AA: "[c3,f4] eb4@2 d4",
  AB: "d4 c4@2 bb3", AC: "bb3 a3 bb3 g3", AD: "gb3@2 ~ [gb3,a3] [gb3,a3]@3 [gb3,a3]",
  AE: "~@3 [gb3,a3] [gb3,a3]@3 [gb3,a3]", AF: "~@3 [g3,bb3] [g3,bb3]@3 [g3,bb3]", AG: "~@3 [a3,c4] [a3,c4]@3 [a3,c4]",
  AH: "~@3 [bb3,d4] [bb3,d4]@3 [bb3,d4]", AI: "[c4,eb4]@3 [bb3,d4]", AJ: "[a3,c4] [g3,bb3] [a3,c4] [g3,bb3]",
  AK: "[b3,d4]@3 [c4,eb4]", AL: "[d3,d4] [c3,c4] [d3,d4] [c3,c4]", AM: "~@3 c4 c4@2 db4@2", AN: "[c4,eb4]",
  AO: "[b3,d4] [bb3,db4]", AP: "[ab3 g3 gb3 eb3, c4]/2", AQ: "[d3,d4] ~ [eb3,eb4] ~", AR: "[c3,c4] ~ [d3,d4] ~",
  AS: "g3", AT: "gb3", AU: "g3 f3", AV: "eb3 d3", AW: "c3 bb2", AX: "a2 d3", AY: "g3 bb3 d4 eb4 f3 a3 db4 d4",
  AZ: "eb3 g3 b3 c4 d3 f3 a3 bb3", BA: "c3 eb3 g3 a3 db3 e3 g3 bb3", BB: "d3 g3 bb3 d4 d3 gb3 a3 d4",
  BC: "[g2,g3]@7 [g2,g3]", BD: "[g2,g3]@3 [g2,g3] [g2,g3]@2 ~ [g2,g3]", BE: "[g2,g3]@2 ~ [g2,g3] [g2,g3]@2 ~ [g2,g3]",
  BF: "f3", BG: "~@3 db4 c4@2 ~ g3, e3", BH: "f3, ab3 ~@3", BI: "c3, e3 ~@3", BJ: "e3", BK: "~@3 f4 eb4@2 ~ bb3, g3",
  BL: "ab3, c4 ~@3", BM: "ab3", BN: "~@3 gb4 f4@2 ~ c4, a3", BO: "bb3, db4 ~@3", BP: "c4", BQ: "db4 c4", BR: "bb3 ab3",
  BS: "gb3 f3", BT: "eb3 ab2", BU: "db3 f3 a3 bb3 c3 eb3 g3 ab3", BV: "bb2 db3 f3 gb3 ab2 c3 e3 f3",
  BW: "g2 bb2 c3 db3 f2 bb2 c3 db3", BX: "e2 g2 bb2 db3 c3 e3 g3 c4", BY: "[c4, f3 ~@15]/4",
  BZ: "f3 ab3 c4 db4 eb3 g3 b3 c4", CA: "bb2 db3 e3 g3 ab2 c3 e3 f3", CB: "bb2 db3 f3 g3 c3 e3 g3 c4", CC: "f3/2",
  CD: "[bb2,db4] ~@3", CE: "[b2,b3] ~", CF: "[bb2,bb3] ~", CG: "~@3 [bb2,e3]", CH: "[ab2,f3]@3 [bb2,e3]",
  CI: "[ab2,f3]@3 [c3,gb3]", CJ: "[b2,g3]@3 [c3,gb3]", CK: "[b2,g3] ~@3",
  CL: "[~@16 e4@3 f4 e4 d4 b3 g3 g4@3 a4 g4@2 f4@2, g2]/8", CM: "e4@3 f4", CN: "e4 d4 b3 g3", CO: "[e3,g3] [d3,f3]",
  CP: "[[db3,e3]@2 a3@18 f4@3 g4 g4 e4 db4 a3, ~ a2@13]/7", CQ: "[f3,a3] [e3,g3]",
  CR: "[[eb3,gb3] b2@3 a2@2 g2@2 f2@2, ~ b3@9]/5", CS: "c4@3 bb3, eb2 ~@3", CT: "bb3 ab3@2 g3", CU: "g4 f4@2 eb4",
  CV: "eb4 d4 eb4 c4", CW: "b3@2 ~ [b3,d4] [b3,d4]@3 [b3,d4]", CX: "~@3 [b3,d4] [b3,d4]@3 [b3,d4]",
  CY: "~@3 [c4,eb4] [c4,eb4]@3 [c4,eb4]", CZ: "~@3 [d4,f4] [d4,f4]@3 [d4,f4]", DA: "~@3 [eb4,g4] [eb4,g4]@3 [eb4,g4]",
  DB: "[f3,f4]@3 [eb3,eb4]", DC: "[bb2,bb3]@3 [ab2,ab3]", DD: "[g2,g3] [f2,f3] [g2,g3] [f2,f3]",
  DE: "f2@2 ~ db4 db4@2 eb4@2", DF: "[f3,db4] [f3,b3]", DG: "[e3,c4] [eb3,a3]", DH: "[d3,b3] [c3,c4]",
  DI: "[b3,d4] [ab3,c4]", DJ: "g3 ~ ab3 ~", DK: "f3 ~ g3 ~", DL: "c3", DM: "b2", DN: "ab2 g2", DO: "f2 eb3",
  DP: "d3 g2", DQ: "c3 eb3 g3 ab3 bb2 d3 gb3 g3", DR: "ab2 c3 e3 f3 g2 bb2 d3 eb3", DS: "f3 ~@3", DT: "eb4@3 f4",
  DU: "eb4 d4 b3 g3", DV: "g4 f4", DW: "[gb3,c4]", DX: "[f3,db4]", DY: "[ab3,d4]", DZ: "[g3,eb4]", EA: "[bb3,e4]",
  EB: "ab3@3 ab3 g3@3 g3", EC: "f3@3 f3 eb3@3 eb3", ED: "f3@3 [f3,ab3] [f3,ab3]@4", EE: "~@3 [f3,ab3] [f3,ab3]@4",
  EF: "~@3 [g3,bb3] [g3,bb3]@4", EG: "~@3 [ab3,c4] [ab3,c4]@4", EH: "~@3 [b3,d4] [b3,d4]@4",
  EI: "c3 b2 c3 d3 eb3 d3 eb3 c3", EJ: "b2 c3 d3 c3 b2 c3 b2 g2", EK: "c3 b2 c3 g2 c3 b2 c3 g2", EL: "c3/2",
  EM: "[f2,f3] ~@3", EN: "[c4,eb4] [b3,d4] ~@2", EO: "[eb3,g3] [e3,g3] ~@2", EP: "[f3,ab3] [g3,bb3] ~@2",
  EQ: "[ab3,c4] ~ [b3,d4] ~", ER: "c3 ~@3", ES: "g2 ~@3", ET: "[~@3 g2@29]/8",
})).s("gm_tremolo_strings").gain(0.5)

// other · french horn · "Hohes C Horn"
const french_horn = note(`<
  ~@2 A ~@3 A ~@3 B ~ C@2 ~@5 D ~@6 E ~@2 F@2 G@2 H@2 I J K L M@2 ~@2 N O P@4 Q ~ R@8 ~@2 S N ~@20 T U T U V W V W X@4 Y
  Z AA@2 ~@4 C ~ C ~@3 AB@2 AC AD AE@3 AF AG ~@21 AH AI AJ AK A ~@3 AL AM AN AO AH ~ AP ~@3 AQ@2 ~@3 AR@2 ~@3 AS@4 AT@4
  AU ~ AV@8 ~@2 AW ~@17 AX@6 V AY V AY AZ BA AZ BA BB@4 BC@4 BD BE ~ BF C BF C ~@3 BG AM AH ~ BH@8 ~@5 BI BJ@2 N@2 AH
  ~@3 BJ@2 N@2 BK N BL@4 BM AB ~@2 AH ~@3 A ~@5 BN BO ~@25
>`.pickRestart({
  A: "[f5,ab5] ~@3", B: "eb5 ~@3", C: "[g4,g5] ~@3", D: "~@3 [g4,g5]", E: "~ [bb4,bb5] ~@2", F: "~ ab5 ab5@4 g5@2",
  G: "ab5@3 g5 ab5@3 g5", H: "[ab5@4 ab5 g5 [f5,ab5] [eb5,g5], f5@5 ~@3]/2", I: "[f5,g5] [eb5,g5]", J: "[g4,g5]!2",
  K: "g5 f5", L: "[g4,bb5] [f5,ab5]", M: "eb5 ~", N: "g5", O: "[eb4,eb5]", P: "[bb3,bb4]@3 [bb3,bb4]",
  Q: "[bb3,bb4] ~@3", R: "[bb3,bb4]/8", S: "[bb3,bb4] f5", T: "eb5@3 [g4,g5]", U: "~ [g4,g5] ~ [g4,g5]",
  V: "[f5,ab5]@3 [eb5,g5]", W: "[f5,g5] [eb5,g5] [f5,g5] [eb5,g5]", X: "~@3 eb5 eb5@4", Y: "eb5 ~ eb5 ~",
  Z: "[g4,g5] ~ [g4,g5] ~", AA: "~@2 [eb5,g5] ~", AB: "[g4,g5]@2 ~ [g4,g5] [g4,g5]@2 ~ [g4,g5]",
  AC: "g5@2 ~ g5 [g5,bb5]@2 ~ [g5,bb5]", AD: "[g5,bb5]@2 ~ [g5,bb5] ~@4",
  AE: "[bb5@16 bb5@3 [g5,bb5] [g5,bb5]@2 ~ [g5,bb5], g5@19 ~@5]/3", AF: "g5@3 [g5,bb5] [g5,bb5]@2 ~ [g5,bb5], bb5 ~@3",
  AG: "[g5,bb5] ~@3", AH: "f5 ~@3", AI: "[bb4,bb5] ~@3", AJ: "[bb4,bb5]@2 ~ [bb4,bb5] [bb4,bb5]@2 ~ [bb4,bb5]",
  AK: "[bb4,bb5]@2 ~ [bb4,bb5] [g5,bb5]@2 ~ [g5,bb5]", AL: "[f5,ab5] ~ [eb5,g5] ~", AM: "f5 ~ eb5 ~",
  AN: "[bb4,bb5] ~ [f5,ab5] ~", AO: "[f5,g5] ~ g5 ~", AP: "[bb4,f5] ~@3", AQ: "[f5,ab5] ~", AR: "g5 ~", AS: "f5@3 ~",
  AT: "g5@3 ~", AU: "g5 ~@3", AV: "g4/8", AW: "[g4,g5] f5", AX: "~@3 g4 g4@3 g4", AY: "f5 [eb5,g5] f5 [eb5,g5]",
  AZ: "[bb4,bb5]@3 [f5,ab5]", BA: "[bb4,bb5] [f5,ab5] [bb4,bb5] [f5,ab5]", BB: "~@3 [f5,ab5] f5@2 gb5@2, ~ ab5",
  BC: "[[f5,ab5] g5@2 f5@5, ~ f5 ~@6]/4", BD: "f5 ~ ab5 ~", BE: "f5 ~ g5 ~", BF: "~@7 [g4,g5]", BG: "eb5 ~ g5 ~",
  BH: "[g4,g5]/8", BI: "eb5", BJ: "f5", BK: "ab5", BL: "g5@3 g5 g5@3 g5", BM: "g5@2 ~ [g4,g5] [g4,g5]@2 ~ [g4,g5]",
  BN: "g5!2 ~@2", BO: "f5 g5 ~@2",
})).s("gm_french_horn").gain(0.5)

// other · trumpet · "Trompete in B"
// … 233 more lines

More by Ludwig van Beethoven