Strudelify

Symphony No.40 in G minor K.550

W. A. Mozart

KeyE♭ majorTempo70 bpm
0:00/0:00
// Symphony No.40 in G minor K.550 — W. A. Mozart
// 70 bpm, 6/8, key Eb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (1/8 at bar 1, 6/8 at bar 2, 5/8 at bar 53, 1/8 at bar 53, ...) are rendered on a constant 6/8 grid of one bar per cycle
// note: ch 1 "Flute" named as a pipe, played on flute (its tremolo strings patch is not one); ch 2 "Oboe" named as a reed, played on oboe (its string ensemble 1 patch is not one); ch 3 "Bassoon" named as a reed, played on bassoon (its acoustic bass patch is not one); ch 4 "Horn in E♭" named as a brass, played on brass section (its tremolo strings patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/1907841; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 247 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(70/3)

// 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 · flute
const flute = note(`<
  ~@17 A B C ~ D E F G H ~@3 I ~@2 I J K L M ~@7 N@2 O P Q ~ R S T ~@16 A B C ~ D E F G H ~@3 I ~@2 I J K L M ~@7 N@2 O
  P Q ~ R S T ~ U V ~ W X Y Z AA AB AC AD AE AF AG AH ~@2 AI ~ AJ ~@13 AK AL AM AN AO AP AQ ~@2 AR ~@5 AS AT AU AV AW AX
  ~@4 AY AZ BA ~ BB BC BD AX ~ BE BF BG ~ U V ~ W X Y Z AA AB AC AD AE AF AG AH ~@2 AI ~ AJ ~@13 AK AL AM AN AO AP AQ
  ~@2 AR ~@5 AS AT AU AV AW AX ~@4 AY AZ BA ~ BB BC BD AX ~ BE BF BG
>`.pickRestart({
  A: "bb5@15 ~ g5@4 eb6@4", B: "c6 ab5 ~@3 f5", C: "eb5 ~ eb5@2 g5@2 eb5@2 ~@4", D: "~@16 a5 c6 ~@2 bb5 d6 ~@2",
  E: "c6 eb6 ~@22", F: "~@16 bb5 d6 ~@2 c6 eb6 ~@2", G: "d6 f6 ~@6 b5 d6 ~@2 c6 eb6 ~@6 g5 c6 ~@2",
  H: "c6 eb6 ~@6 a5 c6 ~@2 bb5 d6 ~@10", I: "~@4 f6 eb6 ~@2 db6 c6 ~@2 bb5 ab5 ~@2 gb5 f5 ~@2 eb5 db5 ~@2",
  J: "b5@23 ~", K: "bb5 c6 ~@2 db6 c6 ~@2 db6 d6 ~@2 eb6 d6 ~@2 eb6 e6 ~@2 f6 e6 ~@2", L: "f6!6", M: "f6 ~@5",
  N: "[db6@35 ~ d6@12]/2", O: "eb6 e6", P: "f6@12 a5@11 ~", Q: "bb5 ~@5", R: "~@4 bb5 d6 ~@2 d6 f6 ~@2 f6@2 ~@10",
  S: "d6@8 eb6 d6 c6 d6 eb6@4 ~@4 a5@2 ~@2", T: "c6@3 bb5 ~@2", U: "eb6!6", V: "d6@5 ~@3", W: "ab5!6",
  X: "ab5@4 ~@4 f6 db6 ~@2 db6 ab5 ~@2 ab5 f5 ~@2 f5 db5 ~@2", Y: "bb5!6",
  Z: "bb5@4 ~@4 g6 eb6 ~@2 eb6 bb5 ~@2 bb5 g5 ~@2 g5 eb5 ~@2", AA: "c6!6",
  AB: "c6@4 f6 c6 ~@2 c6 ab5 ~@2 ab5 f5 ~@2 f6 c6 ~@2 c6 ab5 ~@2", AC: "gb6!6", AD: "g6 ~ gb6 g6 ~ gb6",
  AE: "g6 ~ a5 g5 ~ a5", AF: "g5 ~@5", AG: "~@4 a5 b5", AH: "c6 ~@2", AI: "a5 bb5 c6 db6 c6 ~",
  AJ: "g5 ab5 bb5 b5 bb5 ~", AK: "~@16 g5 bb5 ~@2 ab5 c6 ~@2", AL: "bb5 db6 ~@22",
  AM: "g5@2 ab5@2 bb5@2 b5@2 bb5@2 f5 ~", AN: "ab5 g5 ~@4", AO: "~@16 f5 ab5 ~@2 g5 bb5 ~@2", AP: "ab5 c6 ~@22",
  AQ: "c6 db6 e6 f6 eb6 ~", AR: "~ d6 eb6 ~ d6 eb6", AS: "~@4 eb6 db6 ~@2 b5 bb5 ~@2 ab5 gb5 ~@2 e5 eb5 ~@2 db5 b4 ~@2",
  AT: "~@12 eb6 db6 ~@2 b5 bb5 ~@2 ab5 gb5 ~@2", AU: "e6@19 ~ e5@4",
  AV: "eb5 f5 ~@2 gb5 f5 ~@2 gb5 g5 ~@2 ab5 g5 ~@2 ab5 a5 ~@2 bb5 a5 ~@2", AW: "bb5 eb6!5", AX: "eb6 ~@5",
  AY: "~@6 eb6@4 bb5 ~", AZ: "~@12 eb6@6 d6 c6 bb5@2 ~@2", BA: "bb5 ~ a5 ~ bb5 ~ a5 ~ bb5 ~ b5 ~ c6@2 ~@2 ab5@4 g5@4",
  BB: "gb5@12 g5@11 ~", BC: "eb6@15 ~ f6@4 gb6@4", BD: "g6@12 d6@11 ~", BE: "~@14 eb6 ~ d6 ~ c6 ~ bb5 ~ ab5 ~",
  BF: "g5@8 ab5 g5 f5 g5 ab5@4 ~@8", BG: "d6@3 eb6 ~@2",
})).s("gm_flute").gain(0.14).pan(0.7)

