Strudelify

Funkytown / I Feel Good

Lucky Chopsarr. ZHL242 and Kevin Romano

KeyB♭ majorTempo128 bpm
0:00/0:00
// Funkytown / I Feel Good — Lucky Chopsarr. ZHL242 and Kevin Romano
// 128 bpm, 4/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: duplicate parts dropped: ch 6 "B♭ Clarinet" clarinet (copy of ch 1 "B♭ Trumpet" trumpet)
// note: Transcription provider: pdmx. https://musescore.com/score/5977261; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 190 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(128/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · "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 · french horn · "Horn in F"
const french_horn = note(`<
  ~@13 A@2 B@4 C@4 B@4 D@3 E F@2 G H I J ~@3 K@8 ~@3 A@2 L@4 M@3 E F@2 G N O P Q P R S@2 T@2 K@16 U V W X Y Z AA AB ~
  K@5 AC AD AE AF AG@2 AH AI AJ@2 AK AL AM@2 AN AO AP AQ AR AS AT@2 AU AV AW@2 AX AY AZ BA BB BC BD@2 BE BF BG BH BI BJ
  BK@2 BL BM BN@2 BO BP BQ@2 BR BS BT@2 BU@6 BV BW BX BY BZ CA@3 CB@2 CC CD CE CF CG CH CI CJ CK CL CM CN CO CP CQ CR
>`.pickRestart({
  A: "[~@7 c3@2 c3!3 e3@2 e3!2]/2",
  B: "[g3@2 g3 ~@3 e4@2 ~@2 d4@2 c4@28 ~@6 c3@4 c3@2 c3@2 c3@2 e3@2 e3@2 e3@2 e3@2]/4",
  C: "[g3!4 e4 d4 c4@14 ~@3 c3@2 c3!3 e3@2 e3!2]/4", D: "[g3@4 g3@4 g3@4 g3@4 e4@4 d4@4 c4@56 ~@4 b3 c4@7 c4@4]/3",
  E: "d4@2 d4@2 d4@2 d4 ~ c4@2 c4@2 c4@2 c4 ~", F: "[b3@2 b3@2 b3@2 b3 ~ a3@2 a3@2 a3@2 g3@6 ~@12]/2", G: "~@7 d4",
  H: "~@2 d4@2 d4 ~@3 c4@2 c4@2 c4 ~@3", I: "b3@2 b3@2 b3 ~@3 a3@4 a3@4", J: "g3 ~@3", K: "eb4@3 eb4 eb4@2 ~@10",
  L: "[g3!2 ~ e4 ~ d4 c4@16 ~ c3@2 c3!3 e3!4]/4", M: "[g3!3 ~ e4 d4 c4@14 ~ c4@2 c4]/3", N: "~ d4!2 ~ c4!3 ~",
  O: "b3!3 ~ a3@2 ~@2", P: "c4@3 c4@2 c4@3 ab4@3 ab4@2 ab4@3 g4@3 g4@2 g4@3 eb4@3 f4@2 g4@3",
  Q: "c4@3 c4@2 c4@3 ab4@3 ab4@2 ab4@3 eb4@3 f4@2 g4@3 b4@4 ~@4",
  R: "c4@3 c4@2 c4@3 ab4@3 ab4@2 ab4@3 g4@3 f4@2 eb4@3 c4@4 ~@4", S: "~ c4@7", T: "[~ c4@14 ~]/2",
  U: "~@10 f4@2 f4@2 eb4 ~", V: "f4@2 eb4 ~ f4@2 eb4 ~ bb4@3 ab4@5", W: "~@10 f4@2 eb4@2 f4 ~",
  X: "ab4@2 f4 ~ eb4 f4 ab4@2 f4 eb4 c4 b3 bb3 ab3 f3@2", Y: "~@10 f4!4 eb4@2",
  Z: "f4 eb4 f4!4 eb4 f4 bb4!2 ab4 f4 bb3 ab3@3", AA: "~@5 f4 eb4 f4", AB: "f4 eb4 f4 eb4@29",
  AC: "eb4@6 ~@6 eb4@6 ~@7 eb4@2 ~@5", AD: "~@24 e4@3 eb4@3 e4@2", AE: "~@2 eb4@3 e4@3 eb4@3 e4@3 ~@18",
  AF: "~@10 e4@3 eb4@3 e4@3 ~ eb4@3 e4@3 eb4@3 e4@3", AG: "[~@28 eb4@3 d4@3 eb4@3 d4@3 ~ eb4@3 d4@3 eb4@3 ~@14]/2",
  AH: "~@14 e4@3 eb4@3 e4@3 eb4@3 ~ e4@3 eb4@2", AI: "~ e4@3 ~@28",
  AJ: "[d4@2 ~@4 d4@2 ~@17 c4@2 ~@4 c4@2 ~@14 c4@2 ~@4 e4@2 ~@4 g4@2 ~@3]/2", AK: "~ bb4 ~@2 d5 ~@11",
  AL: "~@4 e4@3 eb4@3 e4@3 eb4@3 e4@3 ~ eb4@3 e4@3 ~@6", AM: "[~@22 e4@3 eb4@3 e4@3 eb4@3 e4@3 eb4@3 ~ e4@3 ~@20]/2",
  AN: "~@8 eb4@3 d4@3 eb4@3 d4@3 eb4@3 d4@3 ~ eb4@3 ~@2", AO: "~@26 e4@3 eb4@3", AP: "e4@3 eb4@3 e4@3 eb4@3 e4@3 ~@17",
  AQ: "~@6 d4 ~@2 d4 ~@6", AR: "~@5 c4@2 ~@4 c4@2 ~@14 c4@2 ~@3", AS: "~ e4@2 ~@4 g4@2 ~@4 bb4@2 ~@5 d5@2 ~@10",
  AT: "[~@9 c3@3 ~@7 c4@3 ~@3 bb3@3 ~@3 g3@3 bb3@3 g3@3 ~@4 eb3!2 eb3@13 c3@3 ~@2]/2",
  AU: "~@5 c4@3 ~@3 bb3@3 ~@3 g3@3 bb3@3 g3@3 ~@4 eb3!2", AV: "eb3@3 ~ gb3@3 f3@3 eb3@3 c3@3 ~@7 c4@3 ~@3 bb3@3",
  AW: "[~@3 g3@3 bb3@3 g3@3 ~@4 eb3@12 ~@3 c5@2 ~ g4@2 ~ bb4@2 g4@2 ~ eb4@2 ~ f4@2 ~ c4@2 f4@2 ~ c4@2 ~ eb4@2 ~ bb3@2 ~ c4@2, ~@33 bb4@2 ~ f4@2 ~@3 f4@2 ~ g4@2 ~ eb4@2 ~@3 eb4@2 ~ bb3@2 ~ c4@2 ~ g3@2 ~]/2",
  AX: "bb3@2 ~ f3@2 ~ g3@2 ~ eb3@2 c3@3 ~@9 e4@3 ~ eb4@3 e4@2, ~@2 g3@2 ~ bb3@2 ~ f3@2 ~@22",
  AY: "~ eb4@3 e4@3 eb4@3 e4@3 ~@19", AZ: "~@9 e4@3 eb4@3 ~ e4@3 eb4@3 e4@3 eb4@3 e4@3 ~", BA: "~@27 eb4@3 d4@2",
  BB: "~@2 eb4@3 d4@3 eb4@3 d4@3 eb4@3 ~@15", BC: "~@13 e4@3 eb4@3 ~ e4@3 eb4@3 e4@3 eb4@3",
  BD: "[e4@3 ~@28 d4@2 ~@4 d4@2 ~@17 c4@2 ~@4 c4@2]/2", BE: "~@14 c4@2 ~@4 e4@2 ~@5 g4@2 ~@3",
  BF: "~ bb4@2 ~@4 d5@2 ~@20 c3@3", BG: "~@6 c4@3 ~@3 bb3@3 ~@4 g3@3 bb3@3 g3@3 ~@3 gb3",
  BH: "gb3!2 gb3@13 c3@3 ~@6 c4@3 ~@3 bb3@2", BI: "~@5 g3@3 bb3@3 g3@3 ~@3 gb3!3 gb3@12",
  BJ: "~ c3@3 ~@6 c4@3 ~@3 bb3@3 ~@4 g3@3 bb3@3 g3@3",
  BK: "[~@3 db4@12 ~@10 bb2@3 c3@3 eb3@3 eb3@3 f3@3 ~@4 g3@3 g3@3 bb3@3 ~@3 c4@6 db4@2]/2",
  BL: "~@8 c4@3 c4@3 c4@3 ~@3 c4@3 c4@3 ~ c4@3 ~@2", BM: "~ c4@3 c4@3 c4@3 bb3@3 c4@2 ~ g3@3 ~ bb3@2 ~@4 c4@3 c4@3",
  BN: "[c4@3 ~@3 c4@3 c4@3 c4@3 ~@4 c4@3 c4@3 c4@3 d4@3 eb4@3 d4@3 db4@3 ~@7 g3@3 c4@3 ~@3 c4@3 c4@3 c4@2]/2",
  BO: "~@2 c4@6 g3@3 ~@3 c4@2 ~@4 g3@3 g3@3 ~ c4@3 ~@2", BP: "~ d4@3 ~@3 eb4@3 ~@3 f4@3 ~@4 g4@3 ~@3 f4@3 ~@3",
  BQ: "[eb4@3 ~@3 f4@3 ~@7 c4@3 ~@3 eb4@3 ~@3 c4@3 eb4@3 f4@3 g4@3 ~ g4@2 ~@4 eb4@3 ~@3 c4@3 eb4@3 f4@3 g4@2]/2",
  BR: "~@2 g4@2 ~@4 eb4@3 ~@3 c4@3 eb4@3 f4@3 ~@4 bb4@3 g4@2",
  BS: "~ f4@3 eb4@3 c4@3 eb4@3 f4@3 g4@3 ~ c4@3 ~@3 eb4@3 ~@3",
  BT: "[c4@3 eb4@3 f4@3 g4@3 g4@2 ~@5 eb4@3 ~@3 c4@3 eb4@3 f4@3 f4@6 ~ eb4@2 ~@4 f4@6 eb4@2 ~@4 f4 g4@4]/2",
  BU: "[~@2 bb4@2 ~@4 gb4 f4@5 eb4@2 ~@4 c4@84 ~@4 g3@6 bb3@3 ~@3 c4@50 ~@6 c4@3 ~ c4@3 eb4@6 f4@3]/6",
  BV: "~@6 g4@3 g4@3 g4@3 ~ bb4@6 c5@3 ~@3 c5@3 ~", BW: "~@5 g4@3 ~@7 gb4@3 ~@6 f4@3 ~@3 eb4@2",
  BX: "~@2 c4@3 eb4@3 f4@3 g4@3 c5@3 ~@6 g4@3 ~@6", BY: "~ gb4@3 ~@6 f4@3 eb4@3 f4@3 ~ eb4@3 f4@3 d4@3 ~@3",
  BZ: "~@6 c5@3 g4@3 ~@4 f4@3 ~@3 eb4@3 ~@3 c4@3 ~",
  CA: "[~@2 eb4@3 ~@4 f4@3 g4@3 bb4@3 c5@6 eb4@3 ~@3 f4@6 ~ g4@3 ~@3 bb4@6 c5@6 eb5 ~ d5 db5 c5 b4 ~ bb4@6 ~@6 e4@3 eb4@3 e4@3 ~ eb4@3 e4@3 eb4@3 e4@3]/3",
  CB: "[~@28 e4@3 eb4@3 e4@3 eb4@3 ~ e4@3 eb4@3 e4@3 ~@14]/2", CC: "~@14 eb4@3 d4@3 eb4@3 d4@3 ~ eb4@3 d4@2",
  CD: "~ eb4@3 ~@28", CE: "e4@3 eb4@3 e4@3 eb4@3 e4@3 ~ eb4@3 e4@3 ~@10", CF: "~@9 d4 ~@2 d4 ~@3",
  CG: "~@11 c4@2 ~@4 c4@2 ~@13", CH: "~ c4@2 ~@4 e4@2 ~@4 g4@2 ~@5 bb4@2 ~@4 d5@2 ~@4", CI: "~@11 d4 ~@2 d4 ~",
  CJ: "~@15 c4@2 ~@4 c4@2 ~@9", CK: "~@5 c4@2 ~@4 e4@2 ~@4 g4@2 ~@4 bb4@2 ~@5 d5@2", CL: "~@13 d4 ~@2",
  CM: "d4@2 ~@17 c4@2 ~@4 c4@2 ~@5", CN: "~@9 c4@2 ~@4 e4@2 ~@4 g4@2 ~@4 bb4@2 ~@3",
  CO: "~@2 d5@2 ~@4 c5@2 ~@4 bb4@2 ~@4 g4@2 ~@5 f4@2 ~@3", CP: "~ eb4@15 ~@16", CQ: "~@9 c5@12 ~ e4@10",
  CR: "~ e4@6 ~@9",
})).s("gm_french_horn").gain(0.3)

