Strudelify

Procession of the Nobles

Rimsky-Korsakov

KeyF majorTempo110 bpm
0:00/0:00
// Procession of the Nobles — Rimsky-Korsakov
// 110 bpm, 3/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/2154986; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 161 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(110/3)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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 · clarinet · "Bb Clarinet"
const clarinet = note(`<
  ~@7 A@3 B C D C D E F G H I ~@5 J K L M N O N P Q@2 R@2 S@5 T ~@2 U V W X ~@5 Y@3 Z C D C D E F G AA J K L M N O N P
  AB@2 AC@2 AD AE ~ AF@3 AG AD AE ~ AH@3 AI AJ AK AL AM AN AO AP AQ AR AS ~ AT@2 AU AD AE ~ AH@3 AI AD AV ~ AW@3 AX ~@5
  AY@3 AZ AH@3 AI E AH G BA I ~@5 J K L M N O N BB AR AS AH@4 AW@3 BC
>`.pickRestart({
  A: "d5@3 d5!2 d5@3 d5!2 ~ d5!3 ~ d5", B: "d5@3 d5!2 d5@3 d5!2 ~ d5@2 d5 ~ d5",
  C: "f5@3 f5!3 ~ g5 eb5 g5 ~ f5 g5 eb5 ~ g5", D: "f5@3 f5!3 ~ g5 ab5 g5 ~ f5 g5 eb5 ~ g5",
  E: "f5@3 bb5!3 ~ c6 g5 f5 ~ eb5 f5 d5 ~ c5", F: "bb4@3 ~@13",
  G: "[f5,g5] [ab5,bb5] ~ bb5!3 ~ c6 g5 f5 ~ eb5 f5 d5 ~ c5", H: "bb4@3 ~@8 bb3 c4 g3 ~ f3", I: "eb3@3 ~@13",
  J: "eb5@3 eb5 d5 eb5@3 f5@3 g5@2 bb5@3", K: "f5@4 g5 eb5@3 f5@3 f5@5", L: "f5@4 eb5 f5 ~ g5 ab5 g5 ~ f5@2 eb5@3",
  M: "d5@3 eb5 c5 bb4@3 f5@3 d5@5", N: "f5 g5 ~ ab5 g5 f5@3 eb5@3 d5@2 eb5 ~ c5",
  O: "bb4@3 f5 eb5 f5@3 g5@3 eb5@2 g5@3", P: "bb4@3 f5 eb5 f5@5 ~ g5@5", Q: "eb4", R: "[eb4@27 ~@5]/2",
  S: "g4@5 g4@5 ~ g4@5", T: "g4@5 a4@5 ~ g4@5", U: "bb5@3 bb5 a5 bb5@3 bb5 a5 ~ bb5 c6 d6 ~ c6",
  V: "bb5 a5 ~ g5 f5 g5 ~ a5 bb5 c6 ~ bb5@5", W: "bb5@3 bb5 a5 bb5 ~ c6 d6 c6 ~ bb5 a5 g5 ~ f5",
  X: "g5@4 c6!2 ~ bb5!2 a5 ~ bb5@5", Y: "f5@3 f5!2 f5@3 f5!2 ~ f5!3 ~ f5", Z: "f5@3 f5!2 f5@3 f5!2 ~ f5@2 f5 ~ f5",
  AA: "bb4@3 ~@8 d4 f4 g4 ~ d5", AB: "eb5", AC: "[eb5@27 ~@5]/2", AD: "ab4 bb4 ~ c5@5 eb5@3 f5@2 eb5@3",
  AE: "f5 eb5 ~ c5@5 ab4@3 bb4@2 eb4@3",
  AF: "g5 [g5,ab5] ab5 [g5,ab5] g5 [g5,ab5] ab5 [g5,ab5] g5 [g5,ab5] ab5 [g5,ab5] g5 [g5,ab5] ab5 [g5,ab5]", // Abmaj7
  AG: "g5 [g5,ab5] ab5 [g5,ab5] g5 [g5,ab5] ab5 [g5,ab5] g5 [g5,ab5] ab5 ~@5", // Abmaj7
  AH: "bb5 [bb5,c6] c6 [bb5,c6] bb5 [bb5,c6] c6 [bb5,c6] bb5 [bb5,c6] c6 [bb5,c6] bb5 [bb5,c6] c6 [bb5,c6]", // Bbsus2
  AI: "bb5 [bb5,c6] c6 [bb5,c6] bb5 [bb5,c6] c6 [bb5,c6] bb5 [bb5,c6] c6 ~@5", AJ: "eb4 d4 ~ c4@4 d4 eb4@4 f4 g4 ~ a4",
  AK: "bb4 a4 ~ g4@4 a4 bb4@4 c5 d5 ~ e5", AL: "f5 e5 ~ d5@4 e5 f5@4 g5 a5 ~ b5", AM: "c6@7 e6 d6 e6 ~ c6@3 ~@2",
  AN: "db4 c4 ~ bb3@4 c4 db4@4 eb4 f4 ~ g4", AO: "ab4 g4 ~ f4@4 g4 ab4@4 bb4 c5 ~ d5",
  AP: "eb5 d5 ~ c5@4 d5 eb5@4 f5 g5 ~ a5", AQ: "bb5@7 d6 c6 d6 ~ bb5@3 ~@2", AR: "eb4 f4 ~ g4@4 bb4 c5@4 d5 eb5 ~ f5",
  AS: "g5", AT: "bb5@3 bb5!3 ~ c6 ab5 c6 ~ bb5 c6 ab5 ~ c6", AU: "g5 ab5 ~ f5 g5 eb5 ~ f5 db5 eb5 ~ c5 db5 bb4 ~ c5",
  AV: "bb5 ab5 ~ f5@5 db5@3 eb5@2 ab4@3",
  AW: "eb6 [eb6,f6] f6 [eb6,f6] eb6 [eb6,f6] f6 [eb6,f6] eb6 [eb6,f6] f6 [eb6,f6] eb6 [eb6,f6] f6 [eb6,f6]", // Ebsus2
  AX: "eb6 [eb6,f6] f6 [eb6,f6] eb6 [eb6,f6] f6 [eb6,f6] eb6 [eb6,f6] f6 ~@5", AY: "g5@3 g5!2 g5@3 g5!2 ~ g5!3 ~ g5",
  AZ: "g5@3 g5!2 g5@3 g5!2 ~ g5@2 g5 ~ g5",
  BA: "bb5 [bb5,c6] c6 [bb5,c6] bb5 [bb5,c6] c6 [bb5,c6] bb5 [bb5,c6] c6 bb3 c4 g3 ~ f3", BB: "bb4@3 f5 eb5 f5@8 g5@3",
  BC: "eb6 [eb6,f6] f6 [eb6,f6] eb6 [d6,f6] [eb6,f6] g6 ~@8", // Ebsus2 Dm Ebsus2
})).s("gm_clarinet").gain(0.3)