// chords · oboe
const oboe = note(`<
  ~@7 A ~@7 B ~@4 C ~ D ~@10 E F G H ~@7 I@2 J@2 K ~@10 A ~@7 B ~@4 C ~ D ~@10 E F G H ~@7 I@2 J@2 K ~@5 L M ~ N O P Q R
  S T U V ~@14 A ~@5 W ~@3 D ~@5 X ~@7 Y Z AA AB ~@7 AC@2 AD@2 AE ~@5 L M ~ N O P Q R S T U V ~@14 A ~@5 W ~@3 D ~@5 X
  ~@7 Y Z AA AB ~@7 AC@2 AD@2 AE ~@4
>`.pickRestart({
  A: "~ d2 eb2 ~ d2 eb2", B: "~@4 ab2@4 g2@4 d3 f3 ~@2 ab2@4 g2@4", C: "bb1 ~@2", D: "eb2 ~@2",
  E: "eb2!3 f2!3, [gb5,bb5] [db5,ab5]", F: "bb4 c5 ~@2 db5 c5 ~@2 db5 d5 ~@2 eb5 d5 ~@2 eb5 e5 ~@2 f5 e5 ~@2, gb2!6",
  G: "[f2,f5] [f2,d5,bb5]!5", H: "[f2,d5,bb5] ~@5", I: "[eb2!3 e1!3 f1!6, db5@3 b4, gb4 g4 ab4@2]/2",
  J: "[gb1@4 gb1@4 gb1@4 g1@4 [g1,c5]@4 [g1,db5]@4 f1@4 f1@4 [c5,eb5] [bb4,d5] [a4,c5] [bb4,d5] f1@4 f1@4 [f1,a4,c5]@4, bb4@8 f1 ~@3, ~@6 d5@2 ~ [c5,eb5]@2 ~]/2", // C5 Gdim Cm Bb Am Bb F Cm
  K: "[bb1,bb4] ~@5", L: "[b1,eb5,ab5]!6", M: "[bb1,f5,ab5]@2 ~", N: "[c2,eb5,gb5]!6",
  O: "[db2,db5,f5]@4 [ab4,ab5] [f4,f5] ~@2 f5 db5 ~@2 db5 ab4 ~@2 ab4 f4 ~@2 f4 db4 ~@2, ~ db2!5", P: "[d2,f5,ab5]!6",
  Q: "[eb2,eb5,g5]@4 [bb4,bb5] [g4,g5] ~@2 [g4,g5] [eb4,eb5] ~@2 eb5 bb4 ~@2 bb4 g4 ~@2 g4 eb4 ~@2, ~ eb2!5", // Eb Bb G Eb
  R: "[e2,g5,bb5]!6", S: "[f2,f5,ab5]@4 f5 c5 ~@2 c5 ab4 ~@2 ab4 f4 ~@2 f5 c5 ~@2 c5 ab4 ~@2, ~ f2!5",
  T: "[ab2,gb5,c6]!6", U: "[g2,g5,b5] ~ [ab2,gb5,c6] [g2,g5,b5] ~ [ab2,gb5,c6]", V: "[g2,g5,b5] ~@5", W: "f1 ~@2",
  X: "~@4 [ab2,f5]@4 [g2,g5]@4 d3 f3 ~@2 [ab2,f5]@4 [g2,g5]@4, ~ bb5@2 ~ bb5@2", // Db G Db G
  Y: "ab2!3 bb2!2 [bb2,gb4,db5], [ab5,b5]@3 [gb5,db6]@2 ~", // Gb Abm Gb5
  Z: "[eb4,eb5] [f4,f5] ~@2 [gb4,gb5] [f4,f5] ~@2 [gb4,gb5] [g4,g5] ~@2 [ab4,ab5] [g4,g5] ~@2 [ab4,ab5] [a4,a5] ~@2 [bb4,bb5] [a4,a5] ~@2, b2!6", // Eb F Gb F Gb G Ab G …
  AA: "[bb2,bb4,bb5] [bb2,bb4,g5]!5", AB: "[bb2,bb4,g5] ~@5", AC: "[ab1!3 a1!3 bb1!6, gb5@3 e5, b4 c5 db5@2]/2",
  AD: "[b1!3 c2!3 bb1!6, eb5@3 [f5,ab5], ab5 a5 bb5 ~]/2", AE: "[eb2,eb5,g5] ~@5",
})).s("gm_oboe").gain(0.27)