// other · trombone
const trombone = note(`<
  ~@13 A@2 B@4 C@4 D@4 E@3 F G@2 H I J K ~@3 L@2 M@2 N@2 O@2 P Q@2 R@2 S@4 T@3 F G@2 H I U V ~@7 W X Y Z@2 AA AB AC AD
  AE AD AF AG AH AI AJ AK ~ AL ~ AL ~ AK ~ AM AN AO AP AQ AR AS@2 AT AU AV AW AX AY AZ@2 BA ~ BB BC@2 BD BE BF BG ~@6
  BH@2 BI BJ@2 BK BL BM BN BO ~@31 BP BQ BR BS BT BU@3 BV ~ BW BX BY BZ CA@2 CB@2 CC CD
>`.pickRestart({
  A: "[~@7 c3@2 c3!3 e3@2 e3!2]/2",
  B: "[g3@2 g3 ~@3 e4@2 ~@2 d4@2 c4@28 ~@6 c3@4 c3@2 c3@2 c3@2 e3@2 e3@2 e3@2 e3@2]/4",
  C: "[g3!4 e4 d4 c4@14 ~@3 e3@2 e3!3 g3@2 g3!2]/4", D: "[bb3!2 ~ g4 ~ f4 e4@14 ~@3 e3@2 e3!3 g3!4]/4",
  E: "[bb3@4 bb3@4 bb3@4 bb3@4 g4@4 f4@4 e4@56 ~@4 eb4 e4@7 e4@4]/3", F: "f4@2 f4@2 f4@2 f4 ~ e4@2 e4@2 e4@2 e4 ~",
  G: "[d4@2 d4@2 d4@2 d4 ~ c4@2 c4@2 c4@2 b3@6 ~@12]/2", H: "~@7 f4", I: "~ f4!2 ~ e4!3 ~",
  J: "d4@2 d4@2 d4 ~@3 c4@4 c4@4", K: "c4 ~@3", L: "[~@12 bb3@4 c4@2 c4@2 bb3@4 c4@4 g3@12 ~@4 c4@4 c4@4 eb4!12]/2",
  M: "[~@12 g3@4 bb3@2 bb3@2 g3@4 bb3@4 bb3@2 c4@10 ~@4 c4@4 c4@4 eb3 f3 eb3@10]/2",
  N: "[~@6 bb3!2 c4!2 bb3@2 c4@2 g3@6 ~@2 f4@2 ~ f4@2 ~ eb4@4]/2",
  O: "[~@12 g3@4 bb3@2 bb3@2 g3@4 bb3@4 bb3@2 c4@10 ~@4 c4@2 c4@2 bb3@2 c4@2 c4@2 ~@2 eb3@3 d3@2 db3@3]/2",
  P: "c3@8 ~@4 c4@2 c4@2 bb3@2 c4@2 c4@2 ~@2 eb3@3 d3@2 db3@3", Q: "c3@4 ~@2 c4!2 bb3 c4!2 ~ eb3@4",
  R: "[~@2 c4!2 ~@2 c4!2 ~@2 c4!2 ~@2 c3@4 c3@2 c3@2 c3@2 e3@4 e3@2 e3@2]/2",
  S: "[g3!2 ~ e4 ~ d4 c4@16 ~ e3@2 e3!3 g3!4]/4", T: "[bb3@4 bb3@4 bb3@4 ~@4 g4@4 f4@4 e4@56 ~@4 eb4 e4@7 e4@4]/3",
  U: "d4!3 ~ c4@2 c4@2", V: "c4@7 ~", W: "~@12 f4@2 g4@2 g4@2 g4@2 g4@4 bb4@4 g4!4",
  X: "g4!5 ~@7 g4@4 f4@2 f4@2 eb4@4 g4!8", Y: "~@12 g4!4 f4@2 g4@2 g4@2 g4@2 g4@4 g4@4, ~@16 g4 ~@15",
  Z: "[~@10 c4@2 c4@2 c4@2 f4@2 f4@2 eb4@4 c4 d4 c4@10 ~@8 c4@2 c4@2 c4@2 c4@2 c4@2 d4@2 c4@4 g3@4]/2",
  AA: "~@12 bb3@2 bb3@2 bb3@2 bb3@2 c4@4 eb4!8", AB: "~@6 bb3!4 bb3@2 bb3@2 c4@2", AC: "~@6 c4!2 bb3 c4 c4@2 eb3@4",
  AD: "~@8 g4@4 g4@4 g4 gb4 f4 e4 eb4@2 eb4@2 eb4@4 c4@4", AE: "~@8 c4@4 c4@2 c4@2 eb4@2 eb4@2 f4@4 g4!8",
  AF: "~@4 c4!4 f4 c4 eb4@2 c4@4", AG: "~@4 c4@2 c4@2 bb3 c4!3 c4@2 g3@2",
  AH: "~@8 bb3@2 bb3@2 bb3@2 bb3@2 bb3@2 bb3@2 c4@4 eb4!8", AI: "~@4 bb3!3 ~ bb3!3 ~ bb3@2 c4@2",
  AJ: "~@4 c4!2 b3!2 bb3!2 a3!2 ab3!2 g3!2", AK: "f3 f3@2 f3 ~ f3@2 eb3 f3@2 ~@6", AL: "a3 a3@2 a3 ~ a3@2 g3 a3@2 ~@6",
  AM: "~@4 g4@2 g4 g4@2 g4 g4@2 f4@2 eb4@2", AN: "~@4 c4@2 c4 eb4!3 f4@2 g4@4",
  AO: "~@4 g4@2 g4 g4@2 g4 g4@2 g4 f4 eb4@2", AP: "~@4 c4!4 eb4 c4!3 c4@2 ~@2", AQ: "~@4 c4!4 c4@2 c4!4 g3@2",
  AR: "~@4 c4@2 c4!2 c4@2 c4@2 eb4@2 ~@2", AS: "[~@6 c4@6 ~@7 eb4@6 ~@6 f4@6 g4@3 ~ f4@3 g4@3 c4@6 ~@11]/2",
  AT: "~@14 b3@3 c4@3 b3@3 c4@3 ~ b3@3 c4@2", AU: "~ e4@6 ~@25", AV: "~@3 c4@6 g4@3 g4@3 ~@4 f4@6 f4@6 ~",
  AW: "~@18 b3@3 c4@2 ~ c4@2 ~ eb4@2 ~ f4@2", AX: "~@2 g4@2 ~ c4@6 ~@21", AY: "~@20 g4@3 g4@6 ~@3",
  AZ: "[~@12 f4@3 ~ f4@6 ~@9 eb4@3 f4@2 ~ eb4@3 ~ g4@6 ~@17]/2", BA: "~@17 g4@3 g4@2 ~@5 c4@5",
  BB: "b3@3 c4@3 b3@3 c4@3 e4@6 ~@14", BC: "[~@12 c4!9 g4!6 c4@3 f4@5 g4@2 f4@3 ~@22 c4@2, ~@27 g4 ~@36]/2",
  BD: "~ c4@2 ~ c4@2 ~ eb4@3 f4@3 g4@2 ~ c4 d4 c4@5 ~@9", BE: "~@31 g4", BF: "g4!2 g4@6 ~@16 f4@3 f4@5",
  BG: "~@11 eb4@3 f4@2 ~ eb4@3 g4@6 ~@6", BH: "[~@24 g4@6 g4@6 ~ g4@3 g4@3 ~@3 c4@9 ~@9]/2",
  BI: "~@13 b3@3 c4@3 ~ b3@3 c4@3 b3@3 c4@3",
  BJ: "[e4!10 ~@21 c4@9 ~ g4@3 g4@3 eb4@2 ~ f4@8 ~ f4@3 ~@2, ~@29 g4 ~@2]/2",
  BK: "~@14 eb3!3 bb4@3 ~@3 gb4@3 ~ f4@3 eb4@2, ~@17 eb3 ~@14", BL: "~ c4@4 c4@2 c4@6 ~@19",
  BM: "~@3 g3@2 g3 g3@3 g3@2 ~ g3@3 ~ g3@2 ~ g4@3 g4@6 ~@4", BN: "~@12 f4!3 f4@6 ~@9 eb4@2",
  BO: "~@2 f4@3 eb4@3 g4@3 ~@21", BP: "~@5 c5@3 c5@15 g4@3 ~ g4@3 ~@2", BQ: "~ c4@16 ~@15",
  BR: "b3@3 c4@3 b3@3 c4@3 b3@3 ~ c4@3 eb4 e4@5 g4@6 ~", BS: "~@15 c4@3 c4@3 bb4@3 bb4@3 g4@3 g4@2",
  BT: "~@2 eb4@3 f4@6 ~ f4@2 ~@18, ~@11 g4@2 ~@19",
  BU: "[~@4 b3@3 c4@3 c4@3 eb4@3 f4@3 ~ g4@3 c4@3 c4 c4@8 ~@19 g3!2 ~ g3@3 g3@3 g3@3 g3@3 g4@3 ~ g4@9 ~@12 f4!2, ~@27 d4 ~@68]/3",
  BV: "f4!2 f4@9 ~@6 eb4@3 f4@3 eb4@3 ~ g4@5", BW: "~@9 g4!3 g4@3 ~@17", BX: "~@2 f4!3 f4@3 ~@13 eb4@3 f4@3 eb4@3 g4!2",
  BY: "g4 g4@3 ~@28", BZ: "~@13 g4@3 g4@3 ~@13", CA: "[~@6 f4@3 f4@3 ~@13 eb4@3 f4@3 eb4@3 g4@6 ~ g4@6 g4@17]/2",
  CB: "[~ g4@6 g4@11 ~@14]/2", CC: "~@9 c4@12 ~ e4@10", CD: "~ e4@6 ~@9",
})).s("gm_trombone").gain(0.3)