// other · clarinet · "Bb Clarinet"
const clarinet_2 = note(`<
  ~@5 A@2 B@2 C D E F E F ~ G H I J K L M N O P Q R S T U T V W@2 X@2 Y@5 Z ~@2 AA AB AC AD ~@3 AE@2 AF@2 AG AH E F E F
  ~ G H I P Q R S T U T V AI@2 AJ@2 ~@2 AK AL AM AN AO ~@2 AK AP AQ AR AS ~ AT AU AV ~ AW AX AY ~ AZ ~ BA@2 BB BC BD AK
  AP AQ AR AS ~@2 BE BF BG BH BI ~@3 BJ@2 BK@2 BL BM BN BO BN BO ~ G BP I BQ BR BS BT BU BV BW BX BY BZ CA CB CA CC ~ AZ
  CD@2 AR AS CE@3 CF
>`.pickRestart({
  A: "bb4@3 bb4!3 ~ c5 f4 c5 ~ bb4 c5 f4 ~ c5", B: "d5@3 d5!2 d5@3 d5!2 ~ d5!3 ~ d5",
  C: "bb4@3 bb4!2 bb4@3 bb4!2 ~ bb4!3 ~ bb4", D: "a4@3 a4!2 a4@3 a4!2 ~ a4@2 a4 ~ a4",
  E: "d5@3 d5!3 ~ eb5 c5 eb5 ~ d5 eb5 c5 ~ eb5", F: "d5@3 d5!3 ~ eb5 f5 eb5 ~ d5 eb5 c5 ~ eb5",
  G: "bb4@3 bb4!3 ~ c5 g4 f4 ~ eb4 f4 d4 ~ c4", H: "bb3@3 ~@13", I: "bb4 c5 ~ g4 f4 eb4 ~ f4 d4 c4 ~ bb3@3 ~@2",
  J: "eb4@3 eb4 d4 eb4@3 f4@3 g4@2 bb4@3", K: "f4@4 g4 eb4@3 f4@3 f4@5", L: "f4@4 eb4 f4 ~ g4 ab4 g4 ~ f4@2 eb4@3",
  M: "d4@3 eb4 c4 bb3@3 f4@3 d4@5", N: "f4 g4 ~ ab4 g4 f4@3 eb4@3 d4@2 eb4 ~ c4", O: "bb3@3 f4 eb4 f4@3 g4@3 d4@5",
  P: "eb4@3 ~@2 c4@3 ~@3 g3@3 ~@2", Q: "bb3@3 ~@2 c4@3 ~@3 bb3@3 ~@2", R: "f4@3 ~@13", S: "g4@3 ~@2 d4@3 ~@3 g4@3 ~@2",
  T: "ab4@3 ~@13", U: "g4@3 ab4@3 ~@2 bb4@3 c5@5", V: "g4@3 ab4@2 ab4@5 ~ bb4@5", W: "bb3", X: "[bb3@27 ~@5]/2",
  Y: "bb3@5 bb3@5 ~ bb3@5", Z: "c4@5 c4@5 ~ bb3@5", AA: "bb5@3 bb5 a5 bb5@3 bb5 a5 ~ bb5 c6 d6 ~ c6",
  AB: "bb5 a5 ~ g5 f5 g5 ~ a5 bb5 c6 ~ bb5@5", AC: "bb5@3 bb5 a5 bb5 ~ c6 d6 c6 ~ bb5 a5 g5 ~ f5",
  AD: "g5@4 c6!2 ~ bb5!2 a5 ~ bb5@5", AE: "db5@3 db5!3 ~ eb5 ab4 eb5 ~ db5 eb5 ab4 ~ eb5",
  AF: "f5@3 f5!2 f5@3 f5!2 ~ f5!3 ~ f5", AG: "db5@3 db5!2 db5@3 db5!2 ~ db5!3 ~ db5",
  AH: "c5@3 c5!2 c5@3 c5!2 ~ c5@2 c5 ~ c5", AI: "bb4", AJ: "[bb4@27 ~@5]/2", AK: "c5 bb4 ~ ab4@4 bb4 c5@4 d5 eb5 ~ f5",
  AL: "g5@3 c5!3 ~ eb5 b4 d5 ~ a4 c5 g4 ~ d5", AM: "c5@3 c5!3 ~ eb5 b4 d5 ~ a4 c5 g4 ~ d5",
  AN: "c5@7 eb5 d5 eb5 ~ c5 eb5 d5 ~ eb5", AO: "c5 eb5 ~ d5 eb5 c5 ~ eb5 d5 eb5 ~ c5@5",
  AP: "g5@3 eb5!3 ~ g5 eb5 f5 ~ c5 eb5 bb4 ~ f5", AQ: "eb5@3 eb5!3 ~ g5 eb5 f5 ~ c5 eb5 bb4 ~ f5",
  AR: "eb5@7 g5 f5 g5 ~ eb5 g5 f5 ~ g5", AS: "eb5 g5 ~ f5 g5 eb5 ~ g5 f5 g5 ~ eb5@5",
  AT: "bb3 a3 ~ g3@4 a3 bb3@4 c4 d4 ~ e4", AU: "f4 e4 ~ d4@4 e4 f4@4 g4 a4 ~ b4", AV: "c5@7 e5 d5 e5 ~ c5@3 ~@2",
  AW: "ab3 g3 ~ f3@4 g3 ab3@4 bb3 c4 ~ d4", AX: "eb4 d4 ~ c4@4 d4 eb4@4 f4 g4 ~ a4", AY: "bb4@7 d5 c5 d5 ~ bb4@3 ~@2",
  AZ: "eb4 f4 ~ g4@4 bb4 c5@4 d5 eb5 ~ f5", BA: "g5@3 g5!3 ~ ab5 f5 ab5 ~ g5 ab5 f5 ~ ab5",
  BB: "eb5 f5 ~ db5 eb5 c5 ~ db5 bb4 c5 ~ ab4 bb4 g4 ~ ab4", BC: "ab3@3 g3@2 f3@3 eb3@3 f3@2 eb3@3",
  BD: "ab3@3 eb3@2 f3@3 eb3@3 f3@2 g3@3", BE: "f5 eb5 ~ db5@4 eb5 f5@4 g5 ab5 ~ bb5",
  BF: "c6@3 ab5!2 ab5@3 g5@3 f5@2 eb5@3", BG: "ab5@3 ab5!2 ab5@3 g5@3 f5@2 eb5@3", BH: "ab5@8 bb5@3 ab5@2 bb5@3",
  BI: "ab5@3 bb5@2 ab5@3 bb5@3 ab5@5", BJ: "eb5@3 eb5!3 ~ f5 bb4 f5 ~ eb5 f5 bb4 ~ f5",
  BK: "g5@3 g5!2 g5@3 g5!2 ~ g5!3 ~ g5", BL: "eb5@3 eb5!2 eb5@3 eb5!2 ~ eb5!3 ~ eb5",
  BM: "d5@3 d5!2 d5@3 d5!2 ~ d5@2 d5 ~ d5", BN: "f5@3 f5!3 ~ g5 eb5 g5 ~ f5 g5 eb5 ~ g5",
  BO: "f5@3 f5!3 ~ g5 ab5 g5 ~ f5 g5 eb5 ~ g5",
  BP: "bb4 [bb4,c5] c5 [bb4,c5] bb4 [bb4,c5] c5 [bb4,c5] bb4 [bb4,c5] c5 [bb4,c5] bb4 [bb4,c5] c5 [bb4,c5]", // Bbsus2
  BQ: "eb5@3 eb5 d5 eb5@3 f5@3 g5@2 bb5@3", BR: "f5@4 g5 eb5@3 f5@3 f5@5", BS: "f5@4 eb5 f5 ~ g5 ab5 g5 ~ f5@2 eb5@3",
  BT: "d5@3 eb5 c5 bb4@3 f5@3 d5@5", BU: "f5 g5 ~ ab5 g5 f5@3 eb5@3 d5@2 eb5 ~ c5",
  BV: "bb4@3 f5 eb5 f5@3 g5@3 d5@3 ~@2", BW: "c4@3 ~@2 c4@3 ~@3 g3@3 ~@2", BX: "ab3@3 ~@2 c4@3 ~@3 bb3@3 ~@2",
  BY: "ab3@3 ~@8 c4@3 ~@2", BZ: "g3@3 ~@2 d4@3 ~@3 g3@3 ~@2", CA: "f4@3 ~@2 c4@3 ~@3 d4@3 ~@2",
  CB: "g3@3 ab3@3 ~@2 bb3@3 c4@5", CC: "g3@3 ab3@2 ab3@8 bb3@3", CD: "eb5@3 eb5!3 ~ g5 d5 f5 ~ c5 eb5 bb4 ~ f5",
  CE: "bb5 [bb5,c6] c6 [bb5,c6] bb5 [bb5,c6] c6 [bb5,c6] bb5 [bb5,c6] c6 [bb5,c6] bb5 [bb5,c6] c6 [bb5,c6]", // Bbsus2
  CF: "bb5 [bb5,c6] c6 [bb5,c6] bb5 [f5,c6] [g5,ab5] bb5 ~@8", // Bbsus2 F5 Abmaj7
})).s("gm_clarinet").gain(0.3)