// chords · oboe · soft notes
const oboe_soft = note(`<
  ~ A B C D E F ~ G H I@2 J K L M N O P Q R S T U V W X Y Z AA AB AC AD ~@3 AE ~@4 AF AG AH ~@4 AI AJ AK AL AM A B C D E
  F ~ G H I@2 J K L M N O P Q R S T U V W X Y Z AA AB AC AD ~@3 AE ~@4 AF AG AH ~@4 AI AJ AK AL AN AO ~@2 AO ~@8 AP AQ
  AR AS O AT AU AV AW AX B C D AY AZ ~ G H BA@2 BB BC BD BE BF BG BH BI BJ K L M BK BL BM BN BO BP BQ ~@3 BR ~@4 BS BT
  BU ~@5 BV BW BX BY AO ~@2 AO ~@8 AP AQ AR AS O AT AU AV AW AX B C D AY AZ ~ G H BA@2 BB BC BD BE BF BG BH BI BJ K L M
  BK BL BM BN BO BP BQ ~@3 BR ~@4 BS BT BU ~@5 BV BW BX BZ
>`.pickRestart({
  A: "eb2 ~@2 g2 ~@2", B: "ab2 a2 bb2 b2 bb2 a2", C: "bb2 bb1", D: "eb2 ~@5", E: "ab1 ~@5", F: "g1 ~@5",
  G: "bb1@4 ~ bb1", H: "eb2!6", I: "[eb2@3 d2]/2", J: "eb2!4 ~ eb3", K: "b2@2 c3 ~@2 eb3", L: "a2@2 bb2 ~@2 eb3",
  M: "d3 f3 ~@22", N: "ab2 ~@2 bb2 ~@2", O: "g2 ~@5", P: "ab2@2 ~@2 f5@2 [bb2,d5]@2 bb5@2 [bb4,d5] ~",
  Q: "[bb4,eb5] ~ [g4,bb4] ~ [g4,bb4] ~ [g4,bb4] ~@5, eb2!4 ~@2", R: "~@4 bb2@4 bb2 ~ bb2@2",
  S: "c3@2 ~@6 [c5,eb5] ~ [bb4,d5] ~", T: "[a4,c5] ~@3 eb3@4 eb3 ~ eb3@2", U: "d3@2 ~@6 [d5,f5] ~ [c5,eb5] ~",
  V: "[b4,d5] ~@3 [d5,f5] ~ [c5,eb5] ~@3 [c5,eb5] ~, g2 ~@2 c2 ~@2", // Bm Dm Cm
  W: "[a4,c5] ~@3 [c5,eb5] ~ [bb4,d5] ~@5, f2 ~@2 bb1 ~@2", X: "g2", Y: "f2@16 e5 f5 ~@2 g5 f5 ~@2",
  Z: "f2@4 f5 gb5 ~@2 ab5 gb5 ~@2 eb2@4 g5 ab5 ~@2 bb5 ab5 ~@2", AA: "db2 ~@2 f2 ~@2", AB: "ab2 ~@2 ab1 ~@2",
  AC: "eb2@4 bb5 ab5 ~@2 gb5 f5 ~@2 eb5 db5 ~@2 b4 bb4 ~@2 ab4 gb4 ~@2, ~@3 gb2 ~@2", AD: "bb2 ~@2 bb1 ~@2", AE: "~ f1",
  AF: "~@2 d2 ~ d2 ~ bb5@4 f5 ~", AG: "~@4 d2@2 ~@2 d2@2 ~@2 bb5@6 a5 g5 f5@2 ~@2",
  AH: "f5 ~ e5 ~ f5 ~ e5 ~ f5 ~ gb5 ~ g5@2 ~@2 eb5@4 [bb1,d5]@4, a1@5 ~", AI: "~@4 bb4 d5 ~@2 d5 f5 ~@2 f5@2 ~@10",
  AJ: "f2", AK: "bb1@4 bb4 d5 ~@2 d5 f5 ~@2 f5@2 ~@10", AL: "f2@2 ~", AM: "[eb5,a5]@3 [d5,bb5] ~@2, bb1@2 ~",
  AN: "[eb5,a5]@3 [d5,bb5] ~ bb1, bb1@2 ~", AO: "b1!6", AP: "~@2 [c5,eb5] [b4,d5] ~ [c5,eb5]", AQ: "[b4,d5] ~@5",
  AR: "g4 [a4,c5] [ab4,d5] [g4,e5] [a4,gb5] [g4,f5]", AS: "[g4,e5] [ab2,eb5] g2 gb2@3", AT: "f5 gb5 g5 ab5 g5 ~",
  AU: "~@4 g2 bb2 ~@2 e2 g2 ~@2 c2 e2 ~@10", AV: "d5@4 c3 eb3 ~@2 a2 c3 ~@2 f2 a2 ~@2 f5@4 ~@4, ~ eb5 f5 gb5 ~@2",
  AW: "g4@4 f2 ab2 ~@2 d2 f2 ~@2 bb1 d2 ~@2 bb4@4 ~@4, ~ ab4 bb4 b4 ~@2", AX: "eb2 g2",
  AY: "~@2 ab1 ~ c2 ~ eb2 ~ ab2 ~@3", AZ: "~@2 g1 ~ bb1 ~ eb2 ~ g2 ~@3", BA: "[eb2@7 d2 bb1 db2@3]/2", BB: "c2@2 ~",
  BC: "~@4 f2@4 f2 ~ f2@2", BD: "g2@2 ~@6 [bb4,e5] ~ [ab4,f5] ~", BE: "[g4,g5] ~@5 e2@6",
  BF: "[f2,g4] ab4 bb4 [d2,b4] bb4 f4", BG: "ab4@2 g4@2 eb2@4 eb2 ~ eb2@2", BH: "f2@2 ~@6 [ab4,d5] ~ [g4,eb5] ~",
  BI: "[f4,f5] ~@5 d2@6", BJ: "[eb2,c5] db5 e5 [g1,f5] eb5 eb3", BK: "c2", BL: "bb1@16 a4 bb4 ~@2 c5 bb4 ~@2",
  BM: "bb2@4 bb4 b4 ~@2 db5 b4 ~@2 ab2@4 c5 db5 ~@2 eb5 db5 ~@2",
  BN: "gb2@4 bb5 ab5 ~@2 gb5 f5 ~@2 eb5 db5 ~@2 b4 bb4 ~@2 ab4 gb4 ~@2, ~@3 bb2 ~@2", BO: "db3 ~@2 db2 ~@2",
  BP: "ab2 ~@2 b2 ~@2", BQ: "eb3@4 bb5 ab5 ~@2 gb5 f5 ~@2 eb5 db5 ~@2 b4 bb4 ~@2 ab4 gb4 ~@2, ~@3 eb2 ~@2", BR: "~ bb1",
  BS: "~@2 g2 ~ g2 ~@7", BT: "~ g2!2 ~@3", BU: "d2@5 eb2", BV: "bb2", BW: "eb3@4 eb5 g5 ~@2 g5 bb5 ~@2 bb5@2 ~@10",
  BX: "bb1@2 ~", BY: "[f5,ab5]@3 [eb5,g5] ~ bb1, eb2@2 ~", BZ: "[f5,ab5]@3 [eb5,g5] ~@2, eb2@2 ~",
})).s("gm_oboe").gain(0.13)

