Strudelify

Symphony No.5 Op.67

L. van Beethoven

KeyE♭ majorTempo184 bpm
0:00/0:00
// Symphony No.5 Op.67 — L. van Beethoven
// 184 bpm, 2/4, key Eb 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 (2/4 at bar 1, 4/4 at bar 425, 2/4 at bar 427) are rendered on a constant 2/4 grid of one bar per cycle
// note: ch 2 "Oboe" named as a reed, played on oboe (its acoustic bass patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/6320597; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 628 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(184/2)

// 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 · tremolo strings · "Flöte"
const tremolo_strings = note(`<
  ~@17 A B C D E F@2 ~@14 C@4 G H@4 I@4 H@4 J ~ K ~@32 L M N O@2 P Q R B R S T@2 U V W X W V Y Z AA AB@2 Z AA AC@2 AD K
  AE AF ~@19 A B C D E F@2 ~@14 C@4 G H@4 I@4 H@4 J ~ K ~@32 L M N O@2 P Q R B R S T@2 U V W X W V Y Z AA AB@2 Z AA AC@2
  AD K AE AF ~@45 AG@2 AH AI AJ@2 AK AL S AM AN AO ~@6 AP AQ ~@6 AR AS AT AU ~@2 AT AU ~@2 AT AV ~@2 AW AX ~ AY ~ AZ ~
  AZ ~@12 BA BB BC BD@2 ~@8 BE BF@4 BG@2 BH BI BJ BK@2 ~@15 BL ~@14 C@4 G H@4 I@4 BM@4 BN ~@2 BO ~@43 BP@2 BQ D BR BS BQ
  BT BU@2 BV BW BX BY BZ CA CB CC CD CE@2 CC CD CF CG CH CG CI CJ CK@6 CL CM@4 CN ~@3 CO H@4 B CP CQ ~@3 CR@2 ~@2 CR@2
  ~@2 L CS CT CU CV CW CX CY@2 CZ DA DB DC DD DE@2 DF@2 DG@2 DF@2 DH DI DJ DK DL@2 DM@2 DN DO DP ~@2 DQ DR ~@2 DS DT ~@2
  DS DU DV DW ~ DW DX BX CA ~@3 DW ~ DX DY CA C DZ EA@4 EB EC ED@2 BI EE EF@2 ~@8 EG B EG B EG EH EI@3 EJ EK EL@2
>`.pickRestart({
  A: "~@3 [d6,f6]", B: "[c6,eb6] ~", C: "c6 ~", D: "[b5,g6] ~", E: "~ ab5!3", F: "[f5@15 ~]/2", G: "[b5,d6] ~",
  H: "[[c6,eb6]@61 ~@3]/4", I: "[[d6,f6]@53 ~@3 [c6,eb6]@8]/4", J: "[a5,gb6] ~", K: "bb5 ~", L: "eb6 f6", M: "gb6 f6",
  N: "gb6!2", O: "[[bb5,f6]@23 ~ [bb5,f6]@8]/2", P: "[bb5,g6] ~", Q: "[bb5,f6] ~", R: "[bb5,eb6] ~", S: "[bb5,d6] ~",
  T: "[[bb5,f6]@15 ~]/2", U: "[bb4,g5]!2", V: "~ [bb5,d6]", W: "~ [bb5,eb6]", X: "~ [ab5,eb6]", Y: "[bb5,eb6] g6!3",
  Z: "eb6 bb5!3", AA: "g5 eb5!3", AB: "[bb4@19 ~ g6@4 g6@4 g6@4]/2", AC: "[bb4@23 ~@9]/2", AD: "~ bb5!3",
  AE: "~ [f5,d6]!3", AF: "[g5,eb6] ~", AG: "[[a5,eb6]@15 ~]/2", AH: "[a5,eb6] ~", AI: "~ [g5,e6]!3",
  AJ: "[[g5,e6]@15 ~]/2", AK: "[g5,e6] ~", AL: "~ [bb5,d6]!3", AM: "~@2 [db5,db6]!2", AN: "[db5,db6]@2 [d5,d6]!2",
  AO: "[d5,d6] ~", AP: "~@2 d6!2", AQ: "[d6,g6] ~", AR: "~@2 [b5,d6]!2", AS: "[c6,e6] c6!3", AT: "f5@15 ~",
  AU: "g5@15 ~", AV: "gb5@15 ~", AW: "a5@15 ~", AX: "bb5@15 ~", AY: "b5@15 ~", AZ: "db6@15 ~", BA: "~ d6!3",
  BB: "[b5,d6]@15 ~", BC: "[c6,d6]@15 ~", BD: "[[a5,d6]@15 ~]/2", BE: "~ [ab5,ab6]!3",
  BF: "[[f5,f6]@19 ~ [ab5,ab6]@4 [ab5,ab6]@4 [ab5,ab6]@4]/2", BG: "[f5,f6] [ab5,ab6]!3", BH: "[f5,f6] [g5,g6]!3",
  BI: "[eb6,g6]@15 ~", BJ: "~ [f6,g6]!3", BK: "[[d6,g6]@15 ~]/2", BL: "[g4,b4] ~", BM: "[[c5,gb5]@61 ~@3]/4",
  BN: "[c5,gb5] ~", BO: "[g4,g5] ~", BP: "[[f6,g6]@23 ~ [f6,g6]@8]/2", BQ: "[e6,g6] ~", BR: "[c6,g6] ~",
  BS: "[c6,a6] ~", BT: "g6 gb6 g6 gb6, b5 ~", BU: "[[f6,g6]@15 ~]/2", BV: "[e6,g6]!2", BW: "~ [b5,g6]", BX: "~ [c6,g6]",
  BY: "~ [d6,f6]", BZ: "~ [e6,g6]", CA: "~ [d6,g6]", CB: "c6 e6!3", CC: "c6 g5!3", CD: "e5 c5!3",
  CE: "[g4@19 ~ e6@4 e6@4 e6@4]/2", CF: "g4 [d5,g5]!3", CG: "[e5,g5] ~", CH: "~ [d5,g5]!3", CI: "~ [d5,b5]!3",
  CJ: "[e5,c6] [c5,c6]!3", CK: "[[c5,c6]@19 ~ [c5,c6]@4 [c5,c6]@4 [c5,c6]@4]/2", CL: "[c5,c6]@15 ~",
  CM: "[[ab5,db6]@61 ~@3]/4", CN: "[ab5,db6] ~", CO: "~ [c6,eb6]!3", CP: "~ c6!3", CQ: "eb6 ~", CR: "[[b5,f6]@15 ~]/2",
  CS: "d6 eb6", CT: "c6 d6", CU: "bb5 c6", CV: "ab5 bb5", CW: "g5 ab5", CX: "f5 g5", CY: "g5!2", CZ: "g5 c6",
  DA: "c6!2", DB: "c6 [b5,f6]", DC: "[c6,f6] [b5,f6]", DD: "[c6,f6] [d6,f6]", DE: "[[c6,eb6]@15 ~]/2",
  DF: "[[c6,f6]@15 ~]/2", DG: "[[c6,g6]@15 ~]/2", DH: "[d6,f6]@15 ~", DI: "[d6,g6]@15 ~", DJ: "[eb6,g6] ~@3",
  DK: "[eb6,ab6] ~@3", DL: "[d6,ab6] ~@3", DM: "[d6,g6] ~@3", DN: "c6@15 ~", DO: "d6 ~ eb6 ~", DP: "f6 d6",
  DQ: "[f5,f6] ~ [g5,g6] ~", DR: "[ab5,ab6] [f5,f6]", DS: "[a5,c6] ~ [b5,d6] ~", DT: "[c6,eb6] [g5,c6]",
  DU: "[c6,eb6] [bb5,d6]", DV: "[a5,c6] [g5,bb5]", DW: "[f5,ab5] [eb5,g5]", DX: "[f6,ab6] [eb6,g6]", DY: "~ [eb6,g6]",
  DZ: "~ [d6,g6]!3", EA: "[d6@3 eb6 f6 d6 eb6 f6, g6]/4", EB: "[eb6,g6] ~", EC: "~ [g5,g6]!3", ED: "[g5,g6]!4",
  EE: "~ [f5,g5]!3", EF: "[[d5,g5]@15 ~]/2", EG: "~ [b5,d6]!3", EH: "[c6,eb6] [d6,g6]", EI: "[eb6,g6] [d6,g6]",
  EJ: "[eb6,g6]@11 ~@5", EK: "~@7 [g5,b5]@9", EL: "[~@13 [g5,c6]@11 ~@8]/2",
})).s("gm_tremolo_strings").gain(0.4)

