Strudelify

Quartet KV 285b

W. A. MozartBearb.: JM

KeyC majorTempo125 bpm
0:00/0:00
// Quartet KV 285b — W. A. MozartBearb.: JM
// 125 bpm, 3/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/6410967; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 372 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(125/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 · "Flöte"
const flute = note(`<
  A B C D A B E F ~@7 G H I J K L M N O P Q P R S T ~@15 U V W X Y Z AA V W AB AC AD AE AF L AF L AG@2 AH T A B C D A B
  E F ~@7 G H I J K L M N O P Q P R S T ~@15 U V W X Y Z AA V W AB AC AD AE AF L AF L AG@2 AH T ~@3 AI AJ AK AL AM ~@4
  AN AO AP AQ ~ AR AP AQ AS ~@21 AT AU A B C D A B E F ~@4 L M N O P Q P AV AW T ~@15 AX AY@2 AZ@2 BA@4 BB T ~@7 BC BD
  BE BF BG BH BI BD BE BJ BK BL BM BN BO BN BO BP BQ BR BS ~@3 AI AJ AK AL AM ~@4 AN AO AP AQ ~ AR AP AQ AS ~@21 AT AU A
  B C D A B E F ~@4 L M N O P Q P AV AW T ~@15 AX AY@2 AZ@2 BA@4 BB T ~@7 BC BD BE BF BG BH BI BD BE BJ BK BL BM BN BO
  BN BO BP BQ BR BS
>`.pickRestart({
  A: "g5@10 ~ e5 d5 e5 ~ f5", B: "g5@5 e5@5 ~ c5@5", C: "c6@10 ~ a5 g5 a5 ~ b5", D: "c6@5 a5@5 ~ f5@5",
  E: "e5@3 d5@2 c5@5 ~ b4@5", F: "c5@5 ~@11", G: "~@8 c5@3 c5@2 c5@3", H: "c5@8 b4 c5 ~ e5 d5 c5 ~ b4",
  I: "c5@5 ~@3 e5@3 e5@2 e5@3", J: "e5@8 d5 e5 ~ g5 f5 e5 ~ d5", K: "e5@5 ~@3 g5@3 g5@2 g5@3",
  L: "g5@8 a5 b5 ~ d6 c6 b5 ~ a5", M: "g5@5 f5@5 ~ e5@5", N: "d5@3 a5@2 g5@3 f5@3 e5@2 d5@3",
  O: "c5@3 b4@3 ~@2 g5@3 g5@2 g5@3", P: "g5@4 a5 c6@3 g5@3 f5@2 e5@3, ~@5 b5 ~@10", Q: "e5@3 d5@3 ~@2 g5@3 g5@2 g5@3",
  R: "d5@3 g5@5 f#5@3 a5@2 f#5@3", S: "g5@3 g5@5 f#5@3 a5@2 f#5@3", T: "g5@5 g4@5 ~@6", U: "~@11 e5@2 d5@3",
  V: "d6@8 b5 c6 ~ d6 c6 b5 ~ a5", W: "g5@3 ~@2 g5@5 ~ f5@5", X: "e5@3 f#5@2 g5@3 g#5@3 a5@2 b5@3",
  Y: "c6@3 d6@2 d#6@3 e6@3 c6@2 a5@3", Z: "g5@13 f#5 ~ g5", AA: "a5@13 b5 ~ c6",
  AB: "e5 f#5 ~ e5 f#5 g5@3 g#5@3 a5 b5 a5 ~ b5", AC: "c6@3 d6@2 d#6 ~ e6 d#6 e6 ~ c6@2 a5@3",
  AD: "d6@10 ~ c6 b5 a5 ~ g5",
  AE: "a5 [a5,b5] b5 [a5,b5] a5 [a5,b5] b5 [a5,b5] a5 [a5,b5] b5 [a5,b5] a5 [a5,b5] b5 [a5,b5]", // Asus2
  AF: "g5@5 ~@3 g5@3 g5@2 g5@3", AG: "g5@3 d5@2 d6@8 f#5@3", AH: "g5@3 b5 a5 g5@3 b5 a5 ~ g5@2 b5 ~ a5",
  AI: "~@13 f#5@3", AJ: "g5@3 f#5@2 g5@3 a5@3 a#5@2 a5@3", AK: "g5@3 f5@2 d#5@3 d5@3 c5@2 a#4@3",
  AL: "a4@3 d#5@2 d5@3 c5@3 a#4@2 a4@3", AM: "g4@5 ~@11", AN: "~@13 c6@3", AO: "a#5@3 a5@2 a#5@3 a5@3 a#5@2 a5@3",
  AP: "g5@3 f#5@2 g5@3 f#5@3 g5@2 f5@3", AQ: "f5@3 e5@2 d5@5 ~ c#5@5", AR: "~@3 a5@2 a#5@3 a5@3 a#5@2 a5@3",
  AS: "d5@5 ~@11", AT: "~@8 f5@3 e5@2 d5@3", AU: "c5@5 b4@5 ~@6", AV: "d5@3 g5@5 f#5@3 c6@2 f#5@3",
  AW: "g5@3 g5@5 f#5@3 c6@2 f#5@3", AX: "~@5 a4@5 ~ g4@5", AY: "[a4@5 a5@13 ~ g#5@2 e5@3 f#5@3 g5@2 a5@3]/2",
  AZ: "[f#5@3 d5@2 g5@13 ~ f#5@2 d5@3 e5@3 f5@2 g5@3]/2", BA: "[e5@3 c5@2 c6@48 ~@3 a#5@3 g#5@2 g5@3]/4",
  BB: "g5@3 f#5@2 f5@3 d#5@3 d5@2 c5@3", BC: "~@5 c5@3 b4@3 a4@2 g4@3", BD: "g5@8 e5 f5 ~ g5 f5 e5 ~ d5",
  BE: "c5@3 ~@2 c6@5 ~ a#5@5", BF: "g#5@3 a5@2 b5@3 c6@3 e5@2 f5@3", BG: "g#5@3 a5@2 c#5@3 d5@3 e5@2 f5@3",
  BH: "g5@10 ~ f5 e5 d5 ~ c5", BI: "d5@13 e5 ~ f5", BJ: "g#5 a5 ~ g#5 a5 b5@3 c6@3 e5 f5 e5 ~ f5",
  BK: "g#5@3 a5@2 c#5 ~ d5 c#5 d5 ~ e5@2 f5@3", BL: "g5@8 a5 g5 ~ f5 e5 d5 ~ c5", BM: "d5@15 ~",
  BN: "c5@5 ~@3 c5@3 c5@2 c5@3", BO: "c5@8 d5 e5 ~ g5 f5 e5 ~ d5", BP: "c5@3 g4@2 g5@8 b5@3", BQ: "c6@3 e5@2 g5@8 b5@3",
  BR: "c6@3 d6 b5 c6@3 d6 b5 ~ c6@2 d6 ~ b5", BS: "c6@5 c5@5 ~@6",
})).s("gm_flute").gain(0.4)