// other · bassoon
const bassoon = note(`<
  ~@33 A B C D ~@7 E@2 F G H ~@36 A B C D ~@7 E@2 F G H ~@5 I J ~ K L M N O P Q R S ~@30 T ~@7 U V W X ~@7 Y@2 Z@2 AA
  ~@5 I J ~ K L M N O P Q R S ~@30 T ~@7 U V W X ~@7 Y@2 Z@2 AA ~@4
>`.pickRestart({
  A: "[eb3,gb3] [f3,ab3]", B: "bb3 c4 ~@2 db4 c4 ~@2 db4 d4 ~@2 eb4 d4 ~@2 eb4 e4 ~@2 f4 e4 ~@2", C: "f4 [bb3,d4]!5",
  D: "[bb3,d4] ~@5", E: "[gb3 g3 ab3 [b3,d4], db4@3 ~]/2", F: "eb4@3 ~ c4 db4, bb3@2 ~, ~ e4",
  G: "[d4,f4]@3 f3@2 eb3, ~ a3", H: "[d3,bb3] ~@5", I: "[ab3,eb4]!6", J: "[ab3,d4]@2 ~", K: "[ab3,gb4]!6",
  L: "[ab3,f4]@4 ~@4 f4 db4 ~@2 db4 ab3 ~@2 ab3 f3 ~@2 f3 db3 ~@2", M: "[ab3,f4]!6",
  N: "[g3,eb4]@4 ~@4 [g3,g4] [eb3,eb4] ~@2 [eb3,eb4] [bb2,bb3] ~@2 [bb2,bb3] [g2,g3] ~@2 [g2,g3] [eb2,eb3] ~@2", // Cm G Eb Bb G Eb
  O: "[g3,c4]!6", P: "[ab3,c4]@4 f4 c4 ~@2 c4 ab3 ~@2 ab3 f3 ~@2 [f3,f4] [c3,c4] ~@2 [c3,c4] [ab2,ab3] ~@2",
  Q: "[c4,gb4]!6", R: "[b3,g4] ~ [c4,gb4] [b3,g4] ~ [c4,gb4]", S: "[b3,g4] ~@5",
  T: "~ [ab3,d4] [g3,eb4] ~ [ab3,d4] [g3,eb4]", U: "[b3,e4] [gb3,db4]",
  V: "eb3 f3 ~@2 gb3 f3 ~@2 gb3 g3 ~@2 ab3 g3 ~@2 ab3 a3 ~@2 bb3 a3 ~@2", W: "bb3 [g3,eb4]!5", X: "[g3,eb4] ~@5",
  Y: "[b2 c3 ~ e3, gb3@3 ~, ~ db3]/2", Z: "[~@4 f3 gb3 g3@3 [f3,ab3]@3, eb3@3 ~]/2", AA: "[eb3,g3] ~@5",
})).s("gm_bassoon").gain(0.27)