// other · baritone sax · "Baritone Saxophone"
const baritone_sax = note(`<
  A B C D A B C E F@21 G H@4 I J K L M N O@8 P Q R S F@7 G H@2 T U I J V W V X Y Z AA AB O@16 AC ~ AC ~ AC ~ AC ~ O@6 AD
  AE AF AG AH@2 AI AJ AK@2 AL AM AN@2 AO AP AQ AR AS AT AU@2 AV AW AX@2 AY AZ BA BB BC BD BE@2 BF BG BH BI BJ BK BL BM
  BN BO BP BQ BR BS BT@2 BU BV BW BX BY ~ BZ CA ~ CB@3 CC CD CE CF CG AG CH@2 CI CJ CK CL CM CN CO CP CQ CR CS CT CU CV
  CW CX
>`.pickRestart({
  A: "f3@2 ~@4 c4 ~@3 ab3@6 f3@2 ~@4 c4 ~@3 ab3!6", B: "f3@2 ~@4 c4 ~@3 ab3!6 f3@2 ~@4 c4 ~@3 ab3@6",
  C: "bb3@2 ~@4 c4 ~@3 ab3@6 bb3@2 ~@4 c4 ~@3 ab3@6", D: "g3 ~@4 c3 f3 g3 ab3@2 c4@2 g3@2 c4@2",
  E: "g3@3 ~@7 c3 ~ f3 ~ g3 ~ ab3@2 ~@2 ab3@4 g3@2 ~@2 g3@4", F: "~@4 c3@3 ~@5 c3@3 ~@5 c3@3 ~@5 c3@3 ~",
  G: "~@4 c3@3 ~@5 c3@3 ~ c3@4 b2@4 bb2@4 a2@4", H: "~@4 g2@3 ~@5 g2@3 ~@5 g2@3 ~@5 g2@3 ~",
  I: "~@4 g2@3 ~@5 g2@3 ~@5 f2@3 ~@5 f2@3 ~", J: "~@4 e2@3 ~@5 e2@3 ~@5 d2@3 ~@5 d2@3 ~",
  K: "c2@5 ~@7 c2@2 c2@2 ~@2 c2@2 c2@2 ~@6 eb2@2 ~@2", L: "c2@5 ~@7 c2@2 c2@2 ~@2 c2@2 c2@2 ~@6 gb2@2 ~@2",
  M: "c2@3 ~ c2@4 ~@4 c2@2 c2@2 ~@2 c2@2 c2@2 ~@6 eb2@2 ~@2", N: "c2@3 ~ c2@4 ~@4 c2@2 c2@2 ~@2 c2@2 c2@2 ~@10",
  O: "c3@3 c3 c3@2 ~@10", P: "c2!2 g2!2", Q: "gb2!2 ab2 gb2", R: "c2!2 ab2 gb2", S: "c2@2 c2@2 ~ gb2 ab2 g2",
  T: "~@4 ab2@3 ~@5 a2@3 ~@5 bb2@3 ~@5 b2@3 ~", U: "~@4 c3@3 ~@5 db3@3 ~@5 d3@3 ~@5 g2@3 ~",
  V: "c3@3 c3@2 c3@3 ab3@3 ab3@2 ab3@3 g3@3 g3@2 g3@3 eb3@3 f3@2 g3@3",
  W: "c3@3 c3@2 c3@3 ab3@3 ab3@2 ab3@3 eb3@3 f3@2 g3@3 b3@4 ~@4",
  X: "c3@3 c3@2 c3@3 ab3@3 ab3@2 ab3@3 g3@3 f3@2 eb3@3 c3@4 ~@4", Y: "~@2 c5@2 c5@2 bb4 c5 ~ bb4 c5@2 c5@4",
  Z: "~@2 db5@2 db5@2 c5 db5 ~ c5 db5@2 db5@4", AA: "~@2 d5@2 d5@2 d5!2 ~ d5 d5@2 d5@2 d5 eb5",
  AB: "~ eb5 eb5@2 eb5@2 eb5 eb5@2 eb5 eb5@2 eb5@2 eb5!2", AC: "f3 f3@2 f3 ~ f3@2 eb3 f3@2 ~@6",
  AD: "c3@6 ~@6 c3@6 ~@7 c3@2 ~@5", AE: "~@24 g3@3 gb3@3 g3@2", AF: "~@2 gb3@3 g3@3 gb3@3 g3@3 ~@18",
  AG: "~@10 g3@3 gb3@3 g3@3 ~ gb3@3 g3@3 gb3@3 g3@3", AH: "[~@28 f3@3 e3@3 f3@3 e3@3 ~ f3@3 e3@3 f3@3 ~@14]/2",
  AI: "~@14 g3@3 gb3@3 g3@3 gb3@3 ~ g3@3 gb3@2", AJ: "~ g3@3 ~@28",
  AK: "[g2@2 ~@4 g2@2 ~@17 f2@2 ~@4 f2@2 ~@14 c2@2 ~@4 e2@2 ~@4 g2@2 ~@3]/2", AL: "~ bb2 ~@2 d3 ~@11",
  AM: "~@4 g3@3 gb3@3 g3@3 gb3@3 g3@3 ~ gb3@3 g3@3 ~@6", AN: "[~@22 g3@3 gb3@3 g3@3 gb3@3 g3@3 gb3@3 ~ g3@3 ~@20]/2",
  AO: "~@8 f3@3 e3@3 f3@3 e3@3 f3@3 e3@3 ~ f3@3 ~@2", AP: "~@26 g3@3 gb3@3", AQ: "g3@3 gb3@3 g3@3 gb3@3 g3@3 ~@17",
  AR: "~@6 g2 ~@2 g2 ~@6", AS: "~@5 f2@2 ~@4 f2@2 ~@14 c2@2 ~@3", AT: "~ e2@2 ~@4 g2@2 ~@4 bb2@2 ~@5 d3@2 ~@10",
  AU: "[~@9 c2@3 ~@7 c3@3 ~@3 bb2@3 ~@3 g2@3 bb2@3 g2@3 ~@4 eb2!2 eb2@13 c2@3 ~@2]/2",
  AV: "~@5 c3@3 ~@3 bb2@3 ~@3 g2@3 bb2@3 g2@3 ~@4 eb2!2", AW: "eb2@3 ~ gb2@3 f2@3 eb2@3 c2@3 ~@7 c3@3 ~@3 bb2@3",
  AX: "[~@3 g2@3 bb2@3 g2@3 ~@4 eb2@12 ~@3 c4@2 ~ g3@2 ~ bb3@2 g3@2 ~ eb3@2 ~ f3@2 ~ c3@2 f3@2 ~ c3@2 ~ eb3@2 ~ bb2@2 ~ c3@2, ~@33 bb3@2 ~ f3@2 ~@3 f3@2 ~ g3@2 ~ eb3@2 ~@3 eb3@2 ~ bb2@2 ~ c3@2 ~ g2@2 ~]/2",
  AY: "bb2@2 ~ f2@2 ~ g2@2 ~ eb2@2 c2@3 ~@9 g3@3 ~ gb3@3 g3@2, ~@2 g2@2 ~ bb2@2 ~ f2@2 ~@22",
  AZ: "~ gb3@3 g3@3 gb3@3 g3@3 ~@19", BA: "~@9 g3@3 gb3@3 ~ g3@3 gb3@3 g3@3 gb3@3 g3@3 ~", BB: "~@27 f3@3 e3@2",
  BC: "~@2 f3@3 e3@3 f3@3 e3@3 f3@3 ~@15", BD: "~@13 g3@3 gb3@3 ~ g3@3 gb3@3 g3@3 gb3@3",
  BE: "[g3@3 ~@28 g2@2 ~@4 g2@2 ~@17 f2@2 ~@4 f2@2]/2", BF: "~@14 c2@2 ~@4 e2@2 ~@5 g2@2 ~@3",
  BG: "~ bb2@2 ~@4 d3@2 ~@20 c2@3", BH: "~@6 c3@3 ~@3 bb2@3 ~@4 g2@3 bb2@3 g2@3 ~@3 db3",
  BI: "db3!2 db3@13 c2@3 ~@6 c3@3 ~@3 bb2@2", BJ: "~@5 g2@3 bb2@3 g2@3 ~@3 eb3!3 eb3@12",
  BK: "~ c2@3 ~@6 c3@3 ~@3 bb2@3 ~@4 g2@3 eb3@3 c3@3", BL: "~@3 db3@12 ~@4 c2@3 ~@6 c3@3 ~",
  BM: "~@2 bb2@3 ~@4 g2@3 g2@3 ~@3 g2@3 ~@3 f2@6 g2@2", BN: "~@5 c2@3 ~@6 eb2@3 ~@3 f2@3 ~@4 g2@3 ~@2",
  BO: "~@7 eb2@3 f2@3 ~@3 db2@3 ~@4 c2@3 ~@6", BP: "eb2@3 ~@3 f2@3 ~@3 g2@3 ~@10 f2@3 g2@3 ~",
  BQ: "~@2 bb2@3 ~@4 c2@3 c2@3 ~@3 eb2@3 ~@3 f2@3 ~@3 g2@2", BR: "~@11 f2@3 g2@3 ~@3 bb2@3 ~@4 ab2@3 ~@2",
  BS: "~@4 g2@3 eb2@3 ~@6 f2@3 ~@10 f2@3",
  BT: "[g2@3 ~@3 g2@3 ~@3 ab2@3 ~@4 ab2@3 ~@3 ab2@3 ~@3 ab2@3 ~@3 g2@3 ~@4 g2@3 ~@3 g2@3 ~@3 eb2@3 ~@3 f2@2]/2",
  BU: "~@5 f2@3 ~@3 f2@3 ~@3 f2@3 ~@3 f2@3 ~@4 f2@2", BV: "~@4 eb2@3 ~@3 f2@3 g2@3 ab2@3 ~ ab2@3 ~@3 ab2@3 ab2@3",
  BW: "~@3 ab2@3 bb2@3 ~@3 bb2@3 ~ bb2@3 ~@3 bb2@3 ~@3 b2@3 ~",
  BX: "~@2 bb2@3 ~@4 eb2@3 ~@3 bb2@3 ~@3 eb2@3 ~@3 c3@3 ~@2", BY: "~@2 g2@3 ~@3 ab2@3 ~@9 c2@2 ~@10", BZ: "~@3 c2 ~@12",
  CA: "~@12 c2 ~@3", CB: "[~@10 g2@25 ~@25 c3@2 ~ c3@2 ~@4 c3@2 ~@2 c3@2 ~ c3@2 ~@4 c3@2 ~ c3@2 ~ c3@2 ~@4 c3@2]/3",
  CC: "~@2 c3@2 ~ c3@2 ~@4 c3@2 ~ c3@2 ~ c3@2 ~@4 c3@2 ~@2 c3@2 ~ c3@2",
  CD: "~@4 c3@2 ~ c3@2 ~ c3@2 ~@4 c3@2 ~@2 c3@2 ~ c3@2 ~@4 c3@2 ~",
  CE: "c3@2 ~ c3@2 ~@4 c3@2 ~ c3@2 ~@2 c3@2 ~@4 c3@2 ~ c3@2 ~ c3@2 ~@2",
  CF: "~@2 c3@2 ~ c3@2 ~@2 c3@2 ~@4 c3@2 ~ c3@3 ~@3 c3@3 ~@3 c3@2", CG: "~@5 c3@3 ~@24",
  CH: "[~@28 g3@3 gb3@3 g3@3 gb3@3 ~ g3@3 gb3@3 g3@3 ~@14]/2", CI: "~@14 f3@3 e3@3 f3@3 e3@3 ~ f3@3 e3@2",
  CJ: "~ f3@3 ~@28", CK: "g3@3 gb3@3 g3@3 gb3@3 g3@3 ~ gb3@3 g3@3 ~@10", CL: "~@9 g2 ~@2 g2 ~@3",
  CM: "~@11 f2@2 ~@4 f2@2 ~@13", CN: "~ c2@2 ~@4 e2@2 ~@4 g2@2 ~@5 bb2@2 ~@4 d3@2 ~@4", CO: "~@11 g2 ~@2 g2 ~",
  CP: "~@15 f2@2 ~@4 f2@2 ~@9", CQ: "~@5 c2@2 ~@4 e2@2 ~@4 g2@2 ~@4 bb2@2 ~@5 d3@2", CR: "~@13 g2 ~@2",
  CS: "g2@2 ~@17 f2@2 ~@4 f2@2 ~@5", CT: "~@9 c2@2 ~@4 e2@2 ~@4 g2@2 ~@4 bb2@2 ~@3",
  CU: "~@2 d3@2 ~@4 c3@2 ~@4 bb2@2 ~@4 g2@2 ~@5 f2@2 ~@3", CV: "~ eb2@15 ~@16", CW: "~@9 c3@12 ~ e3@10",
  CX: "~ c3@6 ~@9",
})).s("gm_baritone_sax").gain(0.3)