// other · flute · "Flöte" · soft notes
const flute_soft = note(`<
  ~@30 A@2 B C D@2 E F G ~@3 H I J K ~@50 A@2 B C D@2 E F G ~@3 H I J K ~@20 L@2 M@2 ~@4 N@4 O ~@3 P Q ~@6 R@2 S@2 R@2
  S@2 T ~@3 U V W X Y Z AA ~@25 AB W ~@2 AC Y AD@2 AE AF AG@2 AH AI ~@14 AJ AK AL AM ~@20 L@2 M@2 ~@4 N@4 O ~@3 P Q ~@6
  R@2 S@2 R@2 S@2 T ~@3 U V W X Y Z AA ~@25 AB W ~@2 AC Y AD@2 AE AF AG@2 AH AI ~@14 AJ AK AL AM ~@20
>`.pickRestart({
  A: "[d6@20 ~ b5@5 ~ g5@5]/2", B: "d5@5 c5@3 b4@3 e5@2 d5@3", C: "d5@5 c5@5 ~ b4@5", D: "[c6@20 ~ a5@5 ~ f#5@5]/2",
  E: "c5@5 b4@3 a4@3 d5@2 c5@3", F: "c5@5 b4@5 ~ a4@5", G: "g4@5 ~@11", H: "b5@4 c6 a5@3 g5@3 a5@2 b5@3, ~@5 b5 ~@10",
  I: "d6@3 c6@2 b5@3 a5@3 g5@2 f#5@3", J: "d6@4 e6 c6@3 b5@3 a5@2 g5@3, ~@5 d6 ~@10", K: "b5@3 a5@2 g5@3 f#5@3 ~@5",
  L: "[g5@3 f#5@2 g5@3 a5@3 a#5@10 d6@8 f#5@3]/2", M: "[g5@3 f#5@2 g5@3 a5@3 a#5@10 d6@8 ~@3]/2",
  N: "[d5@3 c#5@2 d5@3 e5@3 f5@10 a5@8 c#5@3]/2", O: "d5@3 c#6@2 d6@3 c#6@3 d6@3 ~@2",
  P: "d5@3 c#6@2 d6@3 c#6@3 d6@2 c6@3", Q: "a#5@3 ~@13", R: "[e5@3 d#5@2 e5@3 f#5@3 g#5@10 b5@8 e5@3]/2",
  S: "[a5@3 g#5@2 a5@3 b5@3 c6@10 e6@8 a5@3]/2", T: "g#5@5 ~@11", U: "a#5@5 a5@5 ~ g#5@5", V: "g#5@3 a5@2 a5@5 ~@6",
  W: "g5@5 f5@5 ~ e5@5", X: "e5@3 f5@2 f5@5 ~@6", Y: "f5@5 e5@5 ~ d5@5", Z: "e5@5 f5@5 ~ g5@5",
  AA: "g#5@3 a5@2 g5@3 ~@8", AB: "g5@5 f5@3 e5@3 a5@2 g5@3", AC: "f5@5 e5@3 d5@3 g5@2 f5@3",
  AD: "[c6@20 ~ a5@5 ~ f5@5]/2", AE: "c5@5 a#4@3 a4@3 d5@2 c5@3", AF: "c5@5 a#4@5 ~ a4@5",
  AG: "[a#5@20 ~ g5@5 ~ e5@5]/2", AH: "a#4@5 a4@3 g4@3 c5@2 a#4@3", AI: "a#4@5 ~@11",
  AJ: "e5@4 f5 d5@3 c5@3 d5@2 e5@3, ~@5 e5 ~@10", AK: "g5@3 f5@2 e5@3 d5@3 c5@2 b4@3",
  AL: "g5@4 a5 f5@3 e5@3 d5@2 c5@3, ~@5 g5 ~@10", AM: "e5@3 d5@3 ~@10",
})).s("gm_flute").gain(0.2)

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