// other · bassoon · soft notes
const bassoon_soft = note(`<
  ~@17 A B C ~@7 D E ~ F ~ G ~@8 H I J ~@4 K ~ L M N ~@16 A B C ~@7 D E ~ F ~ G ~@8 H I J ~@4 K ~ L M N ~@12 O P Q R S T
  U ~ V ~@13 W X Y Z AA AB AC ~@4 AD AE ~ G ~ AF ~@8 AG AH AI ~@4 AJ ~ AJ ~ AK ~@12 O P Q R S T U ~ V ~@13 W X Y Z AA AB
  AC ~@4 AD AE ~ G ~ AF ~@8 AG AH AI ~@4 AJ ~ AJ ~ AK
>`.pickRestart({
  A: "bb3@4 g3 eb4", B: "c4@2 ab3@2 f3@2 d3@2 bb3@2 [ab3,d4] ~", C: "[g3,eb4] ~ [g3,bb3] ~ [g3,bb3] ~ [g3,bb3] ~@5",
  D: "~@16 e3 f3 ~@2 g3 f3 ~@2", E: "~@4 f3 gb3 ~@2 ab3 gb3 ~@6 g3 ab3 ~@2 bb3 ab3 ~@2",
  F: "~@4 eb4 db4 ~@2 c4 bb3 ~@2 ab3 gb3 ~@2 f3 eb3 ~@2 db3 c3 ~@2",
  G: "~@4 f4 eb4 ~@2 db4 c4 ~@2 bb3 ab3 ~@2 gb3 f3 ~@2 eb3 db3 ~@2", H: "bb3@4 f3 ~@7", I: "bb3@6 a3 g3 f3@2 ~@14",
  J: "f3 ~ e3 ~ f3 ~ e3 ~ f3 ~ gb3 ~ g3@2 ~@2 eb3@4 d3@4",
  K: "~@4 [bb2,bb3] [d3,d4] ~@2 [d3,d4] [f3,f4] ~@2 [f3,f4]@2 ~@10", L: "~@4 bb3 d4 ~@2 d4 f4 ~@2 f4@2 ~@10",
  M: "d4@8 eb4 d4 c4 d4 eb4@4 ~@4 a3@2 ~@2", N: "[eb3,c4]@3 [d3,bb3] ~@2", O: "~@2 [c4,gb4] [g3,g4] ~ [c4,gb4]",
  P: "[g3,g4] ~@4 d4, ~@10 g3 ~", Q: "e4 eb4 d4 db4 c4 d4, c4 ~ f3 ~ bb3 ~ a3 ~ d3 ~ g3 ~", R: "c4 ~@4 c3, c3 ~@11",
  S: "c4 ~ c4 ~ c4 ~ c4 ~ c4 ~ g3@2, ~@10 c4 ~", T: "d4 ~ d4 ~ d4 ~ d4 ~ d4 ~ d4 ~, c4 b3", U: "[bb3,c4] ~@5",
  V: "g3 ab3 bb3 b3 bb3 ~", W: "~@8 g4 ~ f4 ~", X: "e4 ~@11", Y: "g3@2 ab3@2 bb3@2 b3@2 bb3@2 f3 ~", Z: "ab3 g3 ~@4",
  AA: "~@8 f4 ~ eb4 ~", AB: "d4 ~@11", AC: "c4 db4 e4 f4 eb4 ~", AD: "~@16 a3 bb3 ~@2 c4 bb3 ~@2",
  AE: "~@4 bb3 b3 ~@2 db4 b3 ~@6 c4 db4 ~@2 eb4 db4 ~@2", AF: "~@12 eb4 db4 ~@2 b3 bb3 ~@2 ab3 gb3 ~@2",
  AG: "eb4@4 bb3 ~@7", AH: "eb4@6 d4 c4 bb3@2 ~@14", AI: "bb3 ~ a3 ~ bb3 ~ a3 ~ bb3 ~ b3 ~ c4@2 ~@2 ab3@4 g3@4",
  AJ: "~@4 eb3 g3 ~@2 g3 bb3 ~@2 bb3@2 ~@10", AK: "[ab3,f4]@3 [g3,eb4] ~@2",
})).s("gm_bassoon").gain(0.13)