// other · tremolo strings · "Flöte" · soft notes
const tremolo_strings_soft = note(`<
  ~@17 A ~@52 B C D E ~@67 A ~@52 B C D E ~@78 F G H G I J@2 K L K M N O N P ~@49 Q ~ Q ~ R ~ R ~ R ~ R ~@5 R ~ R ~ R ~
  R ~@20 S@2 T ~@4 U ~@44 V W X Y ~@4 V W X Y ~@2 Z AA ~@2 AB AC ~@7 AD AE AF AE AF AE@3 ~@158
>`.pickRestart({
  A: "~ [d6,g6]!2 ~", B: "bb5 eb6", C: "d6 eb6", D: "f6 c6", E: "c6 bb5", F: "~ d6!2 c6", G: "bb5@15 ~",
  H: "a5 d6!2 c6", I: "a5@15 ~", J: "[bb5@19 ~ g5@4 a5@4 bb5@4]/2", K: "c6 ~", L: "~ gb5 a5 bb5", M: "~ a5 bb5 c6",
  N: "d6 ~", O: "~ g5 bb5 c6", P: "~ bb5 c6 d6", Q: "db6@15 ~", R: "d6@15 ~", S: "[f4@15 ~]/2", T: "eb4 ~",
  U: "[gb4,c5]@15 ~", V: "g5 c6", W: "b5 c6", X: "d6 a5", Y: "a5 g5", Z: "bb5 c6", AA: "bb5 a5", AB: "c6 d6",
  AC: "c6 b5", AD: "ab6 g6", AE: "gb6 g6", AF: "a6 g6",
})).s("gm_tremolo_strings").gain(0.2)

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