// other · clarinet · "Bb Clarinet"
const clarinet_3 = note(`<
  ~@7 A@2 B C D@4 E F E G H I D J K L H I D J D M D N O@2 P@2 ~@2 Q R S T U@5 V ~@5 W@2 X Y Z@4 E F E G H I D J D M D N
  AA@2 AB@2 AC AD AE AF@2 AG AH AC AD AE AI@2 AJ AK AL@2 AM AL AM@2 O AM AN@2 AO AP@2 AQ AC AD AE AI@2 AJ AK ~ AR AS
  AT@2 AU AV ~@5 AI@2 AW AX AY AZ AY AZ E F E G BA BB BC BD BE BF H BG L J BH BI BH BJ AN@2 AI@2 BK BL AP@3 BM
>`.pickRestart({
  A: "bb3@3 f3@2 g3@3 f3@3 g3@2 a3@3", B: "bb3@3 bb3!2 bb3@3 bb3!2 ~ bb3!3 ~ bb3",
  C: "a3@3 a3!2 a3@3 a3!2 ~ a3@2 a3 ~ a3", D: "ab3@3 ~@13", E: "ab3@11 c4@5", F: "d4@11 eb4@5", G: "d4@5 eb4@5 ~ f4@5",
  H: "g3@3 ~@2 g3@3 ~@3 bb3@3 ~@2", I: "bb3@3 ~@2 g3@3 ~@3 bb3@3 ~@2", J: "g3@3 ~@2 f3@3 ~@3 g3@3 ~@2",
  K: "ab3@3 ~@8 g3@3 ~@2", L: "f3@3 ~@8 g3@3 ~@2", M: "g3@3 c4@3 ~@2 bb3@3 g3@5", N: "bb3@3 ab3@2 ab3@5 ~ g3@5",
  O: "eb3", P: "[eb3@27 ~@5]/2", Q: "bb4@3 bb4 a4 bb4@3 bb4 a4 ~ bb4 c5 d5 ~ c5",
  R: "bb4 a4 ~ g4 f4 g4 ~ a4 bb4 c5 ~ bb4@5", S: "bb4@3 bb4 a4 bb4 ~ c5 d5 c5 ~ bb4 a4 g4 ~ f4",
  T: "g4@4 c5!2 ~ bb4 a4 g4 ~ g4@5", U: "bb3@5 bb3@5 ~ bb3@5", V: "c4@5 c4@5 ~ bb3@5",
  W: "db4@3 ab3@2 bb3@3 ab3@3 bb3@2 c4@3", X: "db4@3 db4!2 db4@3 db4!2 ~ db4!3 ~ db4",
  Y: "c4@3 c4!2 c4@3 c4!2 ~ c4@2 c4 ~ c4", Z: "bb3@3 ~@13", AA: "eb4", AB: "[eb4@27 ~@5]/2",
  AC: "~@3 ab3@5 ab3@3 ab3@2 bb3@3", AD: "~@3 c4@5 ab3@3 bb3@2 eb3@3", AE: "eb3@11 f3@5",
  AF: "c4@3 g3@2 ab3@3 g3@3 a3@2 b3@3", AG: "c4@5 ~@3 d4@3 c4@2 d4@3", AH: "c4@3 d4@2 c4@3 d4@3 c4@3 ~@2",
  AI: "eb4@3 bb3@2 c4@3 bb3@3 c4@2 d4@3", AJ: "eb4@5 ~@3 f3@3 eb3@2 f3@3", AK: "eb3@3 f3@2 eb3@3 f3@3 eb3@3 ~@2",
  AL: "g3", AM: "f3", AN: "eb4/2", AO: "eb5@3 eb5!3 ~ f5 bb4 f5 ~ eb5 f5 bb4 ~ f5",
  AP: "eb5 [eb5,f5] f5 [eb5,f5] eb5 [eb5,f5] f5 [eb5,f5] eb5 [eb5,f5] f5 [eb5,f5] eb5 [eb5,f5] f5 [eb5,f5]", // Ebsus2
  AQ: "eb5 [eb5,f5] f5 [eb5,f5] eb5 [eb5,f5] f5 [eb5,f5] eb5 [eb5,f5] f5 ~@5", AR: "f4@11 gb4@5", AS: "f4@11 g4@5",
  AT: "ab3@3 eb3!2 f3@3 eb3!2 ~ f3@2 g3@3", AU: "ab3 g3 ~ f3 g3 ab3@7 g3 f3 ~ g3",
  AV: "ab3 g3 ~ f3 g3 ab3 ~ g3 f3 g3 ~ ab3@5", AW: "eb4@3 eb4!2 eb4@3 eb4!2 ~ eb4!3 ~ eb4",
  AX: "d4@3 d4!2 d4@3 d4!2 ~ d4@2 d4 ~ d4", AY: "ab4@3 ab4!3 ~ bb4 g4 bb4 ~ ab4 bb4 g4 ~ bb4",
  AZ: "ab4@3 ab4!3 ~ bb4 c5 bb4 ~ ab4 bb4 g4 ~ bb4", BA: "bb3@3 ~@2 c4@3 ~@3 eb4@3 ~@2",
  BB: "c4@3 ~@2 c4@3 ~@3 d4@3 ~@2", BC: "c4@3 ~@8 c4@3 ~@2", BD: "bb3@3 ~@2 bb3@3 ~@3 bb3@3 ~@2",
  BE: "c4@3 ~@2 bb3@3 ~@3 a3@3 ~@2", BF: "g3@3 ~@2 bb3@3 ~@3 bb3@3 ~@2", BG: "ab3@3 ~@2 g3@3 ~@3 bb3@3 ~@2",
  BH: "ab3@3 ~@2 g3@3 ~@3 gb3@3 ~@2", BI: "g3@3 f3@3 ~@2 bb3@3 g3@5", BJ: "g3@3 ab3@2 ab3@8 bb3@3",
  BK: "eb4 d4 ~ c4 d4 eb4@7 d4 c4 ~ d4", BL: "eb4 d4 ~ c4 d4 eb4 ~ d4 c4 d4 ~ eb4@5",
  BM: "eb5 [eb5,f5] f5 [eb5,f5] eb5 [bb4,f5] [c5,d5] eb5 ~@8", // Ebsus2 Bb5 Csus2
})).s("gm_clarinet").gain(0.3)