// other · brass section · "Horn in E♭"
const brass_section = note(`<
  ~@4 A@3 ~ B C D ~ A@3 ~@3 E F ~@13 G H I J ~@7 K L M L N ~@7 A@3 ~ B C D ~ A@3 ~@3 E F ~@13 G H I J ~@7 K L M L N ~@5
  C O ~ P Q R S T Q C U V ~@3 W@2 ~@6 A@3 ~ B C X ~@6 Y Z ~ AA AB@2 AC ~@7 AD C AE Z ~@7 D M AF R AG ~ AH ~ AI ~ C O ~ P
  Q R S T Q C U V ~@3 W@2 ~@6 A@3 ~ B C X ~@6 Y Z ~ AA AB@2 AC ~@7 AD C AE Z ~@7 D M AF R AG ~ AH ~ AI
>`.pickRestart({
  A: "~ [eb3,eb4]!5", B: "~@5 [bb2,bb3]", C: "[eb3,eb4]!6", D: "[eb3,eb4]", E: "~@5 [bb3,f4]",
  F: "[bb3,g4] [eb3,eb4]!3 ~@2", G: "[eb3,eb4] f4", H: "[bb3,bb4]!6", I: "[bb3,bb4] f4!5", J: "f4 ~@5", K: "bb3",
  L: "f4", M: "[bb2,bb3]", N: "bb3 ~@5", O: "[bb2,f4]@2 ~", P: "eb4!6", Q: "f4 ~@2", R: "[bb2,bb3]!6",
  S: "[eb3,bb3] ~@2", T: "[bb3,g4]!6", U: "[g3,g4] ~ [eb3,eb4] [g3,g4] ~ [eb3,eb4]", V: "[g3,g4] ~@5", W: "g3/2",
  X: "[eb3,eb4]@2 ~", Y: "[eb3,eb4]@2 [eb3,eb4]@2 [eb3,eb4]!2", Z: "[bb2,bb3] ~@5", AA: "~@4 [eb2,eb3]!2",
  AB: "[eb2,eb3]!6", AC: "~ f4 g4 ~ f4 g4, ~ bb3@2 ~ bb2@2", AD: "[eb3,eb4] [e4,gb4]", AE: "[eb3,eb4] [bb2,bb3]!5",
  AF: "[eb2,eb3]", AG: "[eb3,bb3]@4 [eb3,eb4] [g3,g4] ~@2 [g3,g4] [bb3,bb4] ~@2 [bb3,bb4]@2 ~@10",
  AH: "~@4 [eb3,eb4] [g3,g4] ~@2 [g3,g4] [bb3,bb4] ~@2 [bb3,bb4]@2 ~@10", AI: "[eb3,bb3]@2 ~",
})).s("gm_brass_section").gain(0.14)