// chords · oboe · soft notes
const oboe_soft = note(`<
  ~@17 A ~@13 B C ~@2 D@2 ~@46 E@2 F@2 G@5 H ~@48 A ~@13 B C ~@2 D@2 ~@46 E@2 F@2 G@5 H ~@59 I J K J L M@2 N ~ N ~ O ~ P
  Q ~@49 R ~ R ~ R ~ R ~ R ~ R ~@5 S ~ S ~ S ~ S ~@14 T@4 U@4 V W X Y V X ~@2 Z@3 AA ~ AB@2 ~@35 AC AD AE AC ~@4 AC AD
  AE AC ~@163 AF J ~@2 AF AG ~@12
>`.pickRestart({
  A: "~ [d5,g5]!2 ~", B: "~ f5!3", C: "eb5 ~", D: "[[eb5,g5]@3 ~]/2", E: "c6/2", F: "bb5/2", G: "[a5@9 a5]/5",
  H: "a5!2", I: "~ gb5!2 a5", J: "g5", K: "gb5!3 a5", L: "gb5", M: "[g5@5 ~@3]/2", N: "[c5,gb5] ~", O: "[g4,g5] ~",
  P: "[d5,g5] ~", Q: "~ g5 a5 bb5", R: "a5", S: "ab5", T: "c5/4", U: "d5/4", V: "eb5", W: "d5", X: "c5",
  Y: "b4@2 c5 d5", Z: "[d5,f5]/3", AA: "[c5,eb5] ~", AB: "b5/2", AC: "[c5,e5]", AD: "[d5,f5]", AE: "[b4,f5]",
  AF: "~ ab5", AG: "g5 ~@3",
})).s("gm_oboe").gain(0.2)

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