// other · clarinet · "Alto Clarinet"
const clarinet_4 = note(`<
  ~@7 A@2 B C D@4 E@4 F G D H I J F G D H K L K M N@2 O P Q R Q R Q S T U T U T V ~@5 W@2 X Y D@4 E@4 F G D H K L K M
  N@2 O P Z@2 AA AB AC AD AE Z@2 AA AF AG AH AI AJ AK AL AM AN AO AJ AP AQ AR ~@4 Z@2 AA AF AG AH AI AS AT AU AV@2 AW AX
  ~@5 AY@2 AZ BA D@4 E@4 F BB BC BD BE BD BF BB BC BD BE BG BE BH AQ AR BI@2 BJ@2 N@2 O BK
>`.pickRestart({
  A: "g3@3 d3@2 eb3@3 d3@3 eb3@2 f3@3", B: "g3@3 g3!2 g3@3 g3!2 ~ g3!3 ~ g3", C: "d3@3 d3!2 d3@3 d3!2 ~ d3@2 d3 ~ d3",
  D: "f3@3 ~@13", E: "bb2/2", F: "eb3@3 ~@2 c3@3 ~@3 g2@3 ~@2", G: "bb2@3 ~@2 c3@3 ~@3 bb2@3 ~@2",
  H: "g3@3 ~@2 d3@3 ~@3 g3@3 ~@2", I: "f3@3 ~@8 g3@3 ~@2", J: "d3@3 ~@8 g3@3 ~@2", K: "ab3@3 ~@13",
  L: "g3@3 ab3@3 ~@2 bb3@3 c4@5", M: "g3@3 ab3@2 ab3@5 ~ bb3@5", N: "eb3@3 eb3!3 ~ f3 bb2 f3 ~ eb3 f3 bb2 ~ f3",
  O: "eb3@3 eb3!2 eb3@3 bb2@3 eb3@2 bb2@3", P: "eb3@3 eb3!2 eb3@5 ~@6", Q: "g3@5 d3@5 ~ g3@5", R: "d3@5 g3@5 ~ d3@5",
  S: "eb3@5 c4@5 ~ g3@5", T: "g3@5 f3@5 ~ g3@5", U: "f3@5 g3@5 ~ f3@5", V: "g3@5 gb3@5 ~ f3@5",
  W: "bb3@3 f3@2 gb3@3 f3@3 gb3@2 ab3@3", X: "bb3@3 bb3!2 bb3@3 bb3!2 ~ bb3!3 ~ bb3",
  Y: "f3@3 f3!2 f3@3 f3!2 ~ f3@2 f3 ~ f3", Z: "~@3 eb3!2 ab3@3 eb3@3 ab3@2 eb3@3", AA: "ab2@3 eb3@2 ab3@3 g3@3 f3@5",
  AB: "c3@3 g3!2 ab3@3 g3@3 a3@2 b3@3", AC: "c4@3 g3!2 ab3@3 g3!2 ~ a3!2 b3 ~ b3", AD: "c4 b3 ~ a3 b3 c4@7 b3 a3 ~ b3",
  AE: "c4 b3 ~ a3 b3 c4 ~ b3 a3 b3 ~ c4@5", AF: "eb3@3 bb2!2 c3@3 bb2@3 c3@2 eb3@3",
  AG: "eb3@3 bb2!2 c3@3 bb2!2 ~ c3!2 d3 ~ d3", AH: "eb3 d3 ~ c3 d3 eb3@7 d3 c3 ~ d3",
  AI: "eb3 d3 ~ c3 d3 eb3 ~ d3 c3 d3 ~ eb3@5", AJ: "c3@3 d3@2 eb3@3 d3@3 c3@5", AK: "g2@3 a2@2 bb2@3 a2@3 g2@5",
  AL: "d3@3 e3@2 f3@3 e3@3 d3@5", AM: "c3@3 g2@2 a2@3 b2@3 c3@5", AN: "bb2@3 c3@2 db3@3 c3@3 bb2@5",
  AO: "f3@3 g3@2 ab3@3 g3@3 f3@5", AP: "bb3@3 f3@2 g3@3 a3@3 bb3@5", AQ: "eb4@3 c4@2 bb3@3 ab3@3 g3@2 f3@3",
  AR: "eb3@3 c3@2 bb2@3 ab2@3 g2@2 f3@3", AS: "ab3@3 ab3@2 g3@3 ab3@3 gb3@2 ab3@3",
  AT: "f3@3 ab3@2 db3@3 ab3@3 bb2@2 c3@3", AU: "db3@3 ab3@2 db3@3 c3@3 bb2@5", AV: "ab3@3 eb3!2 f3@3 eb3!2 ~ f3@2 g3@3",
  AW: "ab3 g3 ~ f3 g3 ab3@7 g3 f3 ~ g3", AX: "ab3 g3 ~ f3 g3 ab3 ~ g3 f3 g3 ~ ab3@5",
  AY: "c3@3 g2@2 ab2@3 g2@3 ab2@2 bb2@3", AZ: "c3@3 c3!2 c3@3 c3!2 ~ c3!3 ~ c3",
  BA: "g2@3 g2!2 g2@3 g2!2 ~ g2@2 g2 ~ g2", BB: "ab2@3 ~@2 c3@3 ~@3 bb2@3 ~@2", BC: "ab2@3 ~@8 c3@3 ~@2",
  BD: "g2@3 ~@2 d3@3 ~@3 g2@3 ~@2", BE: "f3@3 ~@2 c3@3 ~@3 d3@3 ~@2", BF: "c3@3 ~@2 c3@3 ~@3 g2@3 ~@2",
  BG: "g2@3 ab2@3 ~@2 bb2@3 c3@5", BH: "g2@3 ab2@2 ab2@8 bb2@3", BI: "eb3@3 bb2@2 c3@3 bb2@3 c3@2 d3@3", BJ: "eb3",
  BK: "eb3@3 eb3!2 eb3@3 ~@8",
})).s("gm_clarinet").gain(0.3)

stack(clarinet, clarinet_2, clarinet_3, clarinet_4)