// other · string ensemble 1 · "Violin II"
const string_ensemble_1 = note(`<
  ~ A B@2 C D E F G ~ H I J K L M N O P Q R O S T U V W@2 X Y Z@2 AA AB AC AD AE AF@2 AG AH AI@2 AJ AK@2 AL@2 T AM AN AO
  AP A B@2 C D E F G ~ H I J K L M N O P Q R O S T U V W@2 X Y Z@2 AA AB AC AD AE AF@2 AG AH AI@2 AJ AK@2 AL@2 T AM AN
  AO AQ AR AS AT AR AU AV AW AX AY AZ BA BB BC BD BE BF BG ~ BH BI BJ A B@2 C D E F G ~ H BK@2 BL T BM BN BO BP BQ BR K
  L M BS BT BU BV BW@2 BX BY BZ CA CB CC@2 CD CE CF CG CH CI CJ CK CL O CM CN CO CP AR AS AT AR AU AV AW AX AY AZ BA BB
  BC BD BE BF BG ~ BH BI BJ A B@2 C D E F G ~ H BK@2 BL T BM BN BO BP BQ BR K L M BS BT BU BV BW@2 BX BY BZ CA CB CC@2
  CD CE CF CG CH CI CJ CK CL O CM CN CO CQ
>`.pickRestart({
  A: "~@5 bb3", B: "f4!6", C: "f4@4 eb4@3 g4 f4@3 ab4 g4@4 ~@4 eb4@4", D: "b3@2 c4 ~@2 eb4", E: "a3@2 bb3 ~@3",
  F: "~ f4 eb4 ~ f4 eb4", G: "g4@2 gb4 f4 e4 eb4 d4@2 ~@4", H: "~@5 c4", I: "ab4!6",
  J: "ab4@4 g4@3 bb4 ab4@3 c5 bb4@4 ~@8", K: "~@4 g4@4 ab4@4 ab4 c5@5 bb4@2 ab4@4, ~@13 bb4 ~@10",
  L: "~@4 gb4@4 g4@4 g4 bb4@5 ab4@2 g4@4, ~@13 ab4 ~@10", M: "~@2 d4 f4 g4 eb4 ~@2 d4 f4 g4 eb4", N: "c4 ~@2 d4 ~@2",
  O: "eb4 ~@5", P: "eb4 ~@2 d4 ~@2", Q: "eb4 ~ g3@2 bb3@2 g3@2 ~@4", R: "d4!6", S: "a3!6", T: "bb3 ~@5",
  U: "b4 ~@2 c5 ~@2", V: "a4 ~@2 bb4 ~@2", W: "[bb3@8 a3!2 ~@2]/2", X: "db4 ~@2 c4 ~@2", Y: "~@5 ab3",
  Z: "[eb4!3 eb4@5 eb4 eb5!3]/2", AA: "eb5 db5", AB: "b4!5 ab4", AC: "gb4 bb4!5", AD: "[d4,bb4]!6",
  AE: "[d4,bb4] ~@2 eb4@3", AF: "~@2 bb4 ~ bb4 ~@3 bb4 ~ bb4 ~", AG: "c5@4 f4 gb4",
  AH: "g4@8 b3 d4 ~@2 c4 eb4 ~@6 c4 a3 ~@2", AI: "~@2 bb3 ~ bb3 ~@3 bb3 ~ bb3 ~", AJ: "c4@5 bb3", AK: "[db4@3 ab3]/2",
  AL: "[bb3@3 a3]/2", AM: "d4 c4", AN: "d4 ~@5", AO: "d4@3 c4 ~@2", AP: "a4@3 bb4 ~@2", AQ: "a4@3 bb4 ~ bb3",
  AR: "b3!6", AS: "b3 ab5", AT: "~ f5 ~@2 f5 d5 ~@2 d5 ab4 ~@2 ab4 f4 ~@2 f4 d4 ~@2 d4 bb3 ~@2",
  AU: "c4@2 ~@2 gb5 eb5 ~@2 eb5 c5 ~@2 c5 gb4 ~@2 gb4 eb4 ~@2 eb4 c4 ~@2", AV: "db4 f5!5",
  AW: "f5@2 ~@2 ab5 f5 ~@2 f5 d5 ~@2 d5 ab4 ~@2 ab4 f4 ~@2 f4 d4 ~@2", AX: "eb4 g5!5",
  AY: "g5@2 ~@2 bb5 g5 ~@2 g5 e5 ~@2 e5 bb4 ~@2 bb4 g4 ~@2 g4 e4 ~@2", AZ: "f4 ab5!5",
  BA: "gb5@2 ~@2 eb6 c6 ~@2 c6 gb5 ~@2 gb5 eb5 ~@2 eb5 c5 ~@2 c5 gb4 ~@2", BB: "g4 ~@3 c5@2 b4@2 ~@2 c5@2",
  BC: "b4 ~@5", BD: "~@4 b4 g4 ~@2 gb4 c5 ~@2 b4 g4 ~@2 gb4 c5 ~@2 b4 f4 ~@2",
  BE: "e4 bb4 ~@2 a4 eb4 ~@2 d4 ab4 ~@2 g4 db4 ~@2 c4 gb4 ~@2 f4 b3 ~@2", BF: "c4@4 b3 a3", BG: "g3 ~@5", BH: "g4!6",
  BI: "f4!5 [a3,f4]", BJ: "[ab3,f4]!5 ~", BK: "[ab4!4 g4 f4@2 e4 ab4 g4 ~@2]/2", BL: "ab3!6", BM: "~ g4",
  BN: "e4 f4 ~ ab3 ~@2", BO: "eb4@2 g3!4", BP: "ab3 ~@5", BQ: "~@3 f4@2 bb3", BR: "eb4 ~@2 bb3 ~@2",
  BS: "f5 eb5 ~@2 d5 c5 ~@2 bb4 a4 ~@2 g4 f4 ~@2 eb4 d4 ~@2 c4 bb3 ~@2", BT: "a3 c4 bb3!2 ~@2", BU: "gb4 ~@2 f4 ~@2",
  BV: "~@5 db4", BW: "[ab4!3 ab4@5 ab4 ab5!3]/2", BX: "ab5 gb5", BY: "e5!3 db5!2 gb4", BZ: "gb4 eb5!5",
  CA: "[g4,eb5]!6", CB: "[g4,eb5] ~@2 ab4@3", CC: "~@2 eb5 ~ eb5 ~@3 eb5 ~ eb5 ~", CD: "f5@4 bb4 b4",
  CE: "c5@8 e4 g4 ~@2 f4 ab4 ~@6 f4 d4 ~@2", CF: "~@2 eb4 ~ eb4 ~@3 eb4 ~ eb4 ~", CG: "~ eb4!2 ~ eb4!2", CH: "f4@5 eb4",
  CI: "b3!3 c4!3", CJ: "db4!6", CK: "b3 eb4!5", CL: "eb4@8 f4 eb4 d4 eb4 f4@8 d4@4", CM: "g4 f4", CN: "g4 ~@5",
  CO: "eb4@3 d4 ~@2", CP: "d4@3 eb4 ~ bb3", CQ: "d4@3 eb4 ~@2",
})).s("gm_string_ensemble_1").gain(0.14).pan(0.7)