// chords · tremolo strings · "Klarinette in B" · soft notes
const tremolo_strings_soft_2 = note(`<
  ~@17 A ~@13 B C ~@33 D E F G ~@12 H@3 I@2 J@5 K ~@48 A ~@13 B C ~@33 D E F G ~@12 H@3 I@2 J@5 K ~@36 L M@4 N@3 O@5 ~@3
  P Q P Q R ~@2 S T U T V W@2 X Y X Z AA AB AA AC ~@49 AD ~ AD ~ AE ~ AE ~ AE ~ AE ~@5 AF ~ AF ~ AF ~ AF ~@16 AG@2 AH ~
  AI@2 AJ ~@4 AK ~@7 AL@2 ~@49 AM AN ~@2 AO AP ~@5 AQ AR AQ AS AT AS AT AS@3 ~@41 AU AV ~ AW AX@4 AY AZ BA ~@3 BB@2 ~@2
  BB@2 ~@2 BC E AO AM BD BE BF BG BH BI BJ BK BL BM BN@2 BO@2 BP@2 BQ@2 BR BS BT BU@2 BV@2 BW BX BY BZ ~@2 CA CB ~@2 CC
  CD ~@2 CC CE CF CG ~@28 CH CI CJ@2 CH CI CK@2 ~@12
>`.pickRestart({
  A: "~ [g3,b3] [b3,d4] ~", B: "~ d5!3", C: "c5 ~", D: "bb4 eb5", E: "d5 eb5", F: "f5 c5", G: "c5 bb4", H: "[c5,eb5]/3",
  I: "[bb4,eb5]/2", J: "[[a4,eb5]@9 [a4,eb5]]/5", K: "[a4,eb5]!2", L: "~ db5!3", M: "[c5@13 db5!3]/4", N: "c5/3",
  O: "[ab4@2 g4@2 ab4@2 g4@2 ab4 ~, c5@9 ~]/5", P: "[c5,eb5]", Q: "[b4,d5]", R: "[c5,eb5] ~", S: "~ [gb4,d5]!2 [a4,c5]",
  T: "[g4,bb4]", U: "[gb4,a4] [gb4,d5]!2 [a4,c5]", V: "[gb4,a4]", W: "[[g4,bb4]@5 g4 a4 bb4]/2", X: "[gb4,c5] ~",
  Y: "~ gb4 a4 bb4", Z: "~ a4 bb4 c5", AA: "[g4,d5] ~", AB: "~ g4 bb4 c5", AC: "~ [g4,bb4] [a4,c5] [bb4,d5]",
  AD: "[a4,db5]", AE: "[a4,d5]", AF: "[ab4,d5]", AG: "[eb4,g4]/2", AH: "[d4,g4] ~", AI: "[d4,g4]/2", AJ: "[eb4,g4] ~",
  AK: "[c4,gb4]", AL: "b4/2", AM: "bb4 c5", AN: "bb4 a4", AO: "c5 d5", AP: "c5 b4", AQ: "[ab4,ab5] [g4,g5]",
  AR: "[f4,f5] [g4,g5]", AS: "[gb4,gb5] [g4,g5]", AT: "[a4,a5] [g4,g5]", AU: "~ f4!3", AV: "ab4 ~", AW: "~ [a4,c5]!3",
  AX: "[a4,c5]/4", AY: "[a4,c5] ~", AZ: "~ [c4,c5]!3", BA: "[eb4,eb5] ~", BB: "[ab5@3 g5, b4]/2", BC: "eb5 f5",
  BD: "ab4 bb4", BE: "g4 ab4", BF: "f4 [eb4,g4]", BG: "[d4,g4] [eb4,g4]", BH: "[f4,g4] [eb4,g4]", BI: "[f4,g4] [g4,c5]",
  BJ: "[ab4,c5] [g4,c5]", BK: "[ab4,c5] [b3,b4]", BL: "[c4,c5] [b3,b4]", BM: "[c4,c5] [d4,d5]", BN: "[eb4,c5]/2",
  BO: "[f4,c5]/2", BP: "[g4,c5]/2", BQ: "[ab4 f4, c5]/2", BR: "[f4,b4]", BS: "[g4,b4]", BT: "[g4,c5] ~@3",
  BU: "[ab4,c5] ~@3", BV: "[c5,d5] ~@3", BW: "[b4,d5] ~@3", BX: "c5", BY: "d5 ~ eb5 ~", BZ: "f5 d5", CA: "f5 ~ g5 ~",
  CB: "ab5 f5", CC: "[a4,c5] ~ [b4,d5] ~", CD: "[c5,eb5] [g4,c5]", CE: "[c5,eb5] [bb4,d5]", CF: "[a4,c5] [g4,bb4]",
  CG: "[f4,ab4] [eb4,g4]", CH: "~ ab4", CI: "g4 eb5", CJ: "[c5@3 ~]/2", CK: "[c5@5 ~@3]/2",
})).s("gm_tremolo_strings").gain(0.2)