// other · clarinet · "Klarinette in B" · soft notes
const clarinet_soft = note(`<
  ~@8 A@2 B@2 A@2 C D ~@16 E@2 F G E H ~@4 I J I K ~@28 A@2 B@2 A@2 C D ~@16 E@2 F G E H ~@4 I J I K ~@21 L@2 M@2 ~@4
  N@4 ~@3 O@3 ~@2 P D Q R S T U V S W U D X@3 Y Z AA AB AC Y AD ~@9 AE@2 AF@2 ~@12 AG AH AI ~ AJ AC AK ~ AL@2 AM AN AL
  AO ~@14 AP E AQ AD ~@21 L@2 M@2 ~@4 N@4 ~@3 O@3 ~@2 P D Q R S T U V S W U D X@3 Y Z AA AB AC Y AD ~@9 AE@2 AF@2 ~@12
  AG AH AI ~ AJ AC AK ~ AL@2 AM AN AL AO ~@14 AP E AQ AD ~@20
>`.pickRestart({
  A: "~@3 e4@2 g4@3 e4@3 g4@2 e4@3", B: "~@3 f4@2 a4@3 f4@3 a4@2 f4@3", C: "f4@3 g4@2 e4@3 g4@3 d4@2 g4@3",
  D: "e4@5 ~@11", E: "d4@3 d4@2 d4@3 d4@3 d4@2 d4@3", F: "d4@5 d4@3 d4@3 d4@5", G: "a4@5 a4@3 a4@3 a4@5",
  H: "d4@3 ~@13", I: "b3@3 b3@2 b3@3 b3@3 b3@2 b3@3", J: "a3@3 a3@2 a3@3 a3@3 a3@2 a3@3", K: "f#3@3 f#3@2 f#3@3 ~@8",
  L: "[g3@3 f#3@2 g3@3 a3@3 a#3@10 d4@8 f#3@3]/2", M: "[g3@3 f#3@2 g3@3 a3@3 a#3@8 ~@13]/2", N: "[a3@21 ~@11]/2",
  O: "d3/3", P: "a4@5 ~@11", Q: "a4@3 b4@2 a4@3 g4@3 f4@2 f#4@3", R: "b3@3 c4@2 b3@3 d#4@3 e4@2 e4@3",
  S: "g#4@3 g#4@2 g#4@3 g#4@3 g#4@2 g#4@3", T: "e4@3 b4@2 a4@3 g#4@3 a4@2 a4@3", U: "a4@3 a4@2 a4@3 a4@3 a4@2 a4@3",
  V: "g#4@3 a4@2 g#4@3 c5@3 b4@2 b4@3", W: "e4@3 f4@2 e4@3 g#4@3 a4@2 a4@3", X: "b4@5 ~@11", Y: "g4@5 f4@5 ~ e4@5",
  Z: "e4@3 f4@2 f4@5 ~@6", AA: "e4@5 d4@5 ~ c#4@5", AB: "c#4@3 d4@2 d4@5 ~@6", AC: "d4@5 c4@5 ~ b3@5", AD: "b3@3 ~@13",
  AE: "~@3 e3@2 g3@3 e3@3 g3@2 e3@3", AF: "~@3 f3@2 a3@3 f3@3 a3@2 f3@3", AG: "e4@5 d4@3 c4@3 f4@2 e4@3",
  AH: "e4@5 d4@5 ~ c4@5", AI: "b3@5 ~@11", AJ: "d4@5 c4@3 b3@3 e4@2 d4@3", AK: "c4@5 ~@11",
  AL: "c4@3 c4@2 c4@3 c4@3 c4@2 c4@3", AM: "c4@5 c4@3 c4@3 c4@5", AN: "g4@5 g4@3 g4@3 g4@5", AO: "c4@3 ~@13",
  AP: "e4@3 e4@2 e4@3 e4@3 e4@2 e4@3", AQ: "g3@3 g3@2 g3@3 g3@3 g3@2 g3@3",
})).s("gm_clarinet").gain(0.2)