// other · string ensemble 1 · "Viola"
const string_ensemble_1_2 = note(`<
  A B@2 C D E F G H A I@2 J K L M N O P Q I R I R S T U V W X Y Z@2 AA AB I AC AD@2 AE AF AG@2 AE AH AI AJ AK AL AM O AN
  AO B@2 C D E F G H A I@2 J K L M N O P Q I R I R S T U V W X Y Z@2 AA AB I AC AD@2 AE AF AG@2 AE AH AI AJ AK AL AM O
  AN AO AP@2 H AP AQ AR AS AT AU AV AW AX AY ~@2 AZ F ~ BA BB BC B@2 C D BD BE G H A I BF@2 BG BH BI BJ BK O BL BM K L M
  BN BO BP BQ BR BS@2 BT AP BK BU BV@2 BW BX BY BZ CA CB CC CD CE F CF CG CH CI AP@2 H AP AQ AR AS AT AU AV AW AX AY ~@2
  AZ F ~ BA BB BC B@2 C D BD BE G H A I BF@2 BG BH BI BJ BK O BL BM K L M BN BO BP BQ BR BS@2 BT AP BK BU BV@2 BW BX BY
  BZ CA CB CC CD CE F CF CG CH CJ
>`.pickRestart({
  A: "~@5 bb3", B: "eb4!6", C: "eb4@4 d4@4 c4@4 d4 eb4 d4 eb4 d4 eb4 d4 eb4 d4 eb4 c4 d4", D: "eb4 eb3!3 ~@2",
  E: "ab3 ~@5", F: "g3 ~@5", G: "~ bb3@2 ~ bb3@2", H: "bb3@2 ~", I: "f4!6", J: "f4@4 eb4@3 g4 f4@3 ab4 g4@4 ~@4 eb4@4",
  K: "b3@2 c4 ~@2 eb4", L: "a3@2 bb3 ~@3", M: "~ bb4@2 ~ bb4@2", N: "f4 ~@2 ab3 ~@2", O: "bb3 ~@5", P: "c4 ~@2 ab3 ~@2",
  Q: "g3 eb3!3 ~@2", R: "f4 ~@5", S: "f4 ~@2 eb4 ~@2", T: "eb4 ~@2 d4 ~@2", U: "e4", V: "c4@2 ~",
// … 49 more lines

More by W. A. Mozart