// other · bassoon · "Fagott"
const bassoon = note(`<
  ~@17 A B C D E F@2 ~@13 G H I J K L M@4 N@4 O@4 P ~ Q ~@35 R@2 S T U V W X Y@2 Z AA AB AC AD AE AF AG AH AI AJ AG AH
  AK@2 AL AM AN AO ~@19 A B C D E F@2 ~@13 G H I J K L M@4 N@4 O@4 P ~ Q ~@35 R@2 S T U V W X Y@2 Z AA AB AC AD AE AF AG
  AH AI AJ AG AH AK@2 AL AM AN AO ~@3 AP@3 ~@39 AQ@2 AR AS AT@2 AU AV AW AX AY AZ ~@3 BA BB ~ BC BD ~@2 A G ~@3 BE BF BG
  ~@2 BF BG ~@2 BF BG ~@2 BH BI ~ BJ ~ BK ~ BL ~@12 AV BM BN BO@2 ~@7 BP BQ@4 BR@3 BS BT BU BV@2 ~@14 BW BD ~@8 B BX BY
  BZ CA G H I J K L M@4 N@4 CB@4 CC ~@2 CD CE CF CG CH ~@39 CI@2 CJ CK CJ CL CM BD CN@2 CO CP CQ CR CS CT CU CV CW CX@2
  CY CZ DA CJ DB CJ DC DD DE@6 DF DG@4 T ~@70 DH DI DJ DK ~@3 DH ~ DI CS CT L DL DM@2 DN DO CC DP DQ@2 BT BU BV@2 ~@8 DB
  CC DB CC DB DO@4 DR DS DT@2
>`.pickRestart({
  A: "~@2 b3!2", B: "c4 ~", C: "ab2 ~", D: "g2 ~", E: "~ ab2!3", F: "f2/2", G: "b3 ~", H: "[c3,bb3] ~", I: "[c3,ab3] ~",
  J: "[c3,e3] ~", K: "[c3,f3] ~", L: "[c3,c4] ~", M: "[c3,eb3]/4", N: "[[b2,d3]@7 [c3,eb3]]/4", O: "[eb3,a3]/4",
  P: "[eb3,a3] ~", Q: "[d3,f3] ~", R: "[[d3,d4]@3 [d3,f3]]/2", S: "[eb3,g3] ~", T: "[f3,ab3] ~", U: "[g3,bb3] ~",
  V: "[ab3,c4] ~", W: "bb3 ~", X: "bb2 ~", Y: "[[f4,ab4]@3 [bb3,f4]]/2", Z: "[eb4,g4]!2", AA: "~ [bb3,f4]",
  AB: "~ [bb3,eb4]", AC: "~ [ab3,c4]", AD: "~ [g3,bb3]", AE: "~ [bb2,bb3]", AF: "[eb3,eb4] g4!3", AG: "eb4 bb3!3",
  AH: "g3 eb3!3", AI: "bb2", AJ: "bb2 g4!3", AK: "[bb2@3 ~]/2", AL: "~ [bb3,d4]!3", AM: "[bb3,eb4] ~", AN: "~ bb2!3",
  AO: "eb3 ~", AP: "g4/3", AQ: "[gb3,a3]/2", AR: "[gb3,a3] ~", AS: "~ [db3,db4]!3", AT: "[db3,db4]/2",
  AU: "[db3,db4] ~", AV: "~ [d3,d4]!3", AW: "[d3,d4] ~", AX: "~@2 [e3,e4]!2", AY: "[e3,e4]@2 [gb3,gb4]!2",
  AZ: "[gb3,gb4] ~", BA: "~@2 gb4!2", BB: "gb4 ~", BC: "~@2 [d3,d4]!2", BD: "[g2,g3] ~", BE: "~ c4!3", BF: "[ab3,c4]",
  BG: "[bb3,db4]", BH: "[c4,eb4]", BI: "[db4,f4]", BJ: "[eb4,gb4]", BK: "[f4,ab4]", BL: "[gb4,a4]", BM: "[b2,b3]",
  BN: "[c3,c4]", BO: "[a2,a3]/2", BP: "~ [ab2,ab3]!3", BQ: "[[f2,f3]@5 [ab2,ab3]!3]/2", BR: "[f2,f3] [ab2,ab3]!3",
  BS: "[f2,f3] [g2,g3]!3", BT: "[eb2,eb3]", BU: "~ [f2,f3]!3", BV: "[d2,d3]/2", BW: "[ab2,ab3]", BX: "~ [f4,ab4]!3",
  BY: "[f4,ab4] ~", BZ: "~ [eb4,g4]!3", CA: "[eb4,g4] ~", CB: "[c4,eb4]/4", CC: "[c4,eb4] ~", CD: "[b3,d4] ~",
  CE: "~ g4!3", CF: "c4", CG: "d4", CH: "g3", CI: "[[d4,f4]@3 [b3,f4]]/2", CJ: "[c4,e4] ~", CK: "[b3,f4] ~",
  CL: "[f3,f4] ~", CM: "[g3,g4] ~", CN: "[b2,d3]/2", CO: "[c3,e3]!2", CP: "~ [d3,f3]", CQ: "~ [e3,g3]", CR: "~ [f3,a3]",
  CS: "~ [g3,c4]", CT: "~ [g3,b3]", CU: "[g3,c4] [e3,e4]!3", CV: "[c3,c4] [g3,g4]!3", CW: "[eb3,e4] [c3,c4]!3",
  CX: "[[g2,g3]@5 e4!3]/2", CY: "c4 [g3,g4]!3", CZ: "[e3,e4] [c3,c4]!3", DA: "[g2,g3] [b3,d4]!3", DB: "~ [b3,d4]!3",
  DC: "~ [g3,d4]!3", DD: "[c3,c4]!4", DE: "[[c3,c4]@5 [c3,c4]!3]/2", DF: "[c3,c4] [f3,ab3]!3", DG: "[f3,ab3]/4",
  DH: "[f3,ab3] [c3,g3]", DI: "[f3,ab3] [eb3,g3]", DJ: "~ [c4,eb4]", DK: "~ [b3,d4]", DL: "~ [d4,f4]!3",
// … 316 more lines

More by L. van Beethoven