// bass · tuba
const bass = note(`<
  ~@8 A@22 B@4 C D E@2 F G H@8 I@4 A@8 B@4 C D J@2 K L E@2 F M N O@14 P Q ~ Q ~ Q ~ Q ~ O@6 R S T U V@2 W X Y@2 Z AA
  AB@2 AC AD AE AF AG AH AI AJ@2 AK ~@2 AL AM AN AO AP AQ AR@2 AS AT ~ AU AV AW ~@14 AX AY AZ BA BB@2 BC@2 BD BE BF BG
  BH BI BJ@2 BK BL BM BN BO BP BQ BR BS BT BU BV BW BX BY BZ
>`.pickRestart({
  A: "c2@5 ~@3 c2@5 ~@3 c2@5 ~@3 c2@5 ~@3", B: "g2@5 ~@3 g2@5 ~@3 g2@5 ~@3 g2@5 ~@3",
  C: "g2@5 ~@3 g2@5 ~@3 f2@5 ~@3 f2@5 ~@3", D: "e2@5 ~@3 e2@5 ~@3 d2@5 ~@3 d2@5 ~@3", E: "c2@3 ~", F: "c2 ~ c2 ~",
  G: "c2!3 c3", H: "c3@2 ~@4 g2@2 bb2@2 ~ bb2 ~@2 b2@2", I: "~ c3 ~ c3 ~ c3 ~ c3", J: "[c2@2 ~ g2 ~@2 c2@8 ~@2]/2",
  K: "c2@2 ~ g2 ~@2 eb2 ~", L: "c2@24 g2 gb2 f2 e2 ~ eb2 d2 db2", M: "c2!4", N: "g2@3 g2 g2@2 ~@10",
  O: "c3@2 c3@2 g2@2 g2@2 bb2@2 ~ bb2 ~@2 b2@2", P: "~ g2!3", Q: "f2 f2@2 f2 ~ f2@2 eb2 f2@2 ~@6",
  R: "c3@3 ~@3 g2@3 ~@3 c3@3 ~@4 g2@3 ~@3 c3@3 ~@4", S: "~@18 c2@3 ~@6 c3@3 ~@2",
  T: "~@2 bb2@3 ~@3 g2@3 c2@3 ~@6 c3@3 ~@4 bb2@3 ~@2", U: "~ g2@3 c2@3 ~@6 c3@3 ~@4 bb2@3 ~@3 g2@3 c2@3",
  V: "[~@6 c3@3 ~@3 bb2@3 ~@4 g2@3 f2@3 ~@6 f3@3 ~@3 eb3@3 ~@4 c3@3 f2@3 ~@6 f3@3 ~@3 eb3@2]/2",
  W: "~@5 c3@3 c2@3 ~@6 c3@3 ~@3 bb2@3 ~@4 g2@2", X: "~ c2@3 ~@6 c3@3 ~@3 bb2@3 ~@4 a2@3 ~@6",
  Y: "[g2@2 ~@4 g2@2 ~@17 f2@2 ~@4 f2@2 ~@14 c2@2 ~@4 e2@2 ~@4 g2@2 ~@3]/2", Z: "~ bb2 ~@2 d3 ~@10 c2",
  AA: "~@7 c3@3 ~@3 bb2@3 ~@4 g2@3 c2@3 ~@6",
  AB: "[c3@3 ~@3 bb2@3 ~@3 g2@3 ~ c2@3 ~@6 c3@3 ~@3 bb2@3 ~@3 g2@3 ~ c2@3 ~@6 c3@3 ~@3 bb2@3 ~@3 g2@2]/2",
  AC: "~@2 f2@3 ~@6 f3@3 ~@3 eb3@3 ~@3 c3@3 ~ f2@3 ~@2", AD: "~@4 f3@3 ~@3 eb3@3 ~@3 c3@3 ~ c2@3 ~@6 c3@3",
  AE: "~@3 bb2@3 ~@3 g2@3 c2@3 ~@7 c3@3 ~@3 bb2@3 ~", AF: "~@2 a2@3 ~@7 g2@2 ~@4 g2@2 ~@12",
  AG: "~@5 f2@2 ~@4 f2@2 ~@14 c2@2 ~@3", AH: "~ e2@2 ~@4 g2@2 ~@4 bb2@2 ~@5 d3@2 ~@10", AI: "~@3 c3@4 ~@2 c2@4 ~@19",
  AJ: "[~@21 bb2@3 b2@3 c3@4 c3@4 ~@29]/2", AK: "~@7 bb2@3 b2@3 c3@4 c3@4 ~@11", AL: "~@17 c2@3 ~@7 c3@3 ~@2",
  AM: "~ bb2@3 ~@3 g2@3 c2@3 ~@7 c3@3 ~@3 bb2@3 ~@3", AN: "g2@3 c2@3 ~@6 c3@3 ~@4 bb2@3 ~@3 g2@3 c2@3 ~",
// … 113 more lines