// other · bassoon · "Fagott"
const bassoon = note(`<
  A@6 B C ~@7 D E D E D F G H E I E I J K E ~@8 L M N O ~@3 P Q@2 R ~ S T Q@2 R ~ S@2 U V U V W X Y E A@6 B C ~@7 D E D
  E D F G H E I E I J K E ~@8 L M N O ~@3 P Q@2 R ~ S T Q@2 R ~ S@2 U V U V W X Y E ~@4 Z AA AB AC AD ~@6 AE ~@3 AE AF
  AG AH ~@9 AI@2 AJ AK ~@6 AL AM A@6 B AN ~@4 AO G H E I E I J K E ~@16 AP AQ AR AS AT AU AV AW AX AY AZ BA BB BC ~@3 BD
  BE@2 BF ~ BG BH BE BI BJ ~ BK@2 R BL@2 BM@2 BN BO BP ~@4 Z AA AB AC AD ~@6 AE ~@3 AE AF AG AH ~@9 AI@2 AJ AK ~@6 AL AM
  A@6 B AN ~@4 AO G H E I E I J K E ~@16 AP AQ AR AS AT AU AV AW AX AY AZ BA BB BC ~@3 BD BE@2 BF ~ BG BH BE BI BJ ~
  BK@2 R BL@2 BM@2 BN BO BP
>`.pickRestart({
  A: "c3@5 c4@3 c4@3 c4@2 c4@3", B: "g3@5 g3@3 g3@3 g3@2 g3@3", C: "c3@3 e3@2 f3@3 d3@3 b2@2 g3@3",
  D: "~@3 c3@2 e3@3 g3@3 e3@2 c3@3", E: "g3@5 g2@5 ~@6", F: "c4@3 c4@2 c4@3 c4@3 c4@2 c4@3",
  G: "b3@3 b3@2 g3@3 g3@3 a3@2 a3@3", H: "f3", I: "~@3 g3@2 g3@3 g3@3 g3@2 g3@3", J: "g3@5 d3@11", K: "g2@5 d3@11",
  L: "g3@5 g2@5 ~@3 g2@3", M: "a2@5 a3@5 ~@3 a3@3", N: "b3@5 b2@5 ~@3 b2@3", O: "c3@5 c4@5 ~@3 f#3@3",
  P: "~@8 d4@3 d4@2 d4@3", Q: "b2@3 b2@2 b2@3 b2@3 b2@2 b2@3", R: "c3@5 ~@11", S: "d3@3 d3@2 d3@3 d3@3 d3@2 d3@3",
  T: "c3@3 c3@2 c3@3 c3@3 c3@2 c3@3", U: "g2@5 ~@11", V: "g3", W: "g2@5 ~@3 g2@3 b2@2 d3@3",
  X: "g3@5 ~@3 g2@3 b2@2 d3@3", Y: "g3@5 g3@5 ~ g3@5", Z: "~@3 d3@2 e3@3 f#3@3 g3@2 a3@3",
  AA: "a#3@3 a3@2 g3@3 f3@3 d#3@2 d3@3", AB: "c3@5 d3@5 ~ d3@5", AC: "g2@3 a#3@2 g3@3 e3@3 a3@2 c#3@3", AD: "d3@5 ~@11",
  AE: "g3@5 a3@5 ~ a2@5", AF: "d3@5 b2@11", AG: "~@5 a3@11", AH: "~@5 e3@11", AI: "~@5 e4@11", AJ: "~@5 d#4@11",
  AK: "~@5 d4@11", AL: "~@11 f3@5", AM: "g3@3 g2@2 g3@3 f3@3 e3@2 d3@3", AN: "c3@3 e3@2 f3@3 d3@3 b2@2 g2@3",
  AO: "c3@3 c3@2 c3@3 c3@3 c4@2 c4@3", AP: "~@5 f3@5 ~ d#3@5", AQ: "e3@11 a2@5", AR: "d3@5 d#3@5 ~ c#3@5",
  AS: "d3@11 g2@5", AT: "c3@5 f3@3 g3@3 a3@2 f#3@3", AU: "g3@5 c4@5 ~ e3@5", AV: "f3@11 f2@5",
  AW: "c3@5 ~@6 c4@2 a#3@3", AX: "g#3@3 g#3@2 g#3@3 g#3@3 g#3@2 g#3@3", AY: "g3@5 ~@3 f3@3 e3@2 d3@3",
  AZ: "c3@5 c2@5 ~@3 c2@3", BA: "d2@5 d3@5 ~@3 d3@3", BB: "e3@5 e2@5 ~@3 e2@3", BC: "f2@5 f3@5 ~@3 b2@3",
  BD: "~@5 g3@3 g3@3 g3@2 g3@3", BE: "e3@3 e3@2 e3@3 e3@3 e3@2 e3@3", BF: "f3@5 ~@11",
  BG: "g3@3 g3@2 g3@3 g3@3 g3@2 g3@3", BH: "f3@3 f3@2 f3@3 f3@3 f3@2 f3@3", BI: "e2@3 e2@2 e2@3 e2@3 e2@2 e2@3",
  BJ: "f2@5 ~@11", BK: "g2@3 g2@2 g2@3 g2@3 g2@2 g2@3", BL: "[c3@21 ~@11]/2", BM: "[c3@21 ~@3 c3@3 e3@2 g3@3]/2",
  BN: "c4@5 ~@3 c3@3 e3@2 g3@3", BO: "c4@3 g3@2 c4@3 g3@3 c4@2 g3@3", BP: "c4@5 c3@5 ~@6",
})).s("gm_bassoon").gain(0.3)

// other · bassoon · "Fagott" · soft notes
const bassoon_soft = note(`<
  ~@8 A@6 B ~@15 C D E ~ F G E ~@5 H I J K ~@28 A@6 B ~@15 C D E ~ F G E ~@5 H I J K ~@21 L@2 M@2 ~@4 N O N O ~@3 O ~@4
  A P Q R S R S R S R S R T U E V W X Y B Z AA ~@9 A AB A AB ~@10 AC AD AE AF AG AH AE AF AC AI V ~ AC AJ V ~@15 AK AL
  AM AN ~@21 L@2 M@2 ~@4 N O N O ~@3 O ~@4 A P Q R S R S R S R S R T U E V W X Y B Z AA ~@9 A AB A AB ~@10 AC AD AE AF
  AG AH AE AF AC AI V ~ AC AJ V ~@15 AK AL AM AN ~@20
>`.pickRestart({
  A: "c3@5 ~@11", B: "g3", C: "~@5 g2@5 ~ b2@5", D: "d3@5 g3@5 ~ b3@5", E: "d4@5 ~@11", F: "~@5 d2@5 ~ a2@5",
  G: "d3@5 f#3@5 ~ a3@5", H: "g3@5 g4@3 g4@3 g4@2 g4@3", I: "d3@5 d4@3 d4@3 d4@2 d4@3", J: "g2@5 g3@3 g3@3 g3@2 g3@3",
  K: "d3@5 d4@3 ~@8", L: "[g2@3 f#2@2 g2@3 a2@3 a#2@10 d3@8 f#2@3]/2", M: "[g2@3 f#2@2 g2@3 a2@3 a#2@8 ~@13]/2",
  N: "d3@5 f3@5 ~ a3@5", O: "d3@5 ~@11", P: "g#3@5 ~@11", Q: "a3@3 g3@2 f3@3 e3@3 d3@2 d#3@3", R: "e3@5 ~@11",
  S: "e2@5 e3@3 e3@3 e3@2 e3@3", T: "e4@5 ~@11", U: "d#4@5 ~@11", V: "c4@5 ~@11", W: "~@3 f3@2 a3@3 c4@3 a3@2 f3@3",
  X: "a3@5 ~@11", Y: "~@3 d3@2 f3@3 a3@3 f3@2 d3@3", Z: "c3@5 d3@5 ~ e3@5", AA: "f3@5 ~@11", AB: "c2@5 ~@11",
  AC: "~@5 c2@5 ~ e2@5", AD: "g2@5 c3@5 ~ e3@5", AE: "g3@3 g3@2 g3@3 g3@3 g3@2 g3@3", AF: "g3@3 g3@2 g3@3 g3@3 g3@5",
  AG: "~@5 d2@5 ~ g2@5", AH: "g2@5 b2@5 ~ d3@5", AI: "f2@5 f3@5 ~ a3@5", AJ: "c3@5 e3@5 ~ g3@5",
  AK: "c3@5 c4@3 c4@3 c4@2 c4@3", AL: "g3@5 g3@3 g3@3 g3@2 g3@3", AM: "c4@5 c4@3 c4@3 c4@2 c4@3", AN: "g3@5 ~@11",
})).s("gm_bassoon").gain(0.2)

stack(flute, flute_soft, clarinet, clarinet_soft, bassoon, bassoon_soft)

More by W. A. MozartBearb